Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub Actions Node 16 and Artifacts deprecations #261

Closed
4 tasks done
ptheywood opened this issue Apr 29, 2024 · 0 comments · Fixed by #262
Closed
4 tasks done

GitHub Actions Node 16 and Artifacts deprecations #261

ptheywood opened this issue Apr 29, 2024 · 0 comments · Fixed by #262

Comments

@ptheywood
Copy link
Contributor

ptheywood commented Apr 29, 2024

Node.js 16 GitHub Actions are deprecated

Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

And v1, 2 and v3 of artifact actions (upload-artifact and download-artifact) are independenlty deprecated:

The following artifacts were uploaded using a version of actions/upload-artifact that is scheduled for deprecation: "coverage-info".
Please update your workflow to use v4 of the artifact actions.
Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/

From November 30, 2024, v1-3 of actions/upload-artifact and actions/download-artifact will stop working. There are also breaking changes in the upgrade related to using the same name for multiple artifacts in a single workflow, but that does not appear to effect the current workflows.


The full list of actions used in chaste as of f2ff7ee is:

$ grep -rni "uses:" .github/ | cut -d: -f4 | sort | uniq
 actions/checkout@v1
 actions/checkout@v3
 actions/checkout@v4
 actions/download-artifact@v3
 actions/setup-python@v4
 actions/upload-artifact@v3
 docker/build-push-action@v5
 docker/login-action@v3
 docker/metadata-action@v5
 docker/setup-buildx-action@v3
 docker/setup-qemu-action@v3

Some of these are already nodejs 20 compatible actions(checkout@v4, docker/*), others are not. Workflow runs have warnings emitted for old versions, which is probably the simplest (but manual) way to check which are valid.

  • actions/checkout
  • actions/setup-python
  • actions/upload-artifact
  • actions/download-artifact

However, when attempting to upgrade actions in a separate repository I encountered isses where Node.js 20 actions are not compatible with older linux distributions in containers, due to the required glibc version.

I.e. checkout@v4 and upload-artifcat@v4 are not compatible with Centos7-based containers (i.e. for Manylinux2014 wheel production) or ubuntu 18.04 containers.

This does not appear to currently be an issue for Chaste, subject to the OS on self-hosted-docker and self-hosted-np3, as all the containers used on CI are jammy based, and
pychaste is distributed via conda-forge, not as binary wheels from pip/pypi.

$ grep -rni "runs-on:" .github/ | cut -d: -f4 | sort | uniq
 ${{ matrix.os }}
 macos-latest
 self-hosted-docker
 self-hosted-np3
 ubuntu-20.04
 ubuntu-22.04
 ubuntu-latest
$ grep -rni "chaste/runner" .github/ | cut -d: -f 4- | sort | uniq
 chaste/runner:jammy
 chaste/runner:jammy.portability-01
 chaste/runner:jammy.portability-02
 chaste/runner:jammy.portability-03
 chaste/runner:jammy.portability-04
 chaste/runner:jammy.portability-05
 chaste/runner:jammy.portability-06
 chaste/runner:oldest-boost
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants