@@ -166,20 +166,71 @@ jobs:
166166 - {IMAGE: "ubuntu-noble", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
167167 - {IMAGE: "ubuntu-rolling", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
168168 - {IMAGE: "fedora", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
169- - {IMAGE: "alpine", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
170169 - {IMAGE: "centos-stream9", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
171170 - {IMAGE: "centos-stream9-fips", NOXSESSION: "tests", RUNNER: "ubuntu-latest", FIPS: true}
172171 - {IMAGE: "centos-stream10", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
173172 - {IMAGE: "centos-stream10-fips", NOXSESSION: "tests", RUNNER: "ubuntu-latest", FIPS: true}
174173
175174 - {IMAGE: "ubuntu-rolling:aarch64", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
176- - {IMAGE: "alpine:aarch64", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
177175
178176 - {IMAGE: "ubuntu-rolling:armv7l", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
179177 timeout-minutes : 15
180178 env :
181179 RUSTUP_HOME : /root/.rustup
182180 steps :
181+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
182+ timeout-minutes : 3
183+ with :
184+ persist-credentials : false
185+ - name : Cache rust and pip
186+ uses : ./.github/actions/cache
187+ timeout-minutes : 2
188+ with :
189+ key : ${{ matrix.IMAGE.IMAGE }}
190+ - name : Clone test vectors
191+ timeout-minutes : 2
192+ uses : ./.github/actions/fetch-vectors
193+ # When run in a docker container the home directory doesn't have the same owner as the
194+ # apparent user so pip refuses to create a cache dir
195+ - name : create pip cache dir
196+ run : mkdir -p "${HOME}/.cache/pip"
197+ - run : |
198+ echo "OPENSSL_FORCE_FIPS_MODE=1" >> $GITHUB_ENV
199+ if: matrix.IMAGE.FIPS
200+ - run : /venv/bin/python -m pip install -c ci-constraints-requirements.txt 'nox[uv]' 'tomli; python_version < "3.11"'
201+ - run : ' /venv/bin/nox -v --install-only'
202+ env :
203+ # OPENSSL_ENABLE_SHA1_SIGNATURES is for CentOS 9 Stream
204+ OPENSSL_ENABLE_SHA1_SIGNATURES : 1
205+ NOXSESSION : ${{ matrix.IMAGE.NOXSESSION }}
206+ - run : ' /venv/bin/nox --no-install -- --color=yes --wycheproof-root="wycheproof" --x509-limbo-root="x509-limbo"'
207+ env :
208+ COLUMNS : 80
209+ # OPENSSL_ENABLE_SHA1_SIGNATURES is for CentOS 9 Stream
210+ OPENSSL_ENABLE_SHA1_SIGNATURES : 1
211+ NOXSESSION : ${{ matrix.IMAGE.NOXSESSION }}
212+ - uses : ./.github/actions/upload-coverage
213+
214+ alpine :
215+ runs-on : ${{ matrix.IMAGE.RUNNER }}
216+ container :
217+ image : ghcr.io/pyca/cryptography-runner-${{ matrix.IMAGE.IMAGE }}
218+ volumes :
219+ - /staticnodehost:/staticnodecontainer:rw,rshared
220+ - /staticnodehost:/__e/node20:ro,rshared
221+ strategy :
222+ fail-fast : false
223+ matrix :
224+ IMAGE :
225+ - {IMAGE: "alpine", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
226+ - {IMAGE: "alpine:aarch64", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
227+ timeout-minutes : 15
228+ env :
229+ RUSTUP_HOME : /root/.rustup
230+ steps :
231+ - name : Ridiculous-er workaround for static node20
232+ run : |
233+ cp -R /staticnode/* /staticnodecontainer/
183234 - name : Ridiculous alpine workaround for actions support on arm64
184235 run : |
185236 # This modifies /etc/os-release so the JS actions
@@ -414,7 +465,7 @@ jobs:
414465 all-green :
415466 # https://github.community/t/is-it-possible-to-require-all-github-actions-tasks-to-pass-without-enumerating-them/117957/4?u=graingert
416467 runs-on : ubuntu-latest
417- needs : [linux, distros, macos, windows, linux-downstream]
468+ needs : [linux, alpine, distros, macos, windows, linux-downstream]
418469 if : ${{ always() }}
419470 timeout-minutes : 3
420471 steps :
0 commit comments