Skip to content

Commit

Permalink
ci: node20 actions
Browse files Browse the repository at this point in the history
  • Loading branch information
alandefreitas committed Jul 4, 2024
1 parent 4a5bb08 commit 268825f
Showing 1 changed file with 37 additions and 22 deletions.
59 changes: 37 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,24 @@ jobs:
matrix: ${{ steps.cpp-matrix.outputs.matrix }}
steps:
- name: Generate Test Matrix
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
id: cpp-matrix
with:
compilers: |
gcc >=4.8
clang >=3.8 <18
clang >=3.8
msvc >=14.20
apple-clang *
mingw *
clang-cl *
standards: '>=11'
latest-factors: |
gcc Coverage UBSan
gcc Coverage ASan+UBSan
clang
factors: |
gcc ASan Shared No-Threads
gcc Shared No-Threads
msvc Shared x86
clang Time-Trace Fuzz ASan+UBSan IntegerSan
clang ASan UBSan IntegerSan Time-Trace Fuzz
mingw Shared
trace-commands: true

Expand All @@ -90,25 +91,39 @@ jobs:
timeout-minutes: 120

steps:
# GitHub Actions no longer support older containers.
# The workaround is to install our own Node.js for the actions.
- name: Patch Node
# The containers that need Node.js 20 will have volumes set up so that
# the Node.js 20 installation can go there.
if: ${{ matrix.container.volumes }}
run: |
set -x
apt-get update
apt-get install -y curl xz-utils
curl -LO https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
ldd /__e/node20/bin/node
- name: Clone Boost.URL
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup C++
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
id: setup-cpp
with:
compiler: ${{ matrix.compiler }}
version: ${{ (matrix.subrange-policy == 'one-per-major' && matrix.major) || matrix.version }}
version: ${{ matrix.version }}

- name: Install packages
if: matrix.install != ''
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
id: package-install
with:
apt-get: ${{ matrix.install }}

- name: Clone Boost
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
id: boost-clone
with:
branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }}
Expand Down Expand Up @@ -166,7 +181,7 @@ jobs:
- name: Fuzz corpus
if: matrix.fuzz
uses: actions/cache@v3.3.1
uses: actions/cache@v4
id: cache-corpus
with:
path: ${{ steps.patch.outputs.workspace_root }}/corpus.tar
Expand All @@ -176,7 +191,7 @@ jobs:
corpus-
- name: CMake Workflow
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
if: matrix.is-no-factor-intermediary != 'true'
with:
source-dir: ../boost-root
Expand All @@ -196,7 +211,7 @@ jobs:
trace-commands: true

- name: CMake Integration Workflow
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
if: matrix.is-no-factor-intermediary != 'true'
with:
source-dir: ../boost-root/libs/${{ steps.patch.outputs.module }}/test/cmake_test
Expand All @@ -212,7 +227,7 @@ jobs:
trace-commands: true

- name: CMake Root Workflow
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
if: matrix.is-no-factor-intermediary != 'true'
with:
source-dir: .
Expand All @@ -229,7 +244,7 @@ jobs:
trace-commands: true

- name: B2 Workflow
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
env:
# Set flags via B2 options exclusively
CFLAGS: ''
Expand Down Expand Up @@ -257,7 +272,7 @@ jobs:
warnings-as-errors: ${{ matrix.is-latest }}

- name: FlameGraph
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
if: matrix.time-trace
with:
source-dir: ../boost-root/libs/url
Expand Down Expand Up @@ -322,13 +337,13 @@ jobs:

steps:
- name: Clone Boost.URL
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Avoid the common API rate limit exceeded error in boostorg by including 100 latest commits in any case
fetch-depth: 100

- name: Changelog
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
with:
thank-non-regular: ${{ startsWith(github.ref, 'refs/tags/') }}
github-token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -342,14 +357,14 @@ jobs:
runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)['ubuntu-latest'] }}
steps:
- name: Clone Boost.URL
uses: actions/checkout@v3
uses: actions/checkout@v4

- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 18

- name: Setup C++
uses: alandefreitas/cpp-actions/[email protected].2
uses: alandefreitas/cpp-actions/[email protected].3
id: setup-cpp
with:
compiler: clang
Expand All @@ -361,7 +376,7 @@ jobs:
bash ./build_antora.sh
- name: Create Antora Docs Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: antora-docs
path: doc/build/site
Expand Down

0 comments on commit 268825f

Please sign in to comment.