Commit Graph

39 Commits

Author SHA1 Message Date
JP Simard 7155af1981
[CI] Move `oss-check` to use Bazel (#4043)
Which should improve the CI times thanks to Bazel's improved build
caching.
2022-07-26 12:10:06 -04:00
JP Simard d534a30a78
Fix OSSCheck (#3810)
Maybe can fix cases like these: https://github.com/realm/SwiftLint/pull/3803#issuecomment-1008461939
2022-01-21 18:09:59 +00:00
JP Simard aa32742abf
Revert OSSCheck changes for faster debugging 2021-03-03 14:43:37 -05:00
JP Simard 7f7fc03a8f
Fix OSSCheck noise
Try a few things:

1. Sort InclusiveLanguageRule terms since they're a Set and don't have
  deteministic ordering (will definitely help)
2. Fetch remote at the beginning of the script (likely to help)
3. Only fetch remote once (likely to help)
4. Sort branch & master output before diffing (unlikely to help)
5. Change diff filter from `d` to `AMRCU` (no idea if it will help)
2021-03-03 11:19:41 -05:00
Dalton Claybrook d305e03905
Add `inclusive_language` rule (#3243)
Current events have renewed the conversation in our community about the roles of terminology with racist connotations in our software. Many companies and developers are now taking appropriate steps to remove this terminology from their codebases and products. (e.g. [GitHub](https://twitter.com/natfriedman/status/1271253144442253312)) This small rule prevents the use of declarations that contain any of the terms: whitelist, blacklist, master, and slave. It may be appropriate to add more terms to this list now or in the future.
2020-11-07 22:03:08 -05:00
Marcelo Fabri 1ea070dbd5
Remove base path from reported message in oss-check (#3070) 2020-02-03 01:25:30 -08:00
JP Simard 5f66704a1a
Improve compilation time (#2965)
* Improve compilation time

Before this change, `trailingClosure` took 8.6s to type check.
After this change, it takes 31ms.

* Speed up type checking `isDecimal(number:)`

Before: 377ms
After: 2ms

* Speed up type checking testViolationMessageForExpressibleByIntegerLiteral()

Before: 285ms
After: 175ms

* Fix OSSCheck

More than just rules are in `Source/SwiftLintFramework/Rules/`

* Shim XCTUnwrap for Swift 5.0
2019-11-15 11:36:25 -08:00
JP Simard 77e03656a6
[OSSCheck] Only run on changed rules if only rules have changed (#2950) 2019-11-08 14:34:19 -08:00
JP Simard da114c341c
Update Danger to 6.1.0 and fix issues with running on MacStadium (#2945)
And validate that running on PRs from forked repos works.
2019-11-06 14:51:57 -08:00
Marcelo Fabri 956ea6f949 Delete build artifacts before starting a new build 2019-10-08 08:57:15 -07:00
Elliott Williams 2b675c1bb3 Use popen2 in oss-check
Ruby's documentation mentions that `popen3` requires that you flush
stderr to prevent deadlocking:

> You should be careful to avoid deadlocks. Since pipes are fixed length
> buffers, ::popen3(“prog”) {|i, o, e, t| o.read } deadlocks if the
> program generates too much output on stderr. You should read stdout and
> stderr simultaneously (using threads or IO.select). However, if you
> don't need stderr output, you can use ::popen2.
2019-07-18 14:59:42 -07:00
Marcelo Fabri 3b004e1d1e Merge pull request #1804 from marcelofabri/fix-1803
Improve syntactic_sugar message to be type-specific
2017-08-28 00:18:43 +01:00
Marcelo Fabri b635d1ffa8 Escape HTML tags in oss-check 2017-08-27 18:15:17 -03:00
Ornithologist Coder 9a8e50b67f Prints the performance report before other messages
* Makes it easier to review the performance of a change that has hundreds
  of messages.
2017-08-27 20:30:09 +02:00
JP Simard bc9c86a2db
use 'perform' method 2017-07-13 13:36:53 -07:00
JP Simard 2bd8664a58
use the latest HEAD/master of the official SwiftLint repo as 'master'
otherwise, if forks have an out-of-date `master` branch, OSSCheck will be
wildly inaccurate.
2017-07-13 13:34:28 -07:00
JP Simard cdd4bdd1e6
refactor make_directory_structure 2017-07-13 13:33:54 -07:00
JP Simard 3261bb79f0
print newline before command in verbose mode 2017-07-13 13:33:21 -07:00
JP Simard 2974deb68a
apply stylistic fixes to oss-check from rubocop 2017-07-12 15:18:12 -07:00
JP Simard 4b5d00ed34
use merge-base to determine an "effective master commit-ish"
rather than explicitly 'master', which should help minimize noise
when running osscheck on a branch that isn't fully up to speed on
master.
2017-07-12 15:18:12 -07:00
Norio Nomura 1ee43c0d77
Improve OSSCheck
- Use same build directory to `branch` and `master` for incremental building
- Add options:
```terminal.sh-session
$ script/oss-check --help
Usage: oss-check [options]
        --branch BRANCH              compares the performance of BRANCH against 'master'
        --iterations N               iterates lint N times on each repositories
        --skip-clean                 skip cleaning on completion
    -v, --[no-]verbose               Run verbosely
```
2017-05-26 10:57:53 +09:00
JP Simard b7acce37c1
allow specifying the number of OSSCheck iterations as an argument
e.g.: `./script/oss-check 10`
2017-05-25 11:16:57 -07:00
Norio Nomura 568a024449
Use `git-worktree(1)` in `oss-check`
This makes it possible to run `oss-check` even if the repository is not clean.
2017-05-25 12:14:35 +09:00
JP Simard ae54fb7f2c Revert "Merge master before running OSSCheck on branch" 2017-05-07 22:27:48 -07:00
JP Simard b65a40c982
merge master before running OSSCheck on branch 2017-05-04 14:39:05 -07:00
JP Simard f3eac2b64a
revert number of iterations back from 2 to 5
it was set to 2 temporarily to speed up local development
2017-04-06 11:08:59 -07:00
JP Simard 846ac1da2e
completely reorganize source layout of oss-check 2017-04-06 10:52:29 -07:00
JP Simard 0d27bf86d7
warn when a PR changes the exit value 2017-04-06 10:52:29 -07:00
JP Simard 6b819a3318
split up repo setup 2017-04-06 10:52:29 -07:00
JP Simard 44e1294d61
introduce Repo class 2017-04-06 10:52:29 -07:00
JP Simard bda4958d61
simplify & solidify reverting checkout to original branch 2017-04-06 10:52:29 -07:00
JP Simard 9386dd134f
extract working directory to a variable 2017-04-06 10:52:29 -07:00
JP Simard 7a60813670
correct style violations in oss-check script 2017-04-06 10:52:29 -07:00
JP Simard da7712b2b1
small Danger/oss-check improvements 2017-02-03 12:14:10 -08:00
Marcelo Fabri 9ef603ca2f Fix links 2017-02-02 22:21:22 -02:00
Marcelo Fabri 5bfc819656 Fix cleanup
Using `git clean -qdf` removes bundler folder
2017-02-02 22:21:22 -02:00
Marcelo Fabri 92ba3d2297 Always use Xcode reporter on oss-check 2017-02-02 22:21:22 -02:00
Marcelo Fabri 5ce8ed7cd0 Use stderr 2017-02-02 22:21:22 -02:00
Marcelo Fabri ff00262558 Add oss-check script 2017-02-02 22:21:22 -02:00