Skip to content

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

striezel added 2 commits July 4, 2024 23:23
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
@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