CI on Github

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

Thank you!

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.