- 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.
The previous refactorings broke the conflict check.
Go back to the initially proposed syntax to fill the hashes/arrays,
which is more readable, and which works (the proc syntax does not seem to work for our purpose here)
Remove space before the error message, else only the first line of the output has 2 spaces
and this looks weird