CI: Upgrade or replace all deprecated GH Actions #983
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.
Summary of changes
setup-xvfb
action with a directxvfb-run
command (short inline bash script).git-auto-commit-action
with a short inline bash script.Motivation and Context
Context: Node 16 actions are deprecated. See: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
Most of these were old versions of actions which were running on Node 16. Upgraded them to newer versions which run on Node 20 instead.
Also tried to replace
setup-xvfb
action with a directxvfb-run
command, as thesetup-xvfb
action hasn't been updated in a while, its author isn't responding to an issue asking for it to update from Node 16 to Node 20, and GitHub Actions Ubuntu runners includexvfb
out of the box now, something that may not have been true (???) when the action was first created. I dunno. Worth a try. UPDATE: Working.UPDATE: Also replaced
git-auto-commit-action
with a short inline script, avoiding another external dependency. (Bash scripts generally don't expire or bitrot very quickly, so this one should last us for a while!) (This one had an update to run on Node 20 instead of 16, but I'm good with git, and from that vantage point, this seemed like a good thing to take in-house and cut out the external dependency.)Side note: For both of these actions that I made into inline scripts in the workflow .yml files, I studied what the action itself did, and replicated as closely as I thought would be relevant to our use of it. They pass in CI, meaning they are doing what they are supposed to. It just works ™️. So far, at least.
Verification Process
Going to let CI run on this PR! Let's hope this works. Update: CI is passing!
Also tested the
Documentation
workflow on my fork. Worked.FWIW, I reviewed the changelogs of all updated Actions. Didn't see anything too crazy or out-of-place.
Screenshots
Before (lots of deprecation warnings) (click to expand):
After (no deprecation warnings) (click to expand):