2272 Commits

Author SHA1 Message Date
Misty De Meo
04c8e896a5
edit: enable Sublime Text project view 2021-08-01 15:36:48 -07:00
Carlo Cabrera
1d5bc01f4e
Merge pull request #11734 from carlocab/deprecate-autosquash
dev-cmd/pr-publish: pass `--autosquash` by default
2021-07-20 19:47:01 +08:00
Adrian Ho
a14d8924de extract: ignore syntax errors during load 2021-07-20 09:57:04 +08:00
Carlo Cabrera
ae788550f9
Show replacement command in odeprecated
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2021-07-20 09:39:51 +08:00
Carlo Cabrera
9370c7cca7
Fix logic error in pr-automerge
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2021-07-20 09:28:38 +08:00
Carlo Cabrera
654d10d6d3
Fix more typos
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
2021-07-19 09:43:08 +08:00
Carlo Cabrera
171859d3ad
Fix typos
Co-authored-by: Dawid Dziurla <dawidd0811@gmail.com>
2021-07-18 15:54:52 +08:00
Carlo Cabrera
3325b79726
dev-cmd/pr-automerge: deprecate --autosquash 2021-07-18 15:36:19 +08:00
Carlo Cabrera
080bd8bd4a
dev-cmd/pr-publish: pass --autosquash by default
It's too easy to forget to, and the consequences of forgetting to pass
`--autosquash` are worse (i.e. almost always permanent) than forgetting
to pass `--no-autosquash` (i.e. just do `pr-publish --no-autosquash`
when your command fails).

See the discussion at Homebrew/homebrew-core#80717.
2021-07-18 05:33:35 +08:00
Mike McQuaid
82c5756690
dev-cmd/bottle: use native Ruby.
Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
2021-07-14 11:45:03 +01:00
Mike McQuaid
721ed8542b
dev-cmd/bottle: fixup macOS symlink permissions.
These can be changed on macOS but not on Linux so we need to make them
consistent in both places for `all:` bottles to have consistent
checksums.

I investigated adding to `cleaner.rb` to fix these symlink permissions
on installation but it seems it already happens by default when
extracting so there's no need.
2021-07-14 10:31:25 +01:00
Issy Long
6ce59fef8b
dev-cmd/typecheck: error-white-list renamed to isolate-error-code
- It was renamed in
  4ea6842988
  which is included in the ancient version we're using.
2021-07-10 00:30:08 +01:00
Nanda H Krishna
6bea9b4202
brew pr-pull: no bottles for CI-no-bottles PRs 2021-07-08 13:51:44 +05:30
Dawid Dziurla
c676aee842
dispatch-build-bottle: rename --wheezy to --linux-wheezy 2021-07-05 18:24:43 +02:00
Mike McQuaid
d490e2a9a7
Fix BuildPulse handling
- be more verbose with output to be clear when we're using/submitting to
  BuildPulse
- remove the duplicate BuildPulse submission step
2021-06-30 09:20:56 +01:00
Mike McQuaid
a4c2e0e1b3
Tweak BuildPulse/rspec-retry logic
BuildPulse is trying to find flaky tests for us but, given the previous
model of using `rspec-retry`, it would rarely find them. Instead, let's
try to always rerun `brew tests` multiple times, report to BuildPulse
each time (by moving the reporting logic into `brew tests`) and disable
`rspec-retry` when using BuildPulse.

While we're here, let's enable `rspec-retry` locally so we don't have
flaky tests biting maintainers/contributors there.
2021-06-29 12:43:47 +01:00
Dawid Dziurla
7971411372
dispatch-build-bottle: support self-hosted Linux and unified workflow 2021-06-25 21:34:32 +02:00
Alexander Bayandin
27772ab57a
typecheck: do not generate RBI file for did_you_mean 2021-06-24 15:45:03 +01:00
Mike McQuaid
41803ebf93
Merge pull request #11578 from jasonrudolph/flaky-test-detection
Automatically detect and track flaky tests
2021-06-23 11:00:38 +01:00
Jason Rudolph
e163eb8650
Enhance test suite to emit JUnit XML test reports
In preparation for detecting flaky tests with BuildPulse, this commit
sets up the rspec_junit_formatter gem to output JUnit XML reports of the
test suite, which is the format used by BuildPulse and various other
tooling that interprets test results.

