I noticed from
https://github.com/Homebrew/homebrew-core/actions/runs/5751070010 that
we're no longer creating reproducible bottles between macOS and Linux.
All macOS checksums have changed but Linux ones have not. The main
difference between the two platforms is the `gtar` version used so let's
always just use the formula on both platforms.
While we're here, clear up the ordering and comments a little on the
reproducible `tar` arguments so that it's easier to compare with the
reproducible builds archives documentation.
- `HOMEBREW_NO_INSTALL_FROM_API` was passed in a few places
unnecessarily
- https://github.com/Homebrew/actions/pull/393 will change the default
behaviour of setup-homebrew so let's be explicit to speed things up
and avoid changes when it's merged
This will reduce the time it takes for the tap-syntax job
to complete (currently that is the slowest one) and will
allow us to audit casks as well as formulae (casks weren't
getting audited before in CI).
- The 18.04 runners are deprecated and going away in less than a month.
Today was another scheduled brownout from GitHub
(https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/),
and they've been unmarked as required checks in the branch protections
because the images are unavailable and the jobs were failing.
- However, we still need to test that Homebrew works correctly on
non-latest Ubuntu versions so that we can test that we're correctly
using brewed gcc/glibc, hence upgrading to 20.04 which is still old.
This command was being called with the wrong relative path, so it
silently did nothing. Now that `update-reset` errors out from invalid
arguments, we know that running `update-reset` here is not needed.
- Never bother to do `brew cleanup` after `brew install`
- Skip `brew test-bot --only-cleanup-before` in more places it's not
needed
- Move `brew config`/`brew doctor` into the default formula run
(through `brew test-bot --only-setup`)
- Install `buildpulse-test-reporter` rather than letting `brew tests`
do it
- Improve the formatting of the `brew tests` step
- Further shorten the code coverage filenames
- Don't output BuildPulse results upload status unless failed
- Extract update tests into separate tests.
- Make `brew tests --online` run only once in its own job. This job
could be made non-required to fight flakiness.
- Split up the various macOS runs into several steps now that we have
more parallel macOS workers available.
- Cleanup some flaky tests.
- remove all places we check the flag so it's a no-op now
- flip the messaging to refer to `HOMEBREW_NO_INSTALL_FROM_API` where
relevant
- adjust the documentation
The reason the redundant check exists is that we used to have separate core taps for MacOS and Linux but they have been merged. It also means that we don't have to manually fetch `homebrew/core` anymore.