@@ -65,18 +65,42 @@ jobs:
6565 instrumented : false
6666 primary : true
6767 stdenv : stdenv
68+ withAWS : true
69+ withCurlS3 : false
70+ # TODO: remove once curl-based-s3 fully lands
71+ - scenario : on ubuntu (no s3)
72+ runs-on : ubuntu-24.04
73+ os : linux
74+ instrumented : false
75+ primary : false
76+ stdenv : stdenv
77+ withAWS : false
78+ withCurlS3 : false
79+ # TODO: remove once curl-based-s3 fully lands
80+ - scenario : on ubuntu (curl s3)
81+ runs-on : ubuntu-24.04
82+ os : linux
83+ instrumented : false
84+ primary : false
85+ stdenv : stdenv
86+ withAWS : false
87+ withCurlS3 : true
6888 - scenario : on macos
6989 runs-on : macos-14
7090 os : darwin
7191 instrumented : false
7292 primary : true
7393 stdenv : stdenv
94+ withAWS : true
95+ withCurlS3 : false
7496 - scenario : on ubuntu (with sanitizers / coverage)
7597 runs-on : ubuntu-24.04
7698 os : linux
7799 instrumented : true
78100 primary : false
79101 stdenv : clangStdenv
102+ withAWS : true
103+ withCurlS3 : false
80104 name : tests ${{ matrix.scenario }}
81105 runs-on : ${{ matrix.runs-on }}
82106 timeout-minutes : 60
99123 run : |
100124 nix build --file ci/gha/tests/wrapper.nix componentTests -L \
101125 --arg withInstrumentation ${{ matrix.instrumented }} \
102- --argstr stdenv "${{ matrix.stdenv }}"
126+ --argstr stdenv "${{ matrix.stdenv }}" \
127+ ${{ format('--arg withAWS {0}', matrix.withAWS) }} \
128+ ${{ format('--arg withCurlS3 {0}', matrix.withCurlS3) }}
103129 - name : Run flake checks and prepare the installer tarball
104130 run : |
105131 ci/gha/tests/build-checks
@@ -110,6 +136,8 @@ jobs:
110136 nix build --file ci/gha/tests/wrapper.nix codeCoverage.coverageReports -L \
111137 --arg withInstrumentation ${{ matrix.instrumented }} \
112138 --argstr stdenv "${{ matrix.stdenv }}" \
139+ ${{ format('--arg withAWS {0}', matrix.withAWS) }} \
140+ ${{ format('--arg withCurlS3 {0}', matrix.withCurlS3) }} \
113141 --out-link coverage-reports
114142 cat coverage-reports/index.txt >> $GITHUB_STEP_SUMMARY
115143 if : ${{ matrix.instrumented }}
@@ -240,6 +268,18 @@ jobs:
240268
241269 vm_tests :
242270 needs : basic-checks
271+ strategy :
272+ fail-fast : false
273+ matrix :
274+ include :
275+ # TODO: remove once curl-based-s3 fully lands
276+ - scenario : legacy s3
277+ withAWS : true
278+ withCurlS3 : false
279+ - scenario : curl s3
280+ withAWS : false
281+ withCurlS3 : true
282+ name : vm_tests (${{ matrix.scenario }})
243283 runs-on : ubuntu-24.04
244284 steps :
245285 - uses : actions/checkout@v5
@@ -250,13 +290,16 @@ jobs:
250290 experimental-features = nix-command flakes
251291 github_token : ${{ secrets.GITHUB_TOKEN }}
252292 - uses : DeterminateSystems/magic-nix-cache-action@main
253- - run : |
293+ - name : Build VM tests
294+ run : |
254295 nix build -L \
255- .#hydraJobs.tests.functional_user \
256- .#hydraJobs.tests.githubFlakes \
257- .#hydraJobs.tests.nix-docker \
258- .#hydraJobs.tests.tarballFlakes \
259- ;
296+ --file ci/gha/vm-tests/wrapper.nix \
297+ ${{ format('--arg withAWS {0}', matrix.withAWS) }} \
298+ ${{ format('--arg withCurlS3 {0}', matrix.withCurlS3) }} \
299+ functional_user \
300+ githubFlakes \
301+ nix-docker \
302+ tarballFlakes
260303
261304 flake_regressions :
262305 needs : vm_tests
0 commit comments