diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1701c3cfa..083c6e720 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -258,8 +258,10 @@ jobs: container: image: ${{matrix.container}} volumes: - - /node20217:/node20217:rw,rshared - - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }} + - /node20_217:/node20_217:rw,rshared + - /node24_217:/node24_217:rw,rshared + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20_217:/__e/node20:ro,rshared' || ' ' }} + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node24_217:/__e/node24:ro,rshared' || ' ' }} steps: - name: Setup environment @@ -284,12 +286,21 @@ jobs: apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y sudo software-properties-common tzdata wget curl apt-transport-https ca-certificates make build-essential g++ $PYTHON_PACKAGE python3 perl git cmake fi if [[ "${{matrix.container}}" == "ubuntu:1"* ]]; then - # Node 20 doesn't work with Ubuntu 16/18 glibc: https://github.com/actions/checkout/issues/1590 - curl -sL https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 + echo "::group::Update node" + # Install a node version that works with the glibc 2.17 of Ubuntu 16/18: https://github.com/actions/checkout/issues/1590 + curl -sL https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20_217 + # Node 24 triggers a bug in GLIBC 2.17 inside libnss_files.so.2 (around _nss_files_gethostbyname3_r) leading to a SIGSEGV + # Observed in actions/cache + # Use Node 20 instead as long as that works + mkdir -p /node24_217 + cp -r /node20_217/* /node24_217/ + echo -n "Node 20: " && /node20_217/bin/node --version + echo -n "Node 24: " && /node24_217/bin/node --version + echo "::endgroup::" fi fi git config --global pack.threads 0 - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Install packages if: matrix.install @@ -481,7 +492,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v7 - name: Setup Boost shell: cmd @@ -523,7 +534,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v7 - name: Install packages if: matrix.install diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 54cdbce62..e55797672 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -78,13 +78,13 @@ jobs: fi git config --global pack.threads 0 - - uses: actions/checkout@v3 + - uses: actions/checkout@v7 with: # For coverage builds fetch the whole history, else only 1 commit using a 'fake ternary' fetch-depth: ${{ matrix.coverage && '0' || '1' }} - name: Cache ccache - uses: actions/cache@v3 + uses: actions/cache@v6 if: env.B2_USE_CCACHE with: path: ~/.ccache @@ -92,7 +92,7 @@ jobs: restore-keys: ${{matrix.os}}-${{matrix.container}}-${{matrix.compiler}}- - name: Fetch Boost.CI - uses: actions/checkout@v3 + uses: actions/checkout@v7 with: repository: boostorg/boost-ci ref: master @@ -190,10 +190,11 @@ jobs: - name: Upload coverage if: matrix.coverage - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v7 with: + fail_ci_if_error: true disable_search: true - file: coverage.info + files: coverage.info name: Github Actions token: ${{secrets.CODECOV_TOKEN}} verbose: true