diff --git a/.github/workflows/sycl-linux-precommit.yml b/.github/workflows/sycl-linux-precommit.yml index bef9396b049eb..fc2788a2f7eea 100644 --- a/.github/workflows/sycl-linux-precommit.yml +++ b/.github/workflows/sycl-linux-precommit.yml @@ -26,6 +26,7 @@ on: - '.github/workflows/sycl-rel-nightly-launch.yml' - '.github/workflows/sycl-trivy.yml' - '.github/workflows/sycl-coverity.yml' + - '.github/workflows/sycl-weekly.yml' - 'devops/containers/**' - 'devops/actions/build_container/**' - 'unified-runtime/examples/**' diff --git a/.github/workflows/sycl-weekly.yml b/.github/workflows/sycl-weekly.yml index df07fb8f51d29..a5e6d632c2fd4 100644 --- a/.github/workflows/sycl-weekly.yml +++ b/.github/workflows/sycl-weekly.yml @@ -9,66 +9,99 @@ on: 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_configure_extra_args: '' + # ubuntu2204_build: + # if: github.repository == 'intel/llvm' + # uses: ./.github/workflows/sycl-linux-build.yml + # secrets: inherit + # with: + # build_cache_root: "/__w/" + # build_configure_extra_args: '' - toolchain_artifact: sycl_linux_default + # toolchain_artifact: sycl_linux_default - # This job builds SYCL-CTS with -fsycl-use-spirv-backend-for-spirv-gen. - build-sycl-cts: - 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_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - 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 }} - extra_cmake_args: -DDPCPP_FLAGS=-fsycl-use-spirv-backend-for-spirv-gen - binaries_artifact: sycl_cts_bin + # # This job builds SYCL-CTS with -fsycl-use-spirv-backend-for-spirv-gen. + # build-sycl-cts: + # 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_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + # 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 }} + # extra_cmake_args: -DDPCPP_FLAGS=-fsycl-use-spirv-backend-for-spirv-gen + # binaries_artifact: sycl_cts_bin - run-sycl-cts: - needs: [ubuntu2204_build, build-sycl-cts] - 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 PVC w/ LLVM SPIR-V Backend - runner: '["Linux", "pvc"]' - image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN - target_devices: opencl:cpu + # run-sycl-cts: + # needs: [ubuntu2204_build, build-sycl-cts] + # 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 PVC w/ LLVM SPIR-V Backend + # runner: '["Linux", "pvc"]' + # image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN + # target_devices: opencl:cpu - - name: SYCL-CTS on L0 GPU PVC w/ LLVM SPIR-V Backend - runner: '["Linux", "pvc"]' - 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_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 + # - name: SYCL-CTS on L0 GPU PVC w/ LLVM SPIR-V Backend + # runner: '["Linux", "pvc"]' + # 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_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 + + yarpgen: + if: ${{ !cancelled() }} + runs-on: [Linux, build] + container: + # This workflow runs on Sundays, so in almost all cases there are no new + # commits on Saturday, and therefore the latest nightly can be used. + # TODO: Consider switching sycl-cts run to nightly build. + image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest + # Is it the minimum set of options to get a working toolchain? + options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN + steps: + - name: Set up yarpgen + run: | + git clone https://github.com/intel/yarpgen.git + cmake -B yarpgen/build -G Ninja yarpgen/ + ninja -C yarpgen/build + - name: Run yarpgen + run: | + cd yarpgen + python3 --version + # A system hits OOM when using all available threads. + python3 scripts/run_gen.py --target clang -j4 + - name: Pack results + run: tar -czf yarpgen_results.tar.gz yarpgen/testing + - uses: actions/upload-artifact@v5 + with: + name: yarpgen_results + path: yarpgen_results.tar.gz + retention-days: 7 + - name: Clean up + if: always() + run: rm -rf yarpgen yarpgen_results.tar.gz diff --git a/.github/workflows/sycl-windows-precommit.yml b/.github/workflows/sycl-windows-precommit.yml index 3be34f80b6229..35537b9548054 100644 --- a/.github/workflows/sycl-windows-precommit.yml +++ b/.github/workflows/sycl-windows-precommit.yml @@ -25,6 +25,7 @@ on: - '.github/workflows/sycl-rel-nightly-launch.yml' - '.github/workflows/sycl-trivy.yml' - '.github/workflows/sycl-coverity.yml' + - '.github/workflows/sycl-weekly.yml' - 'devops/containers/**' - 'devops/actions/build_container/**' - 'devops/compat_ci_exclude.sycl-rel-6_2'