SYCL Nightly #420
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SYCL Nightly | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 3 * * *' | |
permissions: read-all | |
jobs: | |
ubuntu2204_build: | |
if: github.repository == 'intel/llvm' | |
uses: ./.github/workflows/sycl-linux-build.yml | |
secrets: inherit | |
with: | |
build_cache_root: "/__w/" | |
build_artifact_suffix: default | |
build_configure_extra_args: '--hip --cuda' | |
merge_ref: '' | |
retention-days: 90 | |
# We upload the build for people to download/use, override its name and | |
# prefer widespread gzip compression. | |
artifact_archive_name: sycl_linux.tar.gz | |
ubuntu2204_shared_build: | |
# if: github.repository == 'intel/llvm' | |
if: false | |
uses: ./.github/workflows/sycl-linux-build.yml | |
secrets: inherit | |
with: | |
build_cache_root: "/__w/" | |
build_cache_suffix: sprod_shared | |
build_artifact_suffix: sprod_shared | |
build_configure_extra_args: '--shared-libs --hip --cuda --native_cpu' | |
merge_ref: '' | |
artifact_archive_name: sycl_linux_shared.tar.zst | |
ubuntu2204_test: | |
needs: [ubuntu2204_build] | |
# if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} | |
if: false | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: AMD/HIP | |
runner: '["Linux", "amdgpu"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_build:latest | |
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd | |
target_devices: ext_oneapi_hip:gpu | |
tests_selector: e2e | |
- name: Intel L0 GPU | |
runner: '["Linux", "gen12"]' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN | |
target_devices: level_zero:gpu | |
reset_intel_gpu: true | |
tests_selector: e2e | |
extra_lit_opts: --param gpu-intel-gen12=True | |
- name: Intel OCL GPU | |
runner: '["Linux", "gen12"]' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN | |
target_devices: opencl:gpu | |
reset_intel_gpu: true | |
tests_selector: e2e | |
extra_lit_opts: --param gpu-intel-gen12=True | |
- name: OCL CPU (AMD) | |
runner: '["Linux", "amdgpu"]' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 | |
target_devices: opencl:cpu | |
tests_selector: e2e | |
- name: OCL CPU (Intel/GEN12) | |
runner: '["Linux", "gen12"]' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 --privileged --cap-add SYS_ADMIN | |
target_devices: opencl:cpu | |
tests_selector: e2e | |
- name: OCL CPU (Intel/Arc) | |
runner: '["Linux", "arc"]' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 | |
target_devices: opencl:cpu | |
tests_selector: e2e | |
uses: ./.github/workflows/sycl-linux-run-tests.yml | |
with: | |
name: ${{ matrix.name }} | |
runner: ${{ matrix.runner }} | |
image: ${{ matrix.image }} | |
image_options: ${{ matrix.image_options }} | |
target_devices: ${{ matrix.target_devices }} | |
tests_selector: ${{ matrix.tests_selector }} | |
extra_lit_opts: "--param 'cxx_flags=-D_GLIBCXX_USE_CXX11_ABI=0' ${{ matrix.extra_lit_opts }}" | |
reset_intel_gpu: ${{ matrix.reset_intel_gpu }} | |
ref: ${{ github.sha }} | |
merge_ref: '' | |
sycl_toolchain_artifact: sycl_linux_default | |
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }} | |
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }} | |
build-win: | |
uses: ./.github/workflows/sycl-windows-build.yml | |
# if: github.repository == 'intel/llvm' | |
if: false | |
with: | |
retention-days: 90 | |
# We upload both Linux/Windows build via Github's "Releases" | |
# functionality, make sure Linux/Windows names follow the same pattern. | |
artifact_archive_name: sycl_windows.tar.gz | |
e2e-win: | |
needs: build-win | |
# Continue if build was successful. | |
if: | | |
always() | |
&& !cancelled() | |
&& needs.build-win.outputs.build_conclusion == 'success' | |
uses: ./.github/workflows/sycl-windows-run-tests.yml | |
with: | |
name: Intel GEN12 Graphics with Level Zero | |
runner: '["Windows","gen12"]' | |
sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }} | |
extra_lit_opts: --param gpu-intel-gen12=True | |
cuda-aws-start: | |
needs: [ubuntu2204_build] | |
# if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} | |
if: false | |
uses: ./.github/workflows/sycl-aws.yml | |
secrets: inherit | |
with: | |
mode: start | |
cuda-run-tests: | |
needs: [ubuntu2204_build, cuda-aws-start] | |
# if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} | |
if: false | |
uses: ./.github/workflows/sycl-linux-run-tests.yml | |
with: | |
name: CUDA E2E | |
runner: '["aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_build:latest-0300ac924620a51f76c4929794637b82790f12ab | |
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1 | |
target_devices: ext_oneapi_cuda:gpu | |
ref: ${{ github.sha }} | |
merge_ref: '' | |
sycl_toolchain_artifact: sycl_linux_default | |
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }} | |
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }} | |
cuda-aws-stop: | |
needs: [cuda-aws-start, cuda-run-tests] | |
# if: always() && ${{ needs.cuda-aws-start.result != 'skipped' }} | |
if: false | |
uses: ./.github/workflows/sycl-aws.yml | |
secrets: inherit | |
with: | |
mode: stop | |
build-sycl-cts: | |
needs: ubuntu2204_build | |
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} | |
uses: ./.github/workflows/sycl-linux-run-tests.yml | |
with: | |
name: Build SYCL-CTS | |
runner: '["Linux", "build"]' | |
cts_build_only: 'true' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN | |
tests_selector: cts | |
ref: ${{ github.sha }} | |
sycl_toolchain_artifact: sycl_linux_default | |
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }} | |
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }} | |
run-sycl-cts: | |
needs: build-sycl-cts | |
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: SYCL-CTS on OCL CPU | |
runner: '["Linux", "gen12"]' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN | |
target_devices: opencl:cpu | |
tests_selector: cts | |
- name: SYCL-CTS on L0 gen12 | |
runner: '["Linux", "gen12"]' | |
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | |
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN | |
target_devices: level_zero:gpu | |
tests_selector: cts | |
uses: ./.github/workflows/sycl-linux-run-tests.yml | |
with: | |
name: ${{ matrix.name }} | |
runner: ${{ matrix.runner }} | |
image: ${{ matrix.image }} | |
image_options: ${{ matrix.image_options }} | |
target_devices: ${{ matrix.target_devices }} | |
tests_selector: ${{ matrix.tests_selector }} | |
ref: ${{ github.sha }} | |
merge_ref: '' | |
sycl_toolchain_artifact: sycl_linux_default | |
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }} | |
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }} | |
sycl_cts_artifact: sycl_cts_bin | |
nightly_build_upload: | |
name: Nightly Build Upload | |
if: ${{ github.ref_name == 'sycl' }} | |
needs: [ubuntu2204_build, build-win] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: sycl_linux_default | |
- uses: actions/download-artifact@v4 | |
with: | |
name: sycl_windows_default | |
- name: Compute tag | |
id: tag | |
run: | | |
if [ "${{ github.event_name == 'schedule' }}" == "true" ]; then | |
echo "TAG=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT" | |
else | |
# TODO: Use date of the commit? | |
echo "TAG=$(date +'%Y-%m-%d')-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" | |
fi | |
- name: Upload binaries | |
uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 | |
with: | |
files: | | |
sycl_linux.tar.gz | |
sycl_windows.tar.gz | |
tag_name: nightly-${{ steps.tag.outputs.TAG }} | |
name: DPC++ daily ${{ steps.tag.outputs.TAG }} | |
prerelease: true | |
body: "Daily build ${{ steps.tag.outputs.TAG }}" | |
target_commitish: ${{ github.sha }} | |
ubuntu2204_docker_build_push: | |
# if: github.repository == 'intel/llvm' | |
if: false | |
runs-on: [Linux, build] | |
permissions: | |
packages: write | |
needs: ubuntu2204_build | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: sycl_linux_default | |
path: devops/ | |
- name: Build and Push Container (with drivers) | |
uses: ./devops/actions/build_container | |
with: | |
push: ${{ github.ref_name == 'sycl' }} | |
file: ubuntu2204_preinstalled | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
build-args: | | |
base_image=ghcr.io/intel/llvm/ubuntu2404_intel_drivers | |
base_tag=latest | |
tags: | | |
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }} | |
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:latest | |
- name: Build and Push Container (no drivers) | |
uses: ./devops/actions/build_container | |
with: | |
push: ${{ github.ref_name == 'sycl' }} | |
file: ubuntu2204_preinstalled | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
build-args: | | |
base_image=ghcr.io/intel/llvm/ubuntu2204_base | |
base_tag=latest | |
tags: | | |
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers-${{ github.sha }} | |
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:no-drivers | |
- name: Build and Push Container (Build image) | |
uses: ./devops/actions/build_container | |
with: | |
push: ${{ github.ref_name == 'sycl' }} | |
file: ubuntu2204_preinstalled | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
build-args: | | |
base_image=ghcr.io/intel/llvm/ubuntu2204_build | |
base_tag=latest | |
tags: | | |
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build-${{ github.sha }} | |
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:build |