@@ -40,12 +40,8 @@ concurrency:
40
40
permissions : read-all
41
41
42
42
jobs :
43
- detect_changes :
44
- uses : ./.github/workflows/sycl-detect-changes.yml
45
-
46
43
build :
47
44
name : Self build
48
- needs : [detect_changes]
49
45
if : always() && success()
50
46
uses : ./.github/workflows/sycl-linux-build.yml
51
47
with :
@@ -56,172 +52,41 @@ jobs:
56
52
build_image : " ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest"
57
53
cc : clang
58
54
cxx : clang++
59
- changes : ${{ needs.detect_changes.outputs.filters }}
55
+ changes : ' []'
56
+ build_configure_extra_args : --disable-preview-lib
60
57
61
58
toolchain_artifact : sycl_linux_default
62
- e2e_binaries_artifact : e2e_bin
63
- e2e_binaries_preview_artifact : e2e_bin_preview
64
-
65
- # If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
66
- # Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
67
- # has CUDA 12.6.1 installed.
68
- # The idea is to ensure that the code works with both CUDA versions.
69
- build_ubuntu2204 :
70
- needs : [detect_changes]
71
- if : always() && !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter')
72
- uses : ./.github/workflows/sycl-linux-build.yml
73
- with :
74
- build_ref : ${{ github.sha }}
75
- build_cache_root : " /__w/"
76
- build_cache_suffix : " ubuntu22"
77
- build_image : " ghcr.io/intel/llvm/ubuntu2204_build:latest"
78
- changes : ${{ needs.detect_changes.outputs.filters }}
79
-
80
- toolchain_artifact : sycl_linux_ubuntu22
81
59
82
- run_prebuilt_e2e_tests :
83
- needs : [build, detect_changes]
60
+ compat_read_exclude :
61
+ name : Read compatibility testing exclude list
62
+ runs-on : [Linux, build]
63
+ outputs :
64
+ FILTER : ${{ steps.result.outputs.FILTER }}
65
+ steps :
66
+ - uses : actions/checkout@v4
67
+ with :
68
+ sparse-checkout : |
69
+ devops/
70
+ - name : Register cleanup after job is finished
71
+ uses : ./devops/actions/cleanup
72
+ - id : result
73
+ shell : bash
74
+ run : |
75
+ echo FILTER="$(grep -v '^#\|^\W*$' devops/compat_ci_exclude.sycl-rel-6_2 | paste -sd '|')" >> $GITHUB_OUTPUT
76
+
77
+
78
+ compatibility :
79
+ needs : [build, compat_read_exclude]
84
80
if : ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
85
- strategy :
86
- fail-fast : false
87
- matrix :
88
- include :
89
- - name : GEN 12 Integrated
90
- runner : ' ["Linux", "gen12"]'
91
- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
92
- target_devices : level_zero:gpu;opencl:gpu;opencl:cpu
93
- extra_lit_opts : --param gpu-intel-gen12=True
94
- - name : NVIDIA/CUDA
95
- runner : ' ["Linux", "cuda"]'
96
- image_options : -u 1001 --gpus all --cap-add SYS_ADMIN
97
- target_devices : cuda:gpu
98
- - name : AMD/HIP
99
- runner : ' ["Linux", "amdgpu"]'
100
- image_options : -u 1001 --device=/dev/dri --device=/dev/kfd
101
- target_devices : hip:gpu
102
- extra_lit_opts : -j 1
103
- - name : Intel Arc A-Series Graphics
104
- runner : ' ["Linux", "arc"]'
105
- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
106
- target_devices : level_zero:gpu;opencl:gpu;level_zero_v2:gpu
107
- extra_lit_opts : --param matrix-xmx8=True
108
- - name : E2E tests with dev igc on Intel Arc A-Series Graphics
109
- runner : ' ["Linux", "arc"]'
110
- image : ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
111
- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
112
- target_devices : level_zero:gpu
113
- extra_lit_opts : --param matrix-xmx8=True
114
- use_igc_dev : true
115
- env : ' {"LIT_FILTER":"Matrix/"}'
116
- - name : E2E tests on Intel Ponte Vecchio GPU
117
- runner : ' ["Linux", "pvc"]'
118
- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
119
- target_devices : level_zero:gpu;opencl:gpu;level_zero_v2:gpu
120
- - name : Dev IGC on Intel Ponte Vecchio GPU
121
- runner : ' ["Linux", "pvc"]'
122
- image : ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
123
- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
124
- target_devices : level_zero:gpu
125
- use_igc_dev : true
126
- env : ' {"LIT_FILTER":"Matrix/"}'
127
- - name : Intel Battlemage Graphics
128
- runner : ' ["Linux", "bmg"]'
129
- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
130
- target_devices : level_zero_v1:gpu;level_zero_v2:gpu
131
- - name : Preview Mode
132
- runner : ' ["Linux", "gen12"]'
133
- image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
134
- target_devices : level_zero:gpu;opencl:gpu;opencl:cpu
135
- extra_lit_opts : --param test-preview-mode=True
136
- e2e_binaries_artifact : e2e_bin_preview
137
-
138
- uses : ./.github/workflows/sycl-linux-run-tests.yml
139
- with :
140
- name : ${{ matrix.name }}
141
- runner : ${{ matrix.runner }}
142
- image : ${{ matrix.image }}
143
- image_options : ${{ matrix.image_options }}
144
- target_devices : ${{ matrix.target_devices }}
145
- extra_lit_opts : ${{ matrix.extra_lit_opts }}
146
- repo_ref : ${{ github.sha }}
147
- toolchain_artifact : ${{ needs.build.outputs.toolchain_artifact }}
148
- toolchain_artifact_filename : ${{ needs.build.outputs.toolchain_artifact_filename }}
149
- toolchain_decompress_command : ${{ needs.build.outputs.toolchain_decompress_command }}
150
- e2e_binaries_artifact : ${{ matrix.e2e_binaries_artifact || 'e2e_bin' }}
151
- e2e_testing_mode : ' run-only'
152
-
153
- # Do not install drivers on AMD and CUDA runners.
154
- install_igc_driver : >-
155
- ${{ !contains(matrix.target_devices, 'cuda') &&
156
- !contains(matrix.target_devices, 'hip') &&
157
- contains(needs.detect_changes.outputs.filters, 'drivers') }}
158
- install_dev_igc_driver : >-
159
- ${{ !contains(matrix.target_devices, 'cuda') &&
160
- !contains(matrix.target_devices, 'hip') &&
161
- matrix.use_igc_dev &&
162
- (contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
163
- 'false' }}
164
- # Run only if the PR does not have the 'ci-no-devigc' label.
165
- skip_run : ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
166
- env : ${{ matrix.env || (contains(needs.detect_changes.outputs.filters, 'esimd') && '{}' || '{"LIT_FILTER_OUT":"ESIMD/"}') }}
167
-
168
- test_benchmark_scripts :
169
- needs : [build, detect_changes]
170
- if : |
171
- always() && !cancelled()
172
- && needs.build.outputs.build_conclusion == 'success'
173
- && contains(needs.detect_changes.outputs.filters, 'benchmarks')
174
81
uses : ./.github/workflows/sycl-linux-run-tests.yml
175
82
with :
176
- name : Benchmark suite precommit testing
177
- runner : ' ["PVC_PERF "]'
178
- image : ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
83
+ name : E2E Backward ABI compatibility
84
+ runner : ' ["Linux", "pvc "]'
85
+ image : ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_2
179
86
image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
180
- target_devices : ' level_zero:gpu'
181
- tests_selector : benchmarks
182
- benchmark_upload_results : false
183
- benchmark_preset : ' Minimal'
184
- benchmark_dry_run : true
185
- repo_ref : ${{ github.sha }}
186
- toolchain_artifact : ${{ needs.build.outputs.toolchain_artifact }}
187
- toolchain_artifact_filename : ${{ needs.build.outputs.toolchain_artifact_filename }}
188
- toolchain_decompress_command : ${{ needs.build.outputs.toolchain_decompress_command }}
189
-
190
- test-perf :
191
- needs : [build, detect_changes]
192
- if : |
193
- always() && !cancelled()
194
- && needs.build.outputs.build_conclusion == 'success'
195
- && (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
196
- || contains(needs.detect_changes.outputs.filters, 'perf-tests'))
197
- strategy :
198
- fail-fast : false
199
- matrix :
200
- include :
201
- - name : Intel GEN12 Graphics system
202
- runner : ' ["Linux", "gen12"]'
203
- image_extra_opts : --device=/dev/dri
204
- - name : Intel Arc A-Series Graphics system
205
- runner : ' ["Linux", "arc"]'
206
- image_extra_opts : --device=/dev/dri
207
- - name : AMD system
208
- runner : ' ["Linux", "amdgpu"]'
209
- image_extra_opts : --device=/dev/dri --device=/dev/kfd
210
- - name : CUDA system
211
- runner : ' ["Linux", "cuda"]'
212
- image_extra_opts : --gpus all
213
- uses : ./.github/workflows/sycl-linux-run-tests.yml
214
- with :
215
- name : Perf tests on ${{ matrix.name }}
216
- runner : ${{ matrix. runner }}
217
- image_options : -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }}
218
- target_devices : all
219
-
220
- env : ' {"LIT_FILTER":"PerformanceTests/"}'
221
- extra_lit_opts : -a -j 1 --param enable-perf-tests=True
222
-
223
- repo_ref : ${{ github.sha }}
224
-
87
+ target_devices : level_zero:gpu
225
88
toolchain_artifact : ${{ needs.build.outputs.toolchain_artifact }}
226
89
toolchain_artifact_filename : ${{ needs.build.outputs.toolchain_artifact_filename }}
227
90
toolchain_decompress_command : ${{ needs.build.outputs.toolchain_decompress_command }}
91
+ extra_lit_opts : ' --filter-out "${{ needs.compat_read_exclude.outputs.FILTER }}"'
92
+ e2e_testing_mode : ' run-only'
0 commit comments