Refactor actions to make fewer status checks #48919
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This flattens our workflow graph from 8 checks to just 3.
By compacting the lint jobs into a single job inside a single workflow, we maybe lose some readability -- but since the cost to maintain those files is already really low, they are rarely changed, versus the number of checks on each PR makes for a worse experience IMO.
This also means that all of those separate checks can be found on a single page (e.g. here), for better or worse.. navigating the actions UI across multiple workflows and jobs is already strenuous. There is an argument that if one of these steps fails, debugging it there may be difficult, but I've tried to order them in terms of priority of "if this step fails it should fail first".
If any of the
Lint
steps fails, figuring out which one and why may not be as straight-forward, that maybe the only downside here. There are plans to move this workflow entirely to Buildkite at some point, probably after a refactor (rails/buildkite-config#62, where they can go back to being separate "jobs" in that context and all of the important stuff is in a single place.So this is more of an intermediary step to improve the PR page and hopefully make reviewing them and deciding which checks failed matters, more efficient.