boostorg / gil

Boost.GIL - Generic Image Library | Requires C++14 since Boost 1.80
https://boostorg.github.io/gil
Boost Software License 1.0
178 stars 164 forks source link

CI improvements and workarounds #750

Closed striezel closed 2 months ago

striezel commented 2 months ago

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