Separate out the slow parts of tests into jobs that can be run in
parallel.
Also:
- general refactoring from YAML linter.
- don't build on `macOS-latest` now that Big Sur is the latest stable
release.
- Use `runner.os` when it improves readability over `matrix.os`.
- This uses the `--update` switch to do both RBI file updates and pruning of
deleted files from `sorbet/files.yaml`. The assumption is that only
this automated task will run this command.
- I was going through the `sorbet/files.yaml` moving various things to
`true`, playing around locally, and happened upon some files that it
was tracking that had been deleted.
- We want to do some automation of new files, but I'm not sure we'd ever
considered the possibility of code being removed. :-D
- This adds a `--prune-files-list` switch and updates the Tapioca GitHub
Actions workflow to use it. Any changes to the `sorbet/files.yaml`
file will be committed as part of the scheduled Tapioca update job.
- Note GitHub Packages specifically in step names
- Use uppercase for Homebrew name/tag (in case it makes a difference)
- Use `--password-stdin` to avoid a warning
- Avoid caching RubyGems in GitHub Actions `tests.yml` to catch this in
future.
- Run `brew doctor` in GitHub Actions `tests.yml` after installing
RubyGems to catch this in future.
- Ignore relevant RubyGems (and fix outdated comments)
- Never auto-`require` RubyGems that aren't vendored.
- Update `bundler/setup.rb`.
- Ensure `spdx.yml` has same fixes as `tapioca.yml`.
- Don't `reset --hard` to ensure that `brew` commands used are those in
the same branch rather than always from `origin/master`
- Don't check for an existing branch but instead force-push to it if
there's any updates.
- Provide sample `brew typecheck` command that can be used.
- In all of the PRs that this Action triggered, the `tapioca-update`
branch was >200 commits behind the latest `master`.
- As per https://github.com/Homebrew/brew/pull/8435#issuecomment-678546024,
we shouldn't rely on the `Homebrew/actions/setup-homebrew` master
(the `origin/master` ref) branch being up to date, so resetting to
`origin/master` was a bad idea.
- A side effect of this is that when we raise PRs to change the Action,
the PRs that it generates will include local commits. But functionally
all we care about is the Action that runs on a schedule.
- ensure we reset to `origin/master` so we only have the commit we care
about in the PR
- ensure we `git add` to include any new files
- don't use `git commit -a` and instead rely only on files added with
`git add`
- Tapioca is a companion gem to Sorbet that generates RBI files for the
Ruby gems in a project.
- Whenever Dependabot updates a gem, Tapioca has to regenerate that gem's
RBI files so that Sorbet can accurately assess the state of the typing
of a codebase.
- We also must regenerate Sorbet's view of
[things defined at runtime](https://sorbet.org/docs/rbi#the-hidden-definition-rbi):
this is what it calls `hidden-definitions`.
- Obviously, this got tedious to do manually. So here's an Action that
runs every three days and raises a PR if there are any changes.
Co-authored-by: Vidushee Amoli <vidushee.amoli@gmail.com>
Co-authored-by: Issy Long <me@issyl0.co.uk>
Co-authored-by: Jonathan Chang <jchang641@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>