Skip to content

Commit 56946aa

Browse files
[CI] Use separate Linux build/test jobs and no matrix generator in nightly (#10745)
Also changes daily build upload (via github release) to only require successful build/LIT and not E2E tests. In addition to that, I switched CUDA E2E from using AWS runner to using our self-hosted one. The load of this workflow is low so our single runner can handle that. --------- Co-authored-by: Steffen Larsen <[email protected]>
1 parent 17a053e commit 56946aa

File tree

2 files changed

+72
-14
lines changed

2 files changed

+72
-14
lines changed

.github/workflows/sycl_linux_build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ on:
5252
default: 3
5353

5454
outputs:
55+
build_conclusion:
56+
value: ${{ jobs.build.outputs.build_conclusion }}
5557
artifact_archive_name:
5658
value: ${{ jobs.build.outputs.artifact_archive_name }}
5759
artifact_decompress_command:

.github/workflows/sycl_nightly.yml

Lines changed: 70 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,87 @@ on:
66
- cron: '0 3 * * *'
77

88
jobs:
9-
test_matrix:
10-
if: github.repository == 'intel/llvm'
11-
name: Generate Test Matrix
12-
uses: ./.github/workflows/sycl_gen_test_matrix.yml
13-
with:
14-
lts_config: "hip_amdgpu;ocl_gen12;ocl_x64;l0_gen12;esimd_emu;cuda_aws;win_l0_gen12"
15-
16-
ubuntu2204_build_test:
9+
ubuntu2204_build:
1710
if: github.repository == 'intel/llvm'
18-
uses: ./.github/workflows/sycl_linux_build_and_test.yml
19-
needs: test_matrix
11+
uses: ./.github/workflows/sycl_linux_build.yml
2012
secrets: inherit
2113
with:
2214
build_cache_root: "/__w/"
2315
build_artifact_suffix: default
2416
build_configure_extra_args: '--hip --cuda --enable-esimd-emulator'
2517
merge_ref: ''
2618
retention-days: 90
27-
lts_matrix: ${{ needs.test_matrix.outputs.lts_lx_matrix }}
28-
lts_aws_matrix: ${{ needs.test_matrix.outputs.lts_aws_matrix }}
2919

3020
# We upload the build for people to download/use, override its name and
3121
# prefer widespread gzip compression.
3222
artifact_archive_name: sycl_linux.tar.gz
3323

24+
ubuntu2204_test:
25+
needs: [ubuntu2204_build]
26+
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
include:
31+
- name: AMD/HIP
32+
runner: '["Linux", "amdgpu"]'
33+
image: ghcr.io/intel/llvm/ubuntu2204_build:latest
34+
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
35+
target_devices: ext_oneapi_hip:gpu
36+
37+
- name: Intel L0 GPU
38+
runner: '["Linux", "gen12"]'
39+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
40+
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
41+
target_devices: ext_oneapi_level_zero:gpu
42+
reset_gpu: true
43+
44+
- name: Intel OCL GPU
45+
runner: '["Linux", "gen12"]'
46+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
47+
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
48+
target_devices: opencl:gpu
49+
reset_gpu: true
50+
51+
- name: OCL CPU
52+
runner: '["Linux", "x86-cpu"]'
53+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
54+
image_options: -u 1001
55+
target_devices: opencl:cpu
56+
57+
- name: ESIMD Emu
58+
runner: '["Linux", "x86-cpu"]'
59+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
60+
image_options: -u 1001
61+
target_devices: ext_intel_esimd_emulator:gpu
62+
63+
- name: Self-hosted CUDA
64+
runner: '["Linux", "cuda"]'
65+
image: ghcr.io/intel/llvm/ubuntu2204_build:latest
66+
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
67+
target_devices: ext_oneapi_cuda:gpu
68+
uses: ./.github/workflows/sycl_linux_run_tests.yml
69+
with:
70+
name: ${{ matrix.name }}
71+
runner: ${{ matrix.runner }}
72+
image: ${{ matrix.image }}
73+
image_options: ${{ matrix.image_options }}
74+
target_devices: ${{ matrix.target_devices }}
75+
reset_gpu: ${{ matrix.reset_gpu }}
76+
ref: ${{ github.sha }}
77+
merge_ref: ''
78+
sycl_toolchain_artifact: sycl_linux_default
79+
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
80+
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}
81+
82+
83+
test_matrix:
84+
if: github.repository == 'intel/llvm'
85+
name: Generate Test Matrix
86+
uses: ./.github/workflows/sycl_gen_test_matrix.yml
87+
with:
88+
lts_config: "win_l0_gen12"
89+
3490
windows_default:
3591
name: Windows
3692
if: github.repository == 'intel/llvm'
@@ -47,7 +103,7 @@ jobs:
47103
nightly_build_upload:
48104
name: Nightly Build Upload
49105
if: ${{ github.ref_name == 'sycl' }}
50-
needs: [ubuntu2204_build_test, windows_default]
106+
needs: [ubuntu2204_build, windows_default]
51107
runs-on: ubuntu-latest
52108
steps:
53109
- uses: actions/download-artifact@v3
@@ -80,7 +136,7 @@ jobs:
80136
ubuntu2204_docker_build_push:
81137
if: github.repository == 'intel/llvm'
82138
runs-on: [Linux, build]
83-
needs: ubuntu2204_build_test
139+
needs: ubuntu2204_build
84140
steps:
85141
- uses: actions/checkout@v3
86142
- uses: actions/download-artifact@v3

0 commit comments

Comments
 (0)