[CI] Only run one post commit job on a push to a pull request in sycl-devops-pr #3161
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 Post Commit | |
on: | |
push: | |
branches: | |
- sycl | |
- sycl-devops-pr/** | |
- sycl-rel-** | |
pull_request: | |
branches: | |
- sycl | |
- sycl-devops-pr/** | |
paths: | |
- .github/workflows/sycl-post-commit.yml | |
- .github/workflows/sycl-linux-build.yml | |
- .github/workflows/sycl-linux-run-tests.yml | |
- .github/workflows/sycl-macos-build-and-test.yml | |
- ./devops/actions/cleanup | |
- ./devops/actions/cached_checkout | |
concurrency: | |
# Cancel a currently running workflow from the same PR or commit hash. | |
# We need to use the user's branch name (which is in different variables | |
# for pull request events and push events) so that making a PR from a | |
# sycl-devops-pr branch doesn't cause two postcommit runs. | |
group: "${{ github.actor }}-${{ github.head_ref || github.ref_name }}" | |
cancel-in-progress: true | |
permissions: read-all | |
jobs: | |
build-lin: | |
name: Linux (Self build + no-assertions) | |
if: github.repository == 'intel/llvm' | |
uses: ./.github/workflows/sycl-linux-build.yml | |
with: | |
build_cache_root: "/__w/llvm" | |
build_cache_suffix: default | |
build_artifact_suffix: default | |
build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" | |
# Docker image has last nightly pre-installed and added to the PATH | |
build_image: "ghcr.io/intel/llvm/sycl_ubuntu2204_nightly:build" | |
cc: clang | |
cxx: clang++ | |
merge_ref: '' | |
e2e-lin: | |
needs: [build-lin] | |
if: ${{ always() && !cancelled() && needs.build-lin.outputs.build_conclusion == 'success' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Intel GEN12 Graphics with Level Zero | |
runner: '["Linux", "gen12"]' | |
extra_lit_opts: --param gpu-intel-gen12=True | |
target_devices: level_zero:gpu;opencl:fpga | |
reset_intel_gpu: true | |
- name: Intel Arc A-Series Graphics with Level Zero | |
runner: '["Linux", "arc"]' | |
extra_lit_opts: --param matrix-xmx8=True --param gpu-intel-dg2=True | |
reset_intel_gpu: true | |
- 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 | |
reset_intel_gpu: false | |
# Performance tests below. Specifics: | |
# - only run performance tests (use LIT_FILTER env) | |
# - ask llvm-lit to show all the output, even for PASS (-a) | |
# - run in single thread (-j 1) | |
# - enable the tests in LIT (--param enable-perf-tests=True) | |
# - run on all available devices. | |
- name: Perf tests on Intel GEN12 Graphics system | |
runner: '["Linux", "gen12"]' | |
env: '{"LIT_FILTER":"PerformanceTests/"}' | |
extra_lit_opts: -a -j 1 --param enable-perf-tests=True --param gpu-intel-gen12=True | |
target_devices: all | |
reset_intel_gpu: true | |
- name: Perf tests on Intel Arc A-Series Graphics system | |
runner: '["Linux", "arc"]' | |
env: '{"LIT_FILTER":"PerformanceTests/"}' | |
extra_lit_opts: -a -j 1 --param enable-perf-tests=True | |
target_devices: all | |
reset_intel_gpu: true | |
uses: ./.github/workflows/sycl-linux-run-tests.yml | |
with: | |
name: ${{ matrix.name }} | |
runner: ${{ matrix. runner }} | |
image: ${{ matrix.image || 'ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest' }} | |
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 || 'level_zero:gpu' }} | |
reset_intel_gpu: ${{ matrix.reset_intel_gpu }} | |
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-lin.outputs.artifact_archive_name }} | |
sycl_toolchain_decompress_command: ${{ needs.build-lin.outputs.artifact_decompress_command }} | |
build-win: | |
if: | | |
always() | |
&& success() | |
&& github.repository == 'intel/llvm' | |
uses: ./.github/workflows/sycl-windows-build.yml | |
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 | |
macos_default: | |
name: macOS | |
if: github.repository == 'intel/llvm' | |
uses: ./.github/workflows/sycl-macos-build-and-test.yml |