- Turns out we do need this. I lulled us into a false sense of security
by not deleting `sorbet/rbi/hidden-defintions/hidden.rbi` previously.
- If we do delete that file then Sorbet reveals >200 typechecking
issues.
- The docs on moving from `srb rbi` to `tapioca` say that we don't need
`hidden-definitions` anymore, but clearly we do. The blog post goes
into a lot of detail on why `rbi hidden-defintions` exists and the
fact that there's not an analogous command in Tapioca:
https://sorbet.org/blog/2022/07/27/srb-tapioca#whats-happening-with-srb-rbi-hidden-definitions
- Eventually we should try out `tapioca dsl`, since that's said to be a
"partial replacement" for `hidden-definitions`, and removing our
reliance on deprecated commands can only be a good thing?
- This was done with `brew typecheck --update --suggest-typed` which
(as of the previous commit) uses Spoom, yet another gem. I thought I'd
see how well it works. There are no Sorbet errors after these changes!
- 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.
We added the `--all` flag (now renamed to `--eval-all`) for various
commands for this behaviour so let's start deprecating this.
Also, introduce a `HOMEBREW_EVAL_ALL` environment variable to use the
existing, less secure, behaviour by default and avoid passing
`--eval-all` everywhere.
- Add sponsors updating to the existing man/completion/maintainer update workflow
- Hide/deprecated --fail-if-not-changed arguments and make them default behaviour
- Rename man-completions workflow to sponsors-maintainers-man-completions for consistency
- Make output and exit codes more consistent between these updating commands
- Fix maintainers updates not always being committed correctly
Occasionally, a new version of Rust will cause failures in dependents.
See, for example, Homebrew/homebrew-core#107818.
This change will allow us to get a fuller backtrace in CI, which will
also make it easier to submit bug reports upstream.
Without this change, recovering a full backtrace requires installing the
new version of Rust and rebuilding the failing formula from source. Both
these steps can be skipped if we set `RUST_BACKTRACE` when retrying a
failing test.