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

CI improvements and workarounds #750

Merged

Conversation

striezel
Copy link
Contributor

@striezel striezel commented Jul 4, 2024

Description

This pull request attempts to fix two issues with the CI jobs:

Failure of container jobs

Node.js 20 is not supported in older containers like ubuntu:18.04, but GitHub Actions nowawadays forces the use of Node.js 20, even if the action itself still specified Node.js 16 as the version to use. The result is that e.g. actions/checkout@v3 fails in the containers, although it should not (because v3 is still specified Node.js 16). See https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ for more information on that forced Node.js version. Fortunately, there still is a workaround to restore the old behaviour, and that is to set a environment variable to allow older Node.js to be used in those actions, and that is what the first commit does.

However, this workaround may only work for a limited time, because Node.js 16 will most likely be removed in October 2024. Then we may have to figure out a different way to test older compilers.

macOS 11 no longer available

The runner image for macOS 11 has been removed on 2024-06-28. See https://github.blog/changelog/2024-05-20-actions-upcoming-changes-to-github-hosted-macos-runners/ for more information on that.

So the easiest fix is probably just to move to the next newest version of macOS that is still avaiable for GHA, and that is macOS 12.

References

Tasklist

  • Ensure all CI builds pass
  • Review and approve

Node.js 20 is not supported in older containers like ubuntu:18.04,
but GitHub Actions nowawadays forces the use of Node.js 20, even
if the action itself still specified Node.js 16 as the version to
use. The result is that e.g. `actions/checkout@v3` fails in the
containers, although it should not (because v3 is still specified
Node.js 16).

See <https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/>
for more information on that forced Node.js version. Fortunately,
there still is a workaround to restore the old behaviour, and
that is to set a environment variable to allow older Node.js to
be used in those actions, and that is what this change does.
The runner image for macOS 11 has been removed on 2024-06-28. See
<https://github.blog/changelog/2024-05-20-actions-upcoming-changes-to-github-hosted-macos-runners/>
for more information on that.

So the easiest fix is probably just to move to the next newest
version of macOS that is still avaiable for GHA.
Copy link
Member

@mloskot mloskot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much @striezel !

@mloskot mloskot merged commit 67f021a into boostorg:develop Jul 4, 2024
18 checks passed
@striezel striezel deleted the ci-improvements-and-workarounds branch July 4, 2024 23:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants