- 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.
- This will stop the `Style/Documentation` filepath includes getting out of
sync with what we declare as a public API, thus ensuring that everything is
documented.
- Maybe we could also add a job here to check that _all_ the paths in the
RuboCop config still exist, but that's for another time.
- 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.
We used to need this because the GitHub runner process was running under
Rosetta. GitHub Actions has supported native M1 runners for a few months
now, so I think it's time to remove this.
- use macOS 12 or Ubuntu 22.04 wherever appropriate
- don't append `(Linux)` to job names
- use specific Ubuntu 22.04 and Ubuntu 18.04 jobs
We may want to consider more Ubuntu 18.04 jobs in future, too.
- Change `LINUX_CI_OS_VERSION` from `Ubuntu 16.04` to `Ubuntu 22.04`
- Change `LINUX_GLIBC_CI_VERSION` from `2.23` to `2.35`
- Change `LINUX_GCC_CI_VERSION` from `5.0` to `11.0`
- Change `LINUX_PREFERRED_GCC_FORMULA` from `gcc@5` to `gcc@11`
- Build the Docker image `ghcr.io/homebrew/ubuntu22.04:master`