diff --git a/.github/workflows/sycl-detect-changes.yml b/.github/workflows/sycl-detect-changes.yml index 281e60db073b7..b2121d9e9f7cc 100644 --- a/.github/workflows/sycl-detect-changes.yml +++ b/.github/workflows/sycl-detect-changes.yml @@ -6,6 +6,9 @@ on: filters: description: Matched filters value: ${{ jobs.need_check.outputs.filters }} + benchmarks_only: + description: Whether only benchmarks were changed + value: ${{ jobs.need_check.outputs.benchmarks_only }} permissions: read-all @@ -16,6 +19,7 @@ jobs: timeout-minutes: 3 outputs: filters: ${{ steps.result.outputs.result }} + benchmarks_only: ${{ steps.benchmarks_only.outputs.result }} steps: - name: Set changed_files id: changed_files @@ -103,5 +107,17 @@ jobs: // Treat everything as changed for huge PRs. return ["llvm", "llvm_spirv", "clang", "sycl_jit", "xptifw", "libclc", "sycl", "ci", "esimd", "ur", "ur_cuda_adapter", "ur_offload_adapter"]; - - run: echo '${{ steps.result.outputs.result }}' - + - name: Set benchmarks_only output + id: benchmarks_only + env: + CHANGES: ${{ steps.changes.outputs.changes }} + run: | + has_benchmarks_only=true + for change in $(echo "$CHANGES" | tr -d '[]" ' | tr ',' '\n'); do + if [[ "$change" != "benchmarks" ]]; then + has_benchmarks_only=false + fi + done + echo "result=$has_benchmarks_only" >> $GITHUB_OUTPUT + + - run: echo '${{ steps.result.outputs.result }} ${{ steps.benchmarks_only.outputs.result }}' diff --git a/.github/workflows/sycl-linux-precommit.yml b/.github/workflows/sycl-linux-precommit.yml index 12986e98617fc..d1d25928a62aa 100644 --- a/.github/workflows/sycl-linux-precommit.yml +++ b/.github/workflows/sycl-linux-precommit.yml @@ -59,13 +59,16 @@ jobs: changes: ${{ needs.detect_changes.outputs.filters }} toolchain_artifact: sycl_linux_default - e2e_binaries_artifact: e2e_bin - e2e_binaries_preview_artifact: e2e_bin_preview + e2e_binaries_artifact: ${{ needs.detect_changes.outputs.benchmarks_only != 'true' && 'e2e_bin' || '' }} + e2e_binaries_preview_artifact: ${{ needs.detect_changes.outputs.benchmarks_only != 'true' && 'e2e_bin_preview' || '' }} # Build and run native cpu e2e tests separately as cannot currently # build all the e2e tests build_run_native_cpu_e2e_tests: - if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }} + if: | + always() && !cancelled() + && needs.build.outputs.build_conclusion == 'success' + && needs.detect_changes.outputs.benchmarks_only == 'false' runs-on: [Linux, build] needs: [build] container: @@ -138,7 +141,10 @@ jobs: E2E: needs: [build, detect_changes, compat_read_exclude] - if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }} + if: | + always() && !cancelled() + && needs.build.outputs.build_conclusion == 'success' + && needs.detect_changes.outputs.benchmarks_only == 'false' strategy: fail-fast: false matrix: diff --git a/.github/workflows/sycl-windows-precommit.yml b/.github/workflows/sycl-windows-precommit.yml index b8f8c675151d2..063e21337ea52 100644 --- a/.github/workflows/sycl-windows-precommit.yml +++ b/.github/workflows/sycl-windows-precommit.yml @@ -26,6 +26,7 @@ on: - 'devops/containers/**' - 'devops/actions/build_container/**' - 'devops/compat_ci_exclude.sycl-rel-6_2' + - 'devops/scripts/benchmarks/**' - 'unified-runtime/examples/**' - 'unified-runtime/scripts/**' - 'unified-runtime/test/**'