1919
2020 target_devices :
2121 type : string
22- required : True
22+ required : False
2323 extra_cmake_args :
2424 type : string
2525 required : False
5959 default : ' '
6060 required : False
6161
62+ e2e_binaries_artifact :
63+ description : |
64+ By setting this the E2E binaries folder will not be created, rather it
65+ will be downloaded and extracted from the specified artifact. When
66+ running tests in `run-only` mode this must be provided.
67+ type : string
68+ default : ' '
69+ required : False
70+ e2e_testing_mode :
71+ description : |
72+ Testing mode to run E2E tests in, can be either `full`, `build-only`
73+ or `run-only`. In `build-only` mode an artifact of the E2E binaries
74+ will be uploaded.
75+ type : string
76+ default : ' full'
77+ artifact_suffix :
78+ description : ' Suffix for E2E binaries artifact that is output when in `build-only`.'
79+ type : string
80+ default : ' default'
81+ retention-days :
82+ description : ' E2E binaries artifact retention period.'
83+ type : string
84+ default : 1
85+
6286 reset_intel_gpu :
6387 type : string
6488 required : False
86110 - ' ["Linux", "gen12"]'
87111 - ' ["amdgpu"]'
88112 - ' ["Linux", "arc"]'
113+ - ' ["Linux", "pvc"]'
89114 - ' ["cts-cpu"]'
115+ - ' ["Linux", "build"]'
90116 image :
91117 description : |
92118 Use option ending with ":build" for AMDGPU, ":latest" for the rest.
142168 options :
143169 - false
144170 - true
171+ e2e_testing_mode :
172+ type : choice
173+ options :
174+ - " full"
175+ - " build-only"
145176
146177permissions :
147178 contents : read
@@ -270,8 +301,19 @@ jobs:
270301 cat /usr/local/lib/igc/IGCTAG.txt
271302 fi
272303
304+ - name : Download E2E Binaries
305+ if : inputs.e2e_binaries_artifact != ''
306+ uses : actions/download-artifact@v4
307+ with :
308+ name : ${{ inputs.e2e_binaries_artifact }}
309+ - name : Extract E2E Binaries
310+ if : inputs.e2e_binaries_artifact != ''
311+ run : |
312+ mkdir build-e2e
313+ tar -I 'zstd' -xf e2e_binaries.tar.zst -C build-e2e
314+
273315 - name : Deduce E2E CMake options
274- if : inputs.tests_selector == 'e2e'
316+ if : inputs.tests_selector == 'e2e' && inputs.e2e_binaries_artifact == ''
275317 id : cmake_opts
276318 shell : bash
277319 env :
@@ -281,14 +323,14 @@ jobs:
281323 echo "opts=$CMAKE_EXTRA_ARGS" >> $GITHUB_OUTPUT
282324 fi
283325 - name : Configure E2E tests
284- if : inputs.tests_selector == 'e2e'
326+ if : inputs.tests_selector == 'e2e' && inputs.e2e_binaries_artifact == ''
285327 run : |
286- cmake -GNinja -B./build-e2e -S./llvm/sycl/test-e2e -DSYCL_TEST_E2E_TARGETS="${{ inputs.target_devices }}" - DCMAKE_CXX_COMPILER="$(which clang++)" -DLLVM_LIT="$PWD/llvm/llvm/utils/lit/lit.py" ${{ steps.cmake_opts.outputs.opts }}
328+ cmake -GNinja -B./build-e2e -S./llvm/sycl/test-e2e -DCMAKE_CXX_COMPILER="$(which clang++)" -DLLVM_LIT="$PWD/llvm/llvm/utils/lit/lit.py" ${{ steps.cmake_opts.outputs.opts }}
287329 - name : SYCL End-to-end tests
288330 shell : bash {0}
289331 if : inputs.tests_selector == 'e2e'
290332 env :
291- LIT_OPTS : -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests ${{ inputs.extra_lit_opts }}
333+ LIT_OPTS : -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param test-mode=${{ inputs.e2e_testing_mode }} --param sycl_devices=${{ inputs.target_devices }} ${{ inputs.extra_lit_opts }}
292334 run : |
293335 ninja -C build-e2e check-sycl-e2e > e2e.log 2>&1
294336 exit_code=$?
@@ -375,3 +417,13 @@ jobs:
375417 grep 'exit code: [^0]' -r logs >> $GITHUB_STEP_SUMMARY
376418
377419 exit $ret
420+ - name : Pack E2E binaries
421+ if : ${{ always() && !cancelled() && inputs.e2e_testing_mode == 'build-only'}}
422+ run : tar -I 'zstd -9' -cf e2e_binaries.tar.zst -C ./build-e2e .
423+ - name : Upload E2E binaries
424+ if : ${{ always() && !cancelled() && inputs.e2e_testing_mode == 'build-only'}}
425+ uses : actions/upload-artifact@v4
426+ with :
427+ name : sycl_e2e_bin_${{ inputs.artifact_suffix }}
428+ path : e2e_binaries.tar.zst
429+ retention-days : ${{ inputs.retention-days }}
0 commit comments