@@ -35,13 +35,13 @@ jobs:
3535 actions : write
3636 checks : write
3737 pull-requests : write
38- name : Build amd64
38+ name : Build amd64 and arm64
3939 runs-on : ${{ matrix.runner }}
4040 strategy :
4141 fail-fast : false
4242 matrix :
4343 node : ["18.x", "20.x", "22.x", "23.x"]
44- runner : ["windows-latest", "ubuntu-latest", "macos-latest"]
44+ runner : ["windows-latest", "ubuntu-latest", "ubuntu-24.04-arm", " macos-latest"]
4545 steps :
4646 - uses : actions/checkout@v4
4747 - uses : actions/setup-node@v4
@@ -56,24 +56,24 @@ jobs:
5656 name: Install npm dependencies
5757 - run : npm run lint .
5858 name : Lint
59- if : matrix.runner == 'ubuntu-latest'
59+ if : startsWith( matrix.runner, 'ubuntu')
6060 - run : npm run typecheck
6161 name : Type check
62- if : matrix.runner == 'ubuntu-latest'
62+ if : startsWith( matrix.runner, 'ubuntu')
6363 - run : |
6464 set -euo pipefail
6565 sudo apt-get update
6666 sudo apt-get install -y libnss3
6767 name: Install OS dependencies
68- if: matrix.runner == 'ubuntu-latest'
68+ if: startsWith( matrix.runner, 'ubuntu')
6969 - run : ./test-driver.sh
7070 name : Verify install
7171 shell : bash
7272 - run : npm run test:ci
7373 name : Run tests
7474 continue-on-error : true
7575 - name : Publish Report
76- uses : turing85/publish-report@v1
76+ uses : turing85/publish-report@v2
7777 if : ${{ always() }}
7878 with :
7979 cancel-workflow-on-error : false
@@ -96,57 +96,13 @@ jobs:
9696 report-path : junit.xml
9797 report-reporter : jest-junit
9898
99- build_arm64 :
100- name : Build arm64
101- runs-on : ubuntu-latest
102- strategy :
103- fail-fast : false
104- matrix :
105- node : ["20", "22", "23"]
106- steps :
107- - uses : actions/checkout@v4
108- - uses : uraimo/run-on-arch-action@v2.8.1
109- name : Verify install
110- id : build
111- with :
112- arch : aarch64
113- distro : ubuntu22.04
114- env : | # this is just so we can cache each version
115- GITHUB_WORKFLOW: ${{ github.workflow }}-${{ github.job }}-${{ matrix.node }}
116- dockerRunArgs : |
117- --volume "$PWD:/app"
118- githubToken : ${{ github.token }}
119- install : |
120- set -euo pipefail
121- apt-get update
122- apt-get -y install xz-utils curl libnss3
123- curl -fsSL --output sha https://nodejs.org/dist/latest-v${{ matrix.node }}.x/SHASUMS256.txt
124- FULL_FILE=`grep 'node-v${{ matrix.node }}.*-linux-arm64.tar.gz' sha | tr -s ' ' | cut -d' ' -f2`
125- NODE_VERSION=`echo $FULL_FILE | grep --color=never -Eo '[0-9]{2,}\.[0-9]{1,}\.[0-9]{1,}'`
126- echo "Node version is $NODE_VERSION"
127- ARCH=arm64
128- curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz"
129- tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner
130- rm sha
131- rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz"
132- run : |
133- node --version
134- npm --version
135- cd /app
136- npm ci --no-progress
137- BIN="./lib/chromedriver/chromedriver"
138- if ! [ -e $BIN ]; then
139- echo "Binary not found at $BIN"
140- exit 1
141- fi
142-
14399 build_s390x :
144100 name : Build s390x
145101 runs-on : ubuntu-latest
146102 strategy :
147103 fail-fast : false
148104 matrix :
149- node : ["18", " 20", "22", "23"]
105+ node : ["20", "22", "23"]
150106 steps :
151107 - uses : actions/checkout@v4
152108 - uses : uraimo/run-on-arch-action@v2.8.1
@@ -269,7 +225,7 @@ jobs:
269225 id-token : write
270226 name : Publish to npm
271227 runs-on : ubuntu-latest
272- needs : [build, build_arm64, build_s390x, build_proxy]
228+ needs : [build, build_s390x, build_proxy]
273229 if : success() && startsWith(github.ref, 'refs/tags/')
274230 steps :
275231 - uses : actions/checkout@v4
0 commit comments