[CI] Enable check-sycl-unittests in CI #1328
Workflow file for this run
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 Pre Commit on Linux | |
on: | |
# We rely on "Fork pull request workflows from outside collaborators" - | |
# "Require approval for all outside collaborators" at | |
# https://github.com/intel/llvm/settings/actions for security. | |
pull_request: | |
branches: | |
- sycl | |
- sycl-devops-pr/** | |
- sycl-rel-** | |
# Do not run builds if changes are only in the following locations | |
paths-ignore: | |
- '.github/ISSUE_TEMPLATE/**' | |
- '.github/CODEOWNERS' | |
- 'sycl/doc/**' | |
- 'sycl/gdb/**' | |
- 'clang/docs/**' | |
- '**.md' | |
- '**.rst' | |
- '.github/workflows/sycl-windows-*.yml' | |
- '.github/workflows/sycl-macos-*.yml' | |
- '.github/workflows/sycl-nightly.yml' | |
- 'devops/containers/**' | |
- 'devops/actions/build_container/**' | |
concurrency: | |
# Cancel a currently running workflow from the same PR, branch or tag. | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
detect_changes: | |
uses: ./.github/workflows/sycl-detect-changes.yml | |
build: | |
needs: [detect_changes] | |
if: always() && success() | |
uses: ./.github/workflows/sycl-linux-build.yml | |
with: | |
build_ref: ${{ github.sha }} | |
merge_ref: '' | |
build_cache_root: "/__w/" | |
build_artifact_suffix: "default" | |
build_cache_suffix: "default" | |
# FIXME: UR can't find /opt/rocm/hsa with rocm-6.0.0. Previous rocm-5.7.0 had it. | |
build_image: "ghcr.io/intel/llvm/ubuntu2204_build:7ed894ab0acc8ff09262113fdb08940d22654a30" | |
changes: ${{ needs.detect_changes.outputs.filters }} | |
test: | |
needs: [build, detect_changes] | |
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: AMD/HIP | |
runner: '["Linux", "amdgpu"]' | |
# FIXME: Keep in sync with the above hack. | |
image: ghcr.io/intel/llvm/ubuntu2204_build:7ed894ab0acc8ff09262113fdb08940d22654a30 | |
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd | |
target_devices: ext_oneapi_hip:gpu | |
- name: Intel | |
runner: '["Linux", "gen12"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest | |
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN | |
target_devices: ext_oneapi_level_zero:gpu;opencl:gpu;opencl:cpu | |
reset_gpu: true | |
install_drivers: ${{ contains(needs.detect_changes.outputs.filters, 'drivers') }} | |
extra_lit_opts: --param gpu-intel-gen12=True | |
- name: Matrix E2E tests on Intel Arc A-Series Graphics | |
runner: '["Linux", "arc"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest | |
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN | |
target_devices: ext_oneapi_level_zero:gpu;opencl:gpu | |
reset_gpu: true | |
install_drivers: ${{ contains(needs.detect_changes.outputs.filters, 'drivers') }} | |
extra_lit_opts: --param matrix-xmx8=True --param gpu-intel-dg2=True | |
env: '{"LIT_FILTER":"Matrix/"}' | |
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 }} | |
reset_gpu: ${{ matrix.reset_gpu }} | |
install_drivers: ${{ matrix.install_drivers }} | |
extra_lit_opts: ${{ matrix.extra_lit_opts }} | |
env: ${{ matrix.env || '{}' }} | |
ref: ${{ github.sha }} | |
merge_ref: '' | |
sycl_toolchain_artifact: sycl_linux_default | |
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }} | |
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }} | |
test-perf: | |
needs: [build, detect_changes] | |
if: | | |
always() && !cancelled() | |
&& needs.build.outputs.build_conclusion == 'success' | |
&& (contains(github.event.pull_request.labels.*.name, 'run-perf-tests') | |
|| contains(needs.detect_changes.outputs.filters, 'perf-tests')) | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Intel GEN12 Graphics system | |
runner: '["Linux", "gen12"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest | |
image_extra_opts: --device=/dev/dri | |
reset_gpu: true | |
- name: Intel Arc A-Series Graphics system | |
runner: '["Linux", "arc"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest | |
image_extra_opts: --device=/dev/dri | |
reset_gpu: true | |
- name: AMD system | |
runner: '["Linux", "amdgpu"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_build:latest | |
image_extra_opts: --device=/dev/dri --device=/dev/kfd | |
extra_cmake_args: -DHIP_PLATFORM="AMD" -DAMD_ARCH="gfx1031" | |
- name: CUDA system | |
runner: '["Linux", "cuda"]' | |
image: ghcr.io/intel/llvm/ubuntu2204_build:latest | |
image_extra_opts: --gpus all | |
uses: ./.github/workflows/sycl-linux-run-tests.yml | |
with: | |
name: Perf tests on ${{ matrix.name }} | |
runner: ${{ matrix. runner }} | |
image: ${{ matrix.image }} | |
image_options: -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }} | |
target_devices: all | |
reset_gpu: ${{ matrix.reset_gpu }} | |
env: '{"LIT_FILTER":"PerformanceTests/"}' | |
extra_lit_opts: -a -j 1 --param enable-perf-tests=True | |
extra_cmake_args: ${{ matrix.extra_cmake_args }} | |
ref: ${{ github.sha }} | |
merge_ref: '' | |
sycl_toolchain_artifact: sycl_linux_default | |
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }} | |
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }} |