From 6c45fabee1239489b2c1020b52d33abc8785477d Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Tue, 21 Oct 2025 14:06:18 +0200 Subject: [PATCH 1/6] [SYCL][CI] Move test utilities instal to sh I guess it's not possible to create a single cmake target to install all required test utilities since there is no root CMakeLists.txt. Therefore moving these steps to the shell script. --- .github/workflows/sycl-linux-build.yml | 16 ++-------------- .github/workflows/sycl-windows-build.yml | 12 +----------- devops/scripts/install_test_utilities.sh | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 25 deletions(-) create mode 100644 devops/scripts/install_test_utilities.sh diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 0bbd666633169..2540064f02386 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -286,20 +286,8 @@ jobs: - name: Install utilities if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} - # TODO replace utility installation with a single CMake target - run: | - cmake --build $GITHUB_WORKSPACE/build --target utils/FileCheck/install - cmake --build $GITHUB_WORKSPACE/build --target utils/count/install - cmake --build $GITHUB_WORKSPACE/build --target utils/not/install - cmake --build $GITHUB_WORKSPACE/build --target utils/lit/install - cmake --build $GITHUB_WORKSPACE/build --target utils/llvm-lit/install - cmake --build $GITHUB_WORKSPACE/build --target install-llvm-size - cmake --build $GITHUB_WORKSPACE/build --target install-llvm-cov - cmake --build $GITHUB_WORKSPACE/build --target install-llvm-profdata - cmake --build $GITHUB_WORKSPACE/build --target install-compiler-rt - # This is required to perform the DeviceConfigFile consistency test, see - # sycl/test-e2e/Basic/device_config_file_consistency.cpp. - cmake --install $GITHUB_WORKSPACE/build --component DeviceConfigFile + run: ./devops/scripts/install_test_utilities.sh + - name: Additional Install for "--shared-libs" build if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && contains(inputs.build_configure_extra_args, '--shared-libs') }} run: | diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 8772fac8318f0..5d45285bd4642 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -221,17 +221,7 @@ jobs: - name: Install utilities if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} shell: bash - # TODO replace utility installation with a single CMake target - run: | - cmake --build build --target utils/FileCheck/install - cmake --build build --target utils/count/install - cmake --build build --target utils/not/install - cmake --build build --target utils/lit/install - cmake --build build --target utils/llvm-lit/install - cmake --build build --target install-llvm-size - cmake --build build --target install-llvm-cov - cmake --build build --target install-llvm-profdata - cmake --build build --target install-compiler-rt + run: ./devops/scripts/install_test_utilities.sh - name: Pack toolchain if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} shell: bash diff --git a/devops/scripts/install_test_utilities.sh b/devops/scripts/install_test_utilities.sh new file mode 100644 index 0000000000000..a4b879ea936db --- /dev/null +++ b/devops/scripts/install_test_utilities.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +cmake --build $GITHUB_WORKSPACE/build --target utils/FileCheck/install +cmake --build $GITHUB_WORKSPACE/build --target utils/count/install +cmake --build $GITHUB_WORKSPACE/build --target utils/not/install +cmake --build $GITHUB_WORKSPACE/build --target utils/lit/install +cmake --build $GITHUB_WORKSPACE/build --target utils/llvm-lit/install +cmake --build $GITHUB_WORKSPACE/build --target install-llvm-size +cmake --build $GITHUB_WORKSPACE/build --target install-llvm-cov +cmake --build $GITHUB_WORKSPACE/build --target install-llvm-profdata +cmake --build $GITHUB_WORKSPACE/build --target install-compiler-rt +# This is required to perform the DeviceConfigFile consistency test, see +# sycl/test-e2e/Basic/device_config_file_consistency.cpp. +cmake --install $GITHUB_WORKSPACE/build --component DeviceConfigFile From 07cdba822566332b3956c25cb441747d8f6b0a37 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Tue, 21 Oct 2025 15:49:03 +0200 Subject: [PATCH 2/6] fix path & use chmod --- .github/workflows/sycl-linux-build.yml | 4 +++- .github/workflows/sycl-windows-build.yml | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 2540064f02386..162d6bb6d5f91 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -286,7 +286,9 @@ jobs: - name: Install utilities if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} - run: ./devops/scripts/install_test_utilities.sh + run: | + chmod +x $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh + $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh - name: Additional Install for "--shared-libs" build if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && contains(inputs.build_configure_extra_args, '--shared-libs') }} diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 5d45285bd4642..7737a72ec2a04 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -221,7 +221,10 @@ jobs: - name: Install utilities if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} shell: bash - run: ./devops/scripts/install_test_utilities.sh + run: | + chmod +x $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh + $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh + - name: Pack toolchain if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} shell: bash From 8791b39d3c54b1600aa9ec15872ab1f2bdf91841 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Tue, 21 Oct 2025 16:35:53 +0200 Subject: [PATCH 3/6] upd permissions --- devops/scripts/install_test_utilities.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 devops/scripts/install_test_utilities.sh diff --git a/devops/scripts/install_test_utilities.sh b/devops/scripts/install_test_utilities.sh old mode 100644 new mode 100755 From f732713763c63be928cf96338eae0506b5f5f773 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Tue, 21 Oct 2025 16:37:09 +0200 Subject: [PATCH 4/6] drop chmod call --- .github/workflows/sycl-linux-build.yml | 1 - .github/workflows/sycl-windows-build.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 162d6bb6d5f91..74f43671e267d 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -287,7 +287,6 @@ jobs: - name: Install utilities if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} run: | - chmod +x $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh - name: Additional Install for "--shared-libs" build diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 7737a72ec2a04..cdc8250039e13 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -222,7 +222,6 @@ jobs: if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} shell: bash run: | - chmod +x $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh - name: Pack toolchain From ba5fe0963dc4fcdc7c83f0b12d6a109b81495690 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Fri, 24 Oct 2025 15:08:43 +0200 Subject: [PATCH 5/6] use cmake instead --- .github/workflows/sycl-linux-build.yml | 2 +- .github/workflows/sycl-windows-build.yml | 2 +- devops/scripts/install_test_utilities.sh | 14 -------------- sycl/CMakeLists.txt | 15 +++++++++++++++ 4 files changed, 17 insertions(+), 16 deletions(-) delete mode 100755 devops/scripts/install_test_utilities.sh diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 74f43671e267d..2637eb166422c 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -287,7 +287,7 @@ jobs: - name: Install utilities if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} run: | - $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh + cmake --build $GITHUB_WORKSPACE/build --target install-test-utilities - name: Additional Install for "--shared-libs" build if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && contains(inputs.build_configure_extra_args, '--shared-libs') }} diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index cdc8250039e13..ff031ec450632 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -222,7 +222,7 @@ jobs: if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} shell: bash run: | - $GITHUB_WORKSPACE/src/devops/scripts/install_test_utilities.sh + cmake --build $GITHUB_WORKSPACE/build --target install-test-utilities - name: Pack toolchain if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} diff --git a/devops/scripts/install_test_utilities.sh b/devops/scripts/install_test_utilities.sh deleted file mode 100755 index a4b879ea936db..0000000000000 --- a/devops/scripts/install_test_utilities.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -cmake --build $GITHUB_WORKSPACE/build --target utils/FileCheck/install -cmake --build $GITHUB_WORKSPACE/build --target utils/count/install -cmake --build $GITHUB_WORKSPACE/build --target utils/not/install -cmake --build $GITHUB_WORKSPACE/build --target utils/lit/install -cmake --build $GITHUB_WORKSPACE/build --target utils/llvm-lit/install -cmake --build $GITHUB_WORKSPACE/build --target install-llvm-size -cmake --build $GITHUB_WORKSPACE/build --target install-llvm-cov -cmake --build $GITHUB_WORKSPACE/build --target install-llvm-profdata -cmake --build $GITHUB_WORKSPACE/build --target install-compiler-rt -# This is required to perform the DeviceConfigFile consistency test, see -# sycl/test-e2e/Basic/device_config_file_consistency.cpp. -cmake --install $GITHUB_WORKSPACE/build --component DeviceConfigFile diff --git a/sycl/CMakeLists.txt b/sycl/CMakeLists.txt index ae3fa0335ab17..44c41370240c6 100644 --- a/sycl/CMakeLists.txt +++ b/sycl/CMakeLists.txt @@ -599,3 +599,18 @@ add_custom_target(deploy-sycl-toolchain add_subdirectory(doc) # SYCL End-to-End tests add_subdirectory(test-e2e) + +add_custom_target(install-test-utilities ALL + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/FileCheck/install + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/count/install + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/not/install + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/lit/install + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/llvm-lit/install + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-llvm-size + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-llvm-cov + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-llvm-profdata + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-compiler-rt + # This is required to perform the DeviceConfigFile consistency test, see + # sycl/test-e2e/Basic/device_config_file_consistency.cpp. + COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component DeviceConfigFile +) From 48376991f0c0749e91cef0c288047f661c1d1673 Mon Sep 17 00:00:00 2001 From: "Kornev, Nikita" Date: Tue, 28 Oct 2025 15:27:25 +0100 Subject: [PATCH 6/6] apply review suggestions --- .github/workflows/sycl-linux-build.yml | 2 +- .github/workflows/sycl-windows-build.yml | 2 +- sycl/CMakeLists.txt | 21 +++++++++++---------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 2637eb166422c..707013355aa70 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -287,7 +287,7 @@ jobs: - name: Install utilities if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} run: | - cmake --build $GITHUB_WORKSPACE/build --target install-test-utilities + cmake --build $GITHUB_WORKSPACE/build --target install-sycl-test-utilities - name: Additional Install for "--shared-libs" build if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && contains(inputs.build_configure_extra_args, '--shared-libs') }} diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index ff031ec450632..f44c2837eae3c 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -222,7 +222,7 @@ jobs: if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} shell: bash run: | - cmake --build $GITHUB_WORKSPACE/build --target install-test-utilities + cmake --build $GITHUB_WORKSPACE/build --target install-sycl-test-utilities - name: Pack toolchain if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }} diff --git a/sycl/CMakeLists.txt b/sycl/CMakeLists.txt index 44c41370240c6..a239497a7111d 100644 --- a/sycl/CMakeLists.txt +++ b/sycl/CMakeLists.txt @@ -600,16 +600,17 @@ add_subdirectory(doc) # SYCL End-to-End tests add_subdirectory(test-e2e) -add_custom_target(install-test-utilities ALL - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/FileCheck/install - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/count/install - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/not/install - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/lit/install - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target utils/llvm-lit/install - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-llvm-size - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-llvm-cov - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-llvm-profdata - COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install-compiler-rt +add_custom_target(install-sycl-test-utilities + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target + utils/FileCheck/install + utils/count/install + utils/not/install + utils/lit/install + utils/llvm-lit/install + install-llvm-size + install-llvm-cov + install-llvm-profdata + install-compiler-rt # This is required to perform the DeviceConfigFile consistency test, see # sycl/test-e2e/Basic/device_config_file_consistency.cpp. COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR} --component DeviceConfigFile