@@ -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