ci: move workflow actions off the deprecated Node.js 20 runtime GitHub is deprecating the Node 20 actions runtime. Bump every action that runs on (or internally invokes) Node 20 to a Node 24 release: - actions/checkout v4 -> v5 - actions/deploy-pages v4 -> v5 - actions/upload-pages-artifact v3 -> v5 (now pulls upload-artifact v7) threeal/cmake-action has no Node 24 release yet (only an unreleased main; upstream issue threeal/cmake-action#883), so replace its three uses with the equivalent raw cmake invocations already used by the combos/mbedtls jobs, dropping the dependency entirely. Left unchanged (not on Node 20): github/codeql-action@v4 (already node24), codecov/codecov-action@v5.1.2 and ConorMacBride/install-package@v1 (both pure-shell composite actions with no Node sub-actions). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Ben Collins <bcollins@libjwt.io>
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 1f6a027..29f0f2e 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml
@@ -26,39 +26,28 @@ build-macos: runs-on: macos-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ConorMacBride/install-package@v1 with: brew: gnutls openssl@3 jansson pkgconf cmake check curl bats-core jq - name: Build and Test - uses: threeal/cmake-action@v2.1.0 - with: - options: - WITH_LIBCURL=YES - build-args: | - -- - all - check + run: | + cmake -B build -DWITH_LIBCURL=YES + cmake --build build -- all check build-linux: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ConorMacBride/install-package@v1 with: apt: gnutls-dev libssl-dev libjansson-dev pkg-config check lcov valgrind libcurl4-openssl-dev bats jq - name: Build, Test, and Coverage - uses: threeal/cmake-action@v2.1.0 - with: - options: | - ENABLE_COVERAGE=YES - WITH_LIBCURL=YES - build-args: | - -- - all - check-code-coverage + run: | + cmake -B build -DENABLE_COVERAGE=YES -DWITH_LIBCURL=YES + cmake --build build -- all check-code-coverage - uses: codecov/codecov-action@v5.1.2 with: @@ -92,7 +81,7 @@ - { name: "GnuTLS+OpenSSL", flags: "-DWITH_OPENSSL=ON -DWITH_GNUTLS=ON -DWITH_MBEDTLS=OFF" } - { name: "MbedTLS+GnuTLS+OpenSSL", flags: "-DWITH_OPENSSL=ON -DWITH_GNUTLS=ON -DWITH_MBEDTLS=ON" } steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install dependencies run: | apt-get update @@ -113,21 +102,15 @@ build-linux-json-c: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ConorMacBride/install-package@v1 with: apt: gnutls-dev libssl-dev libjson-c-dev pkg-config check libcurl4-openssl-dev bats jq - name: Build and Test with json-c - uses: threeal/cmake-action@v2.1.0 - with: - options: | - WITH_JSON_C=YES - WITH_LIBCURL=YES - build-args: | - -- - all - check + run: | + cmake -B build -DWITH_JSON_C=YES -DWITH_LIBCURL=YES + cmake --build build -- all check # MbedTLS requires >= 3.6.0, which Ubuntu does not package (it ships 2.28). # Debian forky provides mbedtls 3.6.x, so run the MbedTLS matrix in a forky @@ -138,7 +121,7 @@ container: image: debian:forky steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install dependencies run: | apt-get update
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 8e85b8f..664424f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml
@@ -57,7 +57,7 @@ # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 # Add any setup steps before running the `github/codeql-action/init` action. # This includes steps like installing compilers or runtimes (`actions/setup-node`
diff --git a/.github/workflows/deploys-docs.yml b/.github/workflows/deploys-docs.yml index a005fc6..0efd021 100644 --- a/.github/workflows/deploys-docs.yml +++ b/.github/workflows/deploys-docs.yml
@@ -19,7 +19,7 @@ contents: read runs-on: macos-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-tags: true fetch-depth: 0 @@ -50,7 +50,7 @@ - name: Upload pages id: deployment - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v5 with: path: gh-pages/ @@ -67,4 +67,4 @@ steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@v5