@@ -166,20 +166,71 @@ jobs:
166
166
- {IMAGE: "ubuntu-noble", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
167
167
- {IMAGE: "ubuntu-rolling", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
168
168
- {IMAGE: "fedora", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
169
- - {IMAGE: "alpine", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
170
169
- {IMAGE: "centos-stream9", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
171
170
- {IMAGE: "centos-stream9-fips", NOXSESSION: "tests", RUNNER: "ubuntu-latest", FIPS: true}
172
171
- {IMAGE: "centos-stream10", NOXSESSION: "tests", RUNNER: "ubuntu-latest"}
173
172
- {IMAGE: "centos-stream10-fips", NOXSESSION: "tests", RUNNER: "ubuntu-latest", FIPS: true}
174
173
175
174
- {IMAGE: "ubuntu-rolling:aarch64", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
176
- - {IMAGE: "alpine:aarch64", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
177
175
178
176
- {IMAGE: "ubuntu-rolling:armv7l", NOXSESSION: "tests", RUNNER: "ubuntu-24.04-arm"}
179
177
timeout-minutes : 15
180
178
env :
181
179
RUSTUP_HOME : /root/.rustup
182
180
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/
183
234
- name : Ridiculous alpine workaround for actions support on arm64
184
235
run : |
185
236
# This modifies /etc/os-release so the JS actions
@@ -414,7 +465,7 @@ jobs:
414
465
all-green :
415
466
# https://github.community/t/is-it-possible-to-require-all-github-actions-tasks-to-pass-without-enumerating-them/117957/4?u=graingert
416
467
runs-on : ubuntu-latest
417
- needs : [linux, distros, macos, windows, linux-downstream]
468
+ needs : [linux, alpine, distros, macos, windows, linux-downstream]
418
469
if : ${{ always() }}
419
470
timeout-minutes : 3
420
471
steps :
0 commit comments