From a04ecb750dc9ac2020d9feddc221e24de0e85400 Mon Sep 17 00:00:00 2001 From: jamaljsr <1356600+jamaljsr@users.noreply.github.com> Date: Mon, 10 Aug 2026 18:43:17 -0500 Subject: [PATCH] ci: run node 24 The frontend job was pinned to node 16, which is old enough that some of the packages patched in this branch refuse to install there. tar and esbuild want node 18 or newer, serialize-javascript wants 20. Node was also only pinned in the frontend job. The backend, proto-compile-check and itest jobs all reference matrix.node_version without declaring it in their matrix, so the expression resolved to an empty string and setup-node fell back to whatever the runner happened to ship. Two of those run `yarn install --frozen-lockfile`, so they need a known version too. Both are fixed by a NODE_VERSION env var, matching how GO_VERSION is already handled. It replaces the matrix entry rather than feeding it, because the env context isn't available inside strategy.matrix. --- .github/workflows/main.yml | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 129705e6..6b7d4df8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,6 +26,11 @@ env: # /dev.Dockerfile GO_VERSION: 1.25.11 + # Only applies to the CI jobs below. The note above covers GO_VERSION alone: + # /Dockerfile and /dev.Dockerfile pin their own Node version for release + # builds, and it does not have to match this one. + NODE_VERSION: 24.x + jobs: ######################## # frontend build checks @@ -36,7 +41,6 @@ jobs: strategy: matrix: - node_version: [ 16.x ] os: [ ubuntu-latest, windows-latest, macOS-latest ] steps: @@ -45,10 +49,10 @@ jobs: with: fetch-depth: 0 - - name: setup nodejs ${{ matrix.node_version }} + - name: setup nodejs ${{ env.NODE_VERSION }} uses: ./.github/actions/setup-node with: - node-version: '${{ matrix.node_version }}' + node-version: '${{ env.NODE_VERSION }}' - name: install dependencies working-directory: ./app @@ -84,10 +88,10 @@ jobs: with: fetch-depth: 0 - - name: setup nodejs ${{ matrix.node_version }} + - name: setup nodejs ${{ env.NODE_VERSION }} uses: ./.github/actions/setup-node with: - node-version: '${{ matrix.node_version }}' + node-version: '${{ env.NODE_VERSION }}' - name: setup go ${{ env.GO_VERSION }} uses: ./.github/actions/setup-go @@ -144,10 +148,10 @@ jobs: with: fetch-depth: 0 - - name: setup nodejs ${{ matrix.node_version }} + - name: setup nodejs ${{ env.NODE_VERSION }} uses: ./.github/actions/setup-node with: - node-version: '${{ matrix.node_version }}' + node-version: '${{ env.NODE_VERSION }}' - name: setup go ${{ env.GO_VERSION }} uses: ./.github/actions/setup-go @@ -324,10 +328,10 @@ jobs: with: fetch-depth: 0 - - name: setup nodejs ${{ matrix.node_version }} + - name: setup nodejs ${{ env.NODE_VERSION }} uses: ./.github/actions/setup-node with: - node-version: '${{ matrix.node_version }}' + node-version: '${{ env.NODE_VERSION }}' - name: setup go ${{ env.GO_VERSION }} uses: ./.github/actions/setup-go