Boost logo

Boost :

From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2024-08-27 17:39:56


On 8/27/24 20:10, Jeff Trull via Boost wrote:
> Hi folks,
>
> While reviewing the Modular Boost changes for Wave I noticed that our CI is
> now failing - and we're not alone in this.
> It looks like the version of glibc in some of the old Ubuntu containers,
> which are required to compile against old versions of gcc,
> is incompatible with the Node executable that runs actions/checkout_at_v2 (and
> 3 and 4). You might see errors like this:
>
> /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version
> `GLIBC_2.28' not found (required by /__e/node20/bin/node)
>
> The Github blog discusses the change here
> <https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/>
>
> At least one brave pioneer, Andrey Semashev, has made updates to make CI
> green again in a handful of libraries, but I haven't seen
> it discussed on the list. Is there a fix other than "rewrite using manual
> checkout"?
>
> I managed to implement the workaround described in the blog post by adding
> these lines close to the top of ci.yml:
>
> env:
> ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
>
> Though it seems unwise to rely on in the long run.

It's been a long standing problem and was reported here:

https://github.com/actions/checkout/issues/1590

In that issue, you can see ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION is
not working for some people, and it is expected that it will stop
working completely at some point.

The only solution I know of is to stop using actions/checkout (or
anything actions/* really). As a bonus, this will also relieve you from
the deprecation warnings that appear in the CI whenever GitHub decides
to switch to a newer Node version.

Alternatively, you could try installing an older compiler to a newer
Ubuntu that is compatible with actions/checkout, and configure an
environment where the Boost build is using that older compiler. But that
may be more problematic if the older compiler packages are not available
for the newer Ubuntu. And you'd still depend on the actions life cycle.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk