I get the following warnings when running a CI job on Github:
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@4d4ae6ae148a43d0fd1eda1800170683e9882738, pyTooling/Actions/with-post-step@adef08d3bdef092282614f3b683897cefae82ee3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Any idea how to fix this?
You might consider setting up Dependabot to automatically bump the versions of actions that you use.
For example, you could create a file in your repo named .github/dependabot.yml
with the following contents:
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
open-pull-requests-limit: 99
labels:
- "dependencies"
- "github-actions"
3 Likes
You’re not alone. See this thread.
Thanks for sharing dependabot.yml
.
Two questions:
- are you sure it should go into the folder
.github
and not in the folder .github/workflows
?
- are you sure what you posted is complete? It does seam to be a valid workflow file, it is missing for example the tag
on
…
1 Like
Yes. Per the GitHub docs:
You must store this file in the .github
directory of your repository in the default branch.
Source: Configuration options for the dependabot.yml file - GitHub Docs
The dependabot.yml
file is not a workflow file; it has a separate syntax.
1 Like
I added dependabot, but I still get the same warnings:
I think the remaining steps are out of your hands now.
We need to update the versions of external actions used in the julia-actions/cache
action; specifically, we need to update the versions of actions/cache
and pyTooling/Actions
. Once we’ve done that, we’ll release a new version of julia-actions/cache
.
Once the new release of julia-actions/cache
has been been made, you should automatically receive a Dependabot PR the next time that Dependabot runs. You can either wait for the next scheduled Dependabot run, or you can manually trigger Dependabot on your repo by following these instructions (specifically the bullet point that mentions “version updates” and the “Insights tab”).
1 Like
In the CI.yml file in one of your repos, you are using both julia-actions/cache@v1 and actions/cache@v4. If you switch to only using actions/cache@v4, that will remove the Node.js 16 deprecation warnings.
This seems to be a reasonably common choice, for example in Symbolics and SciMLBase. actions/cache doesn’t appear to cache as much as julia-actions/cache, so it may be better in terms of energy/bandwidth to switch back to julia-actions/cache after it is updated or live with the deprecation warnings in the meantime.
I tried out the above here and after setting ignore-no-cache: true
for julia-actions/julia-buildpkg@v1
there are no more CI warnings.