1+ name : SYCL Release Branch Nightly
2+
3+ on :
4+ workflow_dispatch :
5+ # TODO: we need to skip the whole workflow if it was launched by cron job, but
6+ # there were no new commits since the last cron run.
7+ # schedule:
8+ # - cron: '0 3 * * *'
9+
10+ permissions : read-all
11+
12+ jobs :
13+ ubuntu2204_build :
14+ if : github.repository == 'intel/llvm'
15+ uses : ./.github/workflows/sycl-linux-build.yml
16+ secrets : inherit
17+ with :
18+ build_cache_root : " /__w/"
19+ build_artifact_suffix : v6
20+ build_configure_extra_args : ' --hip --cuda'
21+ merge_ref : ' '
22+ retention-days : 90
23+ branch : draft-sycl-rel-6_0_0
24+
25+ # We upload the build for people to download/use, override its name and
26+ # prefer widespread gzip compression.
27+ artifact_archive_name : sycl_linux.tar.gz
28+
29+ ubuntu2204_test :
30+ needs : [ubuntu2204_build]
31+ if : ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
32+ strategy :
33+ fail-fast : false
34+ matrix :
35+ include :
36+ - name : AMD/HIP
37+ runner : ' ["Linux", "amdgpu"]'
38+ image : ghcr.io/intel/llvm/ubuntu2204_build:latest
39+ image_options : -u 1001 --device=/dev/dri --device=/dev/kfd
40+ target_devices : ext_oneapi_hip:gpu
41+ tests_selector : e2e
42+
43+ - name : Intel L0 GPU
44+ runner : ' ["Linux", "gen12"]'
45+ image : ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
46+ image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
47+ target_devices : level_zero:gpu
48+ reset_intel_gpu : true
49+ tests_selector : e2e
50+ extra_lit_opts : --param gpu-intel-gen12=True
51+
52+ - name : Intel OCL GPU
53+ runner : ' ["Linux", "gen12"]'
54+ image : ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
55+ image_options : -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
56+ target_devices : opencl:gpu
57+ reset_intel_gpu : true
58+ tests_selector : e2e
59+ extra_lit_opts : --param gpu-intel-gen12=True
60+
61+ - name : Intel OCL CPU
62+ runner : ' ["Linux", "gen12"]'
63+ image : ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
64+ image_options : -u 1001 --privileged --cap-add SYS_ADMIN
65+ target_devices : opencl:cpu
66+ tests_selector : e2e
67+
68+ - name : SYCL-CTS on OCL CPU
69+ runner : ' ["Linux", "gen12"]'
70+ image : ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
71+ image_options : -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
72+ target_devices : opencl:cpu
73+ tests_selector : cts
74+
75+ - name : SYCL-CTS on L0 gen12
76+ runner : ' ["Linux", "gen12"]'
77+ image : ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
78+ image_options : -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
79+ target_devices : level_zero:gpu
80+ tests_selector : cts
81+ uses : ./.github/workflows/sycl-linux-run-tests.yml
82+ with :
83+ name : ${{ matrix.name }}
84+ runner : ${{ matrix.runner }}
85+ image : ${{ matrix.image }}
86+ image_options : ${{ matrix.image_options }}
87+ target_devices : ${{ matrix.target_devices }}
88+ tests_selector : ${{ matrix.tests_selector }}
89+ extra_lit_opts : ${{ matrix.extra_lit_opts }}
90+ reset_intel_gpu : ${{ matrix.reset_intel_gpu }}
91+ ref : draft-sycl-rel-6_0_0
92+ merge_ref : ' '
93+ sycl_toolchain_artifact : sycl_linux_default
94+ sycl_toolchain_archive : ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
95+ sycl_toolchain_decompress_command : ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}
96+
97+ build-win :
98+ uses : ./.github/workflows/sycl-windows-build.yml
99+ if : github.repository == 'intel/llvm'
100+ with :
101+ retention-days : 90
102+ # We upload both Linux/Windows build via Github's "Releases"
103+ # functionality, make sure Linux/Windows names follow the same pattern.
104+ artifact_archive_name : sycl_windows.tar.gz
105+ build_ref : draft-sycl-rel-6_0_0
106+
107+ e2e-win :
108+ needs : build-win
109+ # Continue if build was successful.
110+ if : |
111+ always()
112+ && !cancelled()
113+ && needs.build-win.outputs.build_conclusion == 'success'
114+ uses : ./.github/workflows/sycl-windows-run-tests.yml
115+ with :
116+ name : Intel GEN12 Graphics with Level Zero
117+ runner : ' ["Windows","gen12"]'
118+ sycl_toolchain_archive : ${{ needs.build-win.outputs.artifact_archive_name }}
119+ extra_lit_opts : --param gpu-intel-gen12=True
120+ ref : draft-sycl-rel-6_0_0
121+
122+ cuda-aws-start :
123+ needs : [ubuntu2204_build]
124+ if : ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
125+ uses : ./.github/workflows/sycl-aws.yml
126+ secrets : inherit
127+ with :
128+ mode : start
129+ ref : draft-sycl-rel-6_0_0
130+
131+ cuda-run-tests :
132+ needs : [ubuntu2204_build, cuda-aws-start]
133+ if : ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
134+ uses : ./.github/workflows/sycl-linux-run-tests.yml
135+ with :
136+ name : CUDA E2E
137+ runner : ' ["aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}"]'
138+ image : ghcr.io/intel/llvm/ubuntu2204_build:latest-0300ac924620a51f76c4929794637b82790f12ab
139+ image_options : -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1
140+ target_devices : ext_oneapi_cuda:gpu
141+ ref : draft-sycl-rel-6_0_0
142+ merge_ref : ' '
143+
144+ sycl_toolchain_artifact : sycl_linux_default
145+ sycl_toolchain_archive : ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
146+ sycl_toolchain_decompress_command : ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}
147+
148+ cuda-aws-stop :
149+ needs : [cuda-aws-start, cuda-run-tests]
150+ if : always()
151+ uses : ./.github/workflows/sycl-aws.yml
152+ secrets : inherit
153+ with :
154+ mode : stop
155+
156+ # No binaries upload for now
157+ # nightly_build_upload:
158+ # name: Nightly Build Upload
159+ # if: ${{ github.ref_name == 'sycl' }}
160+ # needs: [ubuntu2204_build, build-win]
161+ # runs-on: ubuntu-latest
162+ # permissions:
163+ # contents: write
164+ # steps:
165+ # - uses: actions/download-artifact@v4
166+ # with:
167+ # name: sycl_linux_default
168+ # - uses: actions/download-artifact@v4
169+ # with:
170+ # name: sycl_windows_default
171+ # - name: Compute tag
172+ # id: tag
173+ # run: |
174+ # if [ "${{ github.event_name == 'schedule' }}" == "true" ]; then
175+ # echo "TAG=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
176+ # else
177+ # # TODO: Use date of the commit?
178+ # echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
179+ # fi
180+ # - name: Upload binaries
181+ # uses: softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8
182+ # with:
183+ # files: |
184+ # sycl_linux.tar.gz
185+ # sycl_windows.tar.gz
186+ # tag_name: nightly-${{ steps.tag.outputs.TAG }}
187+ # name: DPC++ daily ${{ steps.tag.outputs.TAG }}
188+ # prerelease: true
189+ # body: "Daily build ${{ steps.tag.outputs.TAG }}"
190+ # target_commitish: ${{ github.sha }}
191+
192+ # No containers update for now
193+ # ubuntu2204_docker_build_push:
194+ # if: github.repository == 'intel/llvm'
195+ # runs-on: [Linux, build]
196+ # permissions:
197+ # packages: write
198+ # needs: ubuntu2204_build
199+ # steps:
200+ # - uses: actions/checkout@v4
201+ # - uses: actions/download-artifact@v4
202+ # with:
203+ # name: sycl_linux_default
204+ # path: devops/
205+ # - name: Build and Push Container (with drivers)
206+ # uses: ./devops/actions/build_container
207+ # with:
208+ # push: ${{ github.ref_name == 'sycl' }}
209+ # file: ubuntu2204_preinstalled
210+ # username: ${{ github.repository_owner }}
211+ # password: ${{ secrets.GITHUB_TOKEN }}
212+ # build-args: |
213+ # base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers
214+ # base_tag=latest
215+ # tags: |
216+ # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }}
217+ # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:latest
218+ # - name: Build and Push Container (no drivers)
219+ # uses: ./devops/actions/build_container
220+ # with:
221+ # push: ${{ github.ref_name == 'sycl' }}
222+ # file: ubuntu2204_preinstalled
223+ # username: ${{ github.repository_owner }}
224+ # password: ${{ secrets.GITHUB_TOKEN }}
225+ # build-args: |
226+ # base_image=ghcr.io/intel/llvm/ubuntu2204_base
227+ # base_tag=latest
228+ # tags: |
229+ # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers-${{ github.sha }}
230+ # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers
231+ # - name: Build and Push Container (Build image)
232+ # uses: ./devops/actions/build_container
233+ # with:
234+ # push: ${{ github.ref_name == 'sycl' }}
235+ # file: ubuntu2204_preinstalled
236+ # username: ${{ github.repository_owner }}
237+ # password: ${{ secrets.GITHUB_TOKEN }}
238+ # build-args: |
239+ # base_image=ghcr.io/intel/llvm/ubuntu2204_build
240+ # base_tag=latest
241+ # tags: |
242+ # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build-${{ github.sha }}
243+ # ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build
0 commit comments