Skip to content

Commit 92c9166

Browse files
sycl-linux-run-tests: manual dispatch for prebuilt E2E
1 parent 8d740f1 commit 92c9166

File tree

2 files changed

+45
-16
lines changed

2 files changed

+45
-16
lines changed

.github/workflows/sycl-linux-run-tests.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ on:
3737

3838
repo_ref:
3939
type: string
40-
required: True
40+
required: False
4141
description: |
4242
Commit SHA or branch to checkout the intel/llvm repo.
4343
tests_ref:
@@ -60,9 +60,10 @@ on:
6060

6161
e2e_binaries_artifact:
6262
description: |
63-
Must be set if `e2e_testing_mode` is equal to `run-only` and the
64-
artifact must exist. Can be set in other modes resulting in artifact
65-
upload.
63+
When set in modes other than `run-only` results in artifact upload.
64+
For `run-only` mode, if specified, means downloading pre-built
65+
binaries from the artifact, otherwise they are expected to be part of
66+
the container.
6667
type: string
6768
default: ''
6869
required: False
@@ -144,17 +145,20 @@ on:
144145
runner:
145146
type: choice
146147
options:
148+
- '["Linux", "pvc"]'
147149
- '["Linux", "gen12"]'
148150
- '["amdgpu"]'
149151
- '["Linux", "arc"]'
150-
- '["Linux", "pvc"]'
151152
- '["cts-cpu"]'
152153
- '["Linux", "build"]'
153154
- '["cuda"]'
154155
- '["PVC_PERF"]'
155156
image:
156157
type: choice
157158
options:
159+
- 'ghcr.io/intel/llvm/sycl_prebuilt_tests:v6.1.0'
160+
- 'ghcr.io/intel/llvm/sycl_prebuilt_tests:nightly-2025-06-20'
161+
- 'ghcr.io/intel/llvm/sycl_prebuilt_tests:nightly-2025-07-18'
158162
- 'ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest'
159163
- 'ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps'
160164
image_options:
@@ -179,6 +183,10 @@ on:
179183
- e2e
180184
- cts
181185
- benchmarks
186+
toolchain_release_tag:
187+
description: |
188+
Tag of the release at https://github.com/intel/llvm/releases.
189+
default: ''
182190

183191
env:
184192
description: |
@@ -201,6 +209,7 @@ on:
201209
options:
202210
- "full"
203211
- "build-only"
212+
- "run-only"
204213

205214
permissions:
206215
contents: read
@@ -256,11 +265,6 @@ jobs:
256265
uses: actions/download-artifact@v4
257266
with:
258267
name: ${{ inputs.toolchain_artifact }}
259-
- name: Debug prints [workflow_run]
260-
if: inputs.toolchain_artifact != '' && github.event_name == 'workflow_run'
261-
run: |
262-
pwd
263-
ls
264268
- name: Download SYCL toolchain [workflow_run]
265269
# NOTE: This is for `sycl-linux-precommit-aws.yml`.
266270
if: inputs.toolchain_artifact != '' && github.event_name == 'workflow_run'
@@ -291,12 +295,29 @@ jobs:
291295
ls
292296
unzip ${{ inputs.toolchain_artifact }}.zip
293297
rm ${{ inputs.toolchain_artifact }}.zip
298+
- name: Download SYCL toolchain using release tag
299+
if: inputs.toolchain_release_tag != ''
300+
env:
301+
TAG: ${{ inputs.toolchain_release_tag }}
302+
shell: bash
303+
run: |
304+
if [[ $TAG == nightly* ]]; then
305+
wget "https://github.com/intel/llvm/releases/download/$TAG/sycl_linux.tar.gz"
306+
else
307+
# Assume "vX.Y.Z", e.g.
308+
# https://github.com/intel/llvm/releases/tag/v6.1.0
309+
wget "https://github.com/intel/llvm/releases/download/$TAG/sycl_linux-${TAG:1}.tar.gz"
310+
fi
311+
294312
- name: Extract/Setup SYCL toolchain
295-
if: inputs.toolchain_artifact != ''
313+
if: inputs.toolchain_artifact != '' || inputs.toolchain_release_tag != ''
314+
env:
315+
FILENAME: ${{ inputs.toolchain_artifact_filename || 'sycl_linux.tar.gz' }}
316+
DECOMPRESS_COMMAND: ${{ inputs.toolchain_decompress_command || 'gunzip' }}
296317
run: |
297318
mkdir toolchain
298-
tar -I '${{ inputs.toolchain_decompress_command }}' -xf ${{ inputs.toolchain_artifact_filename }} -C toolchain
299-
rm -f ${{ inputs.toolchain_artifact_filename }}
319+
tar -I "$DECOMPRESS_COMMAND" -xf "$FILENAME" -C toolchain
320+
rm -f "$FILENAME"
300321
echo PATH=$PWD/toolchain/bin/:$PATH >> $GITHUB_ENV
301322
echo LD_LIBRARY_PATH=$PWD/toolchain/lib/:$LD_LIBRARY_PATH >> $GITHUB_ENV
302323
- run: which clang++ sycl-ls

devops/actions/run-tests/e2e/action.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,34 @@ runs:
2424
using: "composite"
2525
steps:
2626
- name: Checkout E2E tests
27+
if: ${{ inputs.testing_mode != 'run-only' || inputs.binaries_artifact }}
2728
uses: actions/checkout@v4
2829
with:
2930
path: llvm
3031
ref: ${{ inputs.ref || github.sha }}
3132
sparse-checkout: |
3233
llvm/utils/lit
3334
sycl/test-e2e
34-
3535
- name: Download E2E Binaries
36-
if: inputs.testing_mode == 'run-only'
36+
if: ${{ inputs.testing_mode == 'run-only' && inputs.binaries_artifact != '' }}
3737
uses: actions/download-artifact@v4
3838
with:
3939
name: ${{ inputs.binaries_artifact }}
4040
- name: Extract E2E Binaries
41-
if: inputs.testing_mode == 'run-only'
41+
if: ${{ inputs.testing_mode == 'run-only' && inputs.binaries_artifact != '' }}
4242
shell: bash
4343
run: |
4444
mkdir build-e2e
4545
tar -I 'zstd' -xf e2e_binaries.tar.zst -C build-e2e
4646
47+
- name: Extract E2E tests from container image
48+
if: ${{ inputs.testing_mode == 'run-only' && inputs.binaries_artifact == '' }}
49+
shell: bash
50+
run: |
51+
mkdir build-e2e llvm
52+
tar -I 'zstd' -xf /sycl-prebuilt/e2e_binaries.tar.zst -C build-e2e
53+
tar -I 'zstd' -xf /sycl-prebuilt/e2e_sources.tar.zst -C llvm
54+
4755
- name: Deduce E2E CMake options
4856
if: inputs.testing_mode != 'run-only'
4957
id: cmake_opts

0 commit comments

Comments
 (0)