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.
Description
This PR updates some of this project's workflows to use newer versions of official reusable actions:
In both cases, the updates should address deprecation notices on the changed workflows.
Future Considerations
There are a few things I opted not to do as part of this PR:
Fixing formatting and indentation in workflow YML files. I ignored this for now as it would introduce a much larger diff and would obscure the meaningful changes.
Migrating from archived actions to maintained replacements. In 2021, GitHub archived two of the actions used by this project:
That's rather bothersome. Both of those actions are generating deprecation warnings and could stop working at some point in the future altogether.
Some ideas:
Transition the "release" workflow to trigger on the creation of a Release rather than on tag creation. This may be done either via the web UI or the CLI (e.g.
gh release create v1.2.3 --generate-notes
). Creating a Release will generate a tag and I think much of the existing "release" workflow can remain the same. That is a process change, though.Replace the use of actions/upload-release-asset with an equivalent using the GitHub CLI. The CLI is available on GitHub-provided runners and can use the REST API to push an asset (documentation). I haven't tried this myself, but the pieces should all be there.
I'd be happy to PR either or both of the above, further document them in an Issue, and/or put together a quick demo repo of the process.