Skip to content

Commit 1568a7c

Browse files
authored
Added Node 24 to test matrix (#30393)
no ref - add Node 24 to test leg now that sqlite3 is removed from the test matrix
1 parent 33ae1b4 commit 1568a7c

2 files changed

Lines changed: 21 additions & 7 deletions

File tree

.github/workflows/ci.yml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,9 +224,11 @@ jobs:
224224
- 'docker/tb-cli/**'
225225
226226
- name: Define Node test matrix
227+
# Node lines the unit / legacy / acceptance suites must keep passing on.
228+
# test:unit's Nx cache is keyed on `node -v` (nx.json) so each leg runs.
227229
id: node_matrix
228230
run: |
229-
echo 'matrix=["22.23.1"]' >> $GITHUB_OUTPUT
231+
echo 'matrix=["22.23.1", "24.20.0"]' >> $GITHUB_OUTPUT
230232
231233
- name: Start Nx Cloud CI run
232234
run: pnpm nx start-ci-run
@@ -679,6 +681,7 @@ jobs:
679681
needs: [job_setup]
680682
if: needs.job_setup.outputs.is_tag == 'true' || needs.job_setup.outputs.unit_test_projects_str != ''
681683
strategy:
684+
fail-fast: false
682685
matrix:
683686
node: ${{ fromJSON(needs.job_setup.outputs.node_test_matrix) }}
684687
name: Unit tests (Node ${{ matrix.node }})
@@ -778,14 +781,20 @@ jobs:
778781
--health-interval=2s
779782
--health-timeout=5s
780783
--health-retries=60
784+
strategy:
785+
fail-fast: false
786+
matrix:
787+
node: ${{ fromJSON(needs.job_setup.outputs.node_test_matrix) }}
781788
env:
782-
COVERAGE_ENABLED: ${{ needs.job_setup.outputs.coverage_enabled }}
783-
name: Acceptance tests (Node ${{ needs.job_setup.outputs.node_version }}, mysql8)
789+
# Only the primary Node leg is instrumented — the others cover the same
790+
# code, and a second leg would collide on the e2e-coverage artifact name.
791+
COVERAGE_ENABLED: ${{ needs.job_setup.outputs.coverage_enabled == 'true' && matrix.node == needs.job_setup.outputs.node_version }}
792+
name: Acceptance tests (Node ${{ matrix.node }}, mysql8)
784793
steps:
785794
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
786795
- uses: ./.github/actions/setup-node-pnpm
787796
with:
788-
node-version: ${{ needs.job_setup.outputs.node_version }}
797+
node-version: ${{ matrix.node }}
789798
trust-lockfile: 'true'
790799

791800
- name: Set timezone (non-UTC)
@@ -878,14 +887,18 @@ jobs:
878887
--health-interval=10s
879888
--health-timeout=5s
880889
--health-retries=12
881-
name: Legacy tests (Node ${{ needs.job_setup.outputs.node_version }}, mysql8)
890+
strategy:
891+
fail-fast: false
892+
matrix:
893+
node: ${{ fromJSON(needs.job_setup.outputs.node_test_matrix) }}
894+
name: Legacy tests (Node ${{ matrix.node }}, mysql8)
882895
steps:
883896
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
884897
with:
885898
submodules: true
886899
- uses: ./.github/actions/setup-node-pnpm
887900
with:
888-
node-version: ${{ needs.job_setup.outputs.node_version }}
901+
node-version: ${{ matrix.node }}
889902
trust-lockfile: 'true'
890903

891904
- name: Set env vars (MySQL)

nx.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
},
4040
"test:unit": {
4141
"cache": true,
42-
"dependsOn": ["build"]
42+
"dependsOn": ["build"],
43+
"inputs": ["default", "^default", { "runtime": "node -v" }]
4344
},
4445
"test:ci:*": {
4546
"cache": true,

0 commit comments

Comments
 (0)