Because the test suite uses the parallel_tests gem, this commit
incorporates some related changes to make all the parallel_tests gem and
the rspec_junit_formatter gem to cooperate with each other.

rspec_junit_formatter writes everything to a single XML file. That works
fine when there's only one process writing to the file. By default,
whatever process finishes last will write to the file and clobber the
output of all the other processes that wrote to the file. 🙈

To prevent this issue, the parallel_tests wiki recommends adding a
`.rspec_parallel` file to specify its RSpec options
(https://github.com/grosser/parallel_tests/wiki#with-rspec_junit_formatter----by-jgarber),
then the project can specify different files for each process to write
to like so:

  --format RspecJunitFormatter
  --out tmp/rspec<%= ENV['TEST_ENV_NUMBER'] %>.xml

However, prior to this commit, the Homebrew/brew test suite specified
its RSpec options via the command line. Unfortunately though, there's no
way (AFAICT) to set the equivalent of these options via the command
line:

  --format RspecJunitFormatter
  --out tmp/rspec<%= ENV['TEST_ENV_NUMBER'] %>.xml

So, we need to use a `.rspec_parallel` file to specify these options ☝️.

However, it appears that RSpec allows you to specify formatters _either_
in an options file (like `.rspec_parallel`) _or_ via command-line args.
But if you specify any formatters via command-line args, then all
formatters in the options file are ignored.  (I suspect that's somehow
related to this bit of code in rspec-core:
https://github.com/rspec/rspec-core/blob/v3.10.0/lib/rspec/core/configuration_options.rb#L64.)

With that in mind, in order to have the RspecJunitFormatter configured
 in `.rspec_parallel`, we need to move the other formatters into
 `.rpsec_parallel` as well, instead of passing them as command-line
 args. Therefore, this commit moves all the formatters into a
 `.rspec_parallel` file.
2021-06-21 13:14:18 -04:00
Mike McQuaid
08c96df947
release_notes: refactor/cleanup.
This was failing for me locally so I've made some fixes:
- remove the `markdown` flag (as it's the only path now)
- refactor the generation to not use intermediate variables
- discard more weird cases rather than erroring
- exclude @Homebrew changes (e.g. from bots) because we don't care about
  these in the release notes
2021-06-21 14:25:01 +01:00
Mike McQuaid
30a65342e8
Deprecate, disable, delete code for Homebrew 3.2.0
Do the usual deprecation, disable, delete dance for Homebrew 3.2.0.
2021-06-17 11:34:32 +01:00
Bo Anderson
a06d136d2c
Move Sorbet gems into an optional group 2021-06-11 08:10:30 +01:00
Mike McQuaid
d69f1a317b
Merge pull request #11507 from ncruces/patch-1
brew tap-new: tests.yml workflow fails with casks
2021-06-10 11:46:48 +01:00
Nuno Cruces
7db528163c brew audit: fails on Linux if tap has any casks
Running `brew audit --tap=[TAP]` fails on Linux (including GitHub Actions CI) if the tap has any caksks.
2021-06-09 19:13:39 +01:00
Nuno Cruces
9740510650 Revert "brew tap-new: tests.yml workflow fails with casks"
This reverts commit 20d59effd6a1c3f6268284a6735c562dfe428821.
2021-06-09 19:11:42 +01:00
Bo Anderson
9938621f23
Merge pull request #11470 from Bo98/unbottled-arch
dev-cmd/unbottled: fix arch requirement handling
2021-06-09 14:01:06 +01:00
Rylan Polster
08b44afcdf
cli/parser: allow options to be hidden 2021-06-08 22:02:32 -04:00
Nuno Cruces
20d59effd6
brew tap-new: tests.yml workflow fails with casks
Running `brew test-bot --only-tap-syntax` fails on `ubuntu-latest` if any casks are added later to the tap, since casks are macOS only.
2021-06-08 13:09:27 +01:00
Nanda H Krishna
99702b2475
Merge pull request #11497 from nandahkrishna/remove-publish-flag
`brew pr-{pull,upload}`: remove `--no-publish` flag
2021-06-08 17:33:22 +05:30
Mike McQuaid
c4d69dd2e9
Revert "fix(vendor-gems): redirect bundler stdout to stderr" 2021-06-07 14:51:07 +01:00
Nanda H Krishna
b607fb0712
brew pr-{pull,upload}: remove --no-publish flag
The `--no-publish` flag isn't used anywhere since we removed all the
Bintray code. Also, the `--no-upload` flag used in `pr-pull` doesn't
apply the bottle commit, so its description has been modified.
2021-06-07 15:13:29 +05:30
Gibson Fahnestock
07d571bebc
fix(vendor-gems): redirect bundler stdout to stderr
When running brew commands and interpreting the output, e.g. running
`brew livecheck --json`, it's necessary to stop other programs Homebrew
happens to execute from writing logging output to stdout. Most programs
don't do this, but `bundle install` does seem to.

To reproduce the issue you can run:

```shell
git -C "$(brew --prefix)" clean -ffdx Library/Homebrew/vendor
stdout=$(HOMEBREW_FORCE_VENDOR_RUBY=1 brew livecheck --newer-only --json --cask $(brew --repo homebrew/cask)/Casks/grid.rb)
echo "^^^ was stderr, >>> is stdout: $stdout"
```

If you run it without this change it will print a bunch of output like
this to the stdout before printing out the livecheck JSON output:

```text
Using bundler 1.17.3
Fetching byebug 11.1.3
Fetching coderay 1.1.3
Installing byebug 11.1.3 with native extensions
Installing coderay 1.1.3
Fetching colorize 0.8.1
Installing colorize 0.8.1

[
  # Contents of the JSON block.
]
```

With this change the stdout from `bundle install` will be redirected to
brew's stderr, meaning only the JSON goes to stdout, and the rest goes
to stderr.
2021-06-03 11:18:23 +01:00
Rylan Polster
023063d6a2
bottle: calculate rebuild correctly when removing bottle :unneeded 2021-06-01 11:39:07 -04:00
Bo Anderson
984226d5b5
dev-cmd/unbottled: fix arch requirement handling 2021-05-31 15:24:20 +01:00
Bo Anderson
7ae9cc3467
Merge pull request #11440 from scpeters/extract_downcased_version
extract: use downcased version in filename
2021-05-27 15:07:56 +01:00
Rylan Polster
d0f5a0832e
Merge pull request #11397 from cnnrmnn/add-link-head
Add `brew link --HEAD`
2021-05-26 11:46:58 -04:00
Steve Peters
2655014951
extract: use downcased version in filename
Formula filenames are required to be lowercase, so the
extract command should downcase version before
using it to construct the filename. I noticed this while
extracting tbb@2020, which has version 2020_U3
and resulted in tbb@2020_U3.rb
2021-05-25 23:20:15 -07:00
Nanda H Krishna
ba17e2b8c1
dev-cmd/update-maintainers: fix require
Use require "dev-cmd/generate-man-completions" instead of require "dev-cmd/man".
2021-05-22 05:57:19 +05:30
Connor Mann
2bfdbc6b39 Rename missed to_keg 2021-05-19 12:59:53 -04:00
Mike McQuaid
2bd71ffb30
/dev-cmd/pr-publish: tweak wording.
Co-authored-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
2021-05-19 11:36:59 +01:00
WingLim
ddcb0519b6 feat: add branch param 2021-05-19 18:06:21 +08:00
Connor Mann
d46881c5e2 Rename to_kegs to to_keg 2021-05-18 09:52:19 -04:00
Rylan Polster
7c68b1738b
Merge pull request #11332 from Rylan12/relocate-paths-at-start
keg_relocate: only replace matches at the start of a path
2021-05-13 12:19:06 -04:00
Rylan Polster
4457dc904b
Cleanup using suggestions from code review 2021-05-13 11:02:39 -04:00
Bo Anderson
6d31408606
dev-cmd/bottle: make gzip creation consistent across platforms 2021-05-12 14:21:38 +01:00
Mike McQuaid
b914411ac8
Delete Bintray code
Remove all code related to Bintray. It no longer works so there's no
point keeping it around.

Some of this could arguably be deprecated/disabled first/instead but:
I'm not sure I see the sense in keeping stuff around that's known to be
broken.
2021-05-12 13:37:18 +01:00
Rylan Polster
5f781770b4
Extract Keg::text_matches_in_file from bottle command 2021-05-11 14:26:14 -04:00
Rylan Polster
fe7f80f647
Refactor out and correctly create path regex 2021-05-11 14:26:14 -04:00
Rylan Polster
fd3730a531
bottle: allow links to pkgconfig directory in HOMEBREW_REPOSITORY 2021-05-11 14:26:14 -04:00