Skip to content

SYCL Release Branch Nightly #436

SYCL Release Branch Nightly

SYCL Release Branch Nightly #436

name: SYCL Release Branch Nightly
on:
workflow_dispatch:
inputs:
sycl_build_info:
description: |
Compiler build info, e.g. "X.Y.Z release"
permissions: read-all
jobs:
get_build_info:
runs-on: ubuntu-latest
outputs:
info: ${{ steps.get_info.outputs.info }}
steps:
# TODO: version detection can be automated, e.g. by using branch name.
- id: get_info
run: |
if [ -n "${{ inputs.sycl_build_info }}" ]; then
echo "info=${{ inputs.sycl_build_info }}" >> $GITHUB_OUTPUT
else
date=$(date +'%Y-%m-%d')
version="7.0.0"
info="Nightly $date $version pre-release"
echo "info=$info" >> $GITHUB_OUTPUT
fi
ubuntu2204_build:
needs: get_build_info
uses: ./.github/workflows/sycl-linux-build.yml
secrets: inherit
with:
build_cache_root: "/__w/"
build_configure_extra_args: '-DSYCL_BUILD_INFO="${{ needs.get_build_info.outputs.info }}" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_LIBDIR=lib --disable-jit --no-assertions --add_security_flags=sanitize --hip --cuda'
build_image: ghcr.io/intel/llvm/release_build:latest
toolchain_artifact: sycl_linux_default
# We upload the build for people to download/use, override its name and
# prefer widespread gzip compression.
toolchain_artifact_filename: sycl_linux.tar.gz
release_toolchain_artifact: sycl_linux_release
ubuntu2204_test:
needs: [ubuntu2204_build]
permissions:
contents: write
packages: read
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
strategy:
fail-fast: false
matrix:
include:
- name: AMD/HIP
runner: '["Linux", "amdgpu"]'
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
target_devices: hip:gpu
- name: NVIDIA/CUDA
runner: '["Linux", "cuda"]'
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
target_devices: cuda:gpu
- name: Intel L0 Gen12 GPU
runner: '["Linux", "gen12"]'
target_devices: level_zero:gpu
- name: Intel L0 Ponte Vecchio GPU
runner: '["Linux", "pvc"]'
target_devices: level_zero:gpu
- name: Intel L0 Battlemage GPU
runner: '["Linux", "bmg"]'
target_devices: level_zero:gpu
- name: Intel L0 Arc A-Series GPU
runner: '["Linux", "arc"]'
target_devices: level_zero:gpu
- name: Intel OCL Gen12 GPU
runner: '["Linux", "gen12"]'
target_devices: opencl:gpu
- name: OCL CPU (Intel/GEN12)
runner: '["Linux", "gen12"]'
image_options: -u 1001 --privileged --cap-add SYS_ADMIN
target_devices: opencl:cpu
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner }}
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps-111f18b3477aef0c4c30cd61f06058912171c127
image_options: ${{ matrix.image_options || '-u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN' }}
target_devices: ${{ matrix.target_devices }}
tests_selector: e2e
extra_lit_opts: ${{ matrix.extra_lit_opts }}
repo_ref: ${{ github.sha }}
toolchain_artifact: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact }}
toolchain_artifact_filename: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact_filename }}
toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.toolchain_decompress_command }}
build-win:
needs: get_build_info
uses: ./.github/workflows/sycl-windows-build.yml
with:
# We upload both Linux/Windows build via Github's "Releases"
# functionality, make sure Linux/Windows names follow the same pattern.
toolchain_artifact_filename: sycl_windows.tar.gz
build_configure_extra_args: '-DSYCL_BUILD_INFO="${{ needs.get_build_info.outputs.info }}" -DLLVM_SPIRV_ENABLE_LIBSPIRV_DIS=off -DCMAKE_POSITION_INDEPENDENT_CODE=ON --disable-jit --no-assertions --add_security_flags=sanitize'
release_toolchain_artifact: sycl_windows_release
e2e-win:
needs: build-win
# Continue if build was successful.
if: |
!cancelled()
&& needs.build-win.outputs.build_conclusion == 'success'
strategy:
fail-fast: false
matrix:
include:
- name: Intel L0 Gen12 GPU
runner: '["Windows", "gen12"]'
- name: Intel L0 Arc GPU
runner: '["Windows", "arc"]'
- name: Intel L0 Battlemage GPU
runner: '["Windows","bmg"]'
uses: ./.github/workflows/sycl-windows-run-tests.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner }}
target_devices: level_zero:gpu
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
build-sycl-cts-linux:
needs: ubuntu2204_build
permissions:
contents: write
packages: read
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: Build SYCL-CTS
runner: '["Linux", "build"]'
testing_mode: 'build-only'
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps-111f18b3477aef0c4c30cd61f06058912171c127
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
tests_selector: cts
repo_ref: ${{ github.sha }}
# Author: Alexey Bader <[email protected]>
# Date: Mon Jan 26 16:04:26 2026 -0800
# Merge pull request #1172 from frengels/crosscompile-target
# Placeholder should be used for link executable
tests_ref: d534667b7b5445d7c49f5e38f4ac045909d928ac
toolchain_artifact: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact }}
toolchain_artifact_filename: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact_filename }}
toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.toolchain_decompress_command }}
binaries_artifact: sycl_cts_bin_linux
run-sycl-cts-linux:
needs: [ubuntu2204_build, build-sycl-cts-linux]
permissions:
contents: write
packages: read
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
strategy:
fail-fast: false
matrix:
include:
- name: SYCL-CTS on OCL CPU
runner: '["Linux", "gen12"]'
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
target_devices: opencl:cpu
- name: SYCL-CTS on L0 gen12
runner: '["Linux", "gen12"]'
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
target_devices: level_zero:gpu
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner }}
testing_mode: 'run-only'
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps-111f18b3477aef0c4c30cd61f06058912171c127
image_options: ${{ matrix.image_options }}
target_devices: ${{ matrix.target_devices }}
tests_selector: cts
repo_ref: ${{ github.sha }}
toolchain_artifact: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact }}
toolchain_artifact_filename: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact_filename }}
toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.toolchain_decompress_command }}
binaries_artifact: sycl_cts_bin_linux
build-sycl-cts-win:
needs: build-win
if: ${{ !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
uses: ./.github/workflows/sycl-windows-run-tests.yml
with:
name: Build SYCL-CTS for Windows
runner: '["Windows", "build"]'
testing_mode: 'build-only'
tests_selector: cts
repo_ref: ${{ github.sha }}
# Author: Alexey Bader <[email protected]>
# Date: Mon Jan 26 16:04:26 2026 -0800
# Merge pull request #1172 from frengels/crosscompile-target
# Placeholder should be used for link executable
tests_ref: d534667b7b5445d7c49f5e38f4ac045909d928ac
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
binaries_artifact: sycl_cts_bin_win
run-sycl-cts-win:
needs: [build-win, build-sycl-cts-win]
if: ${{ !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
strategy:
fail-fast: false
matrix:
include:
- name: SYCL-CTS on L0 gen12
runner: '["Windows", "gen12"]'
target_devices: level_zero:gpu
uses: ./.github/workflows/sycl-windows-run-tests.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner }}
testing_mode: 'run-only'
target_devices: ${{ matrix.target_devices }}
tests_selector: cts
repo_ref: ${{ github.sha }}
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
binaries_artifact: sycl_cts_bin_win
hardening-check:
needs: [ubuntu2204_build, build-win]
if: |
!cancelled()
&& needs.ubuntu2204_build.outputs.build_conclusion == 'success'
&& needs.build-win.outputs.build_conclusion == 'success'
uses: ./.github/workflows/sycl-hardening-check.yml
with:
sycl_linux_artifact: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact }}
sycl_linux_archive: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact_filename }}
sycl_linux_decompress_command: ${{ needs.ubuntu2204_build.outputs.toolchain_decompress_command }}
sycl_windows_artifact: ${{ needs.build-win.outputs.toolchain_artifact }}
sycl_windows_archive: ${{ needs.build-win.outputs.toolchain_artifact_filename }}