diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py index 95351c46fad59..00852d65005ea 100644 --- a/.ci/compute_projects.py +++ b/.ci/compute_projects.py @@ -95,7 +95,6 @@ EXCLUDE_WINDOWS = { "cross-project-tests", # TODO(issues/132797): Tests are failing. - "compiler-rt", # TODO(issues/132798): Tests take excessive time. "openmp", # TODO(issues/132799): Does not detect perl installation. "libc", # No Windows Support. "lldb", # TODO(issues/132800): Needs environment setup. diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py index 7d780b51ca5d1..ef180b85b78dd 100644 --- a/.ci/compute_projects_test.py +++ b/.ci/compute_projects_test.py @@ -110,15 +110,15 @@ def test_clang_windows(self): ["clang/CMakeLists.txt"], "Windows" ) self.assertEqual( - env_variables["projects_to_build"], "clang;clang-tools-extra;llvm" + env_variables["projects_to_build"], "clang;clang-tools-extra;lld;llvm" ) self.assertEqual( env_variables["project_check_targets"], "check-clang check-clang-tools" ) - self.assertEqual(env_variables["runtimes_to_build"], "") + self.assertEqual(env_variables["runtimes_to_build"], "compiler-rt") self.assertEqual( env_variables["runtimes_check_targets"], - "", + "check-compiler-rt", ) self.assertEqual( env_variables["runtimes_check_targets_needs_reconfig"], @@ -318,11 +318,11 @@ def test_windows_ci(self): ) self.assertEqual( env_variables["runtimes_to_build"], - "", + "compiler-rt", ) self.assertEqual( env_variables["runtimes_check_targets"], - "", + "check-compiler-rt", ) self.assertEqual( env_variables["runtimes_check_targets_needs_reconfig"], diff --git a/.ci/monolithic-windows.sh b/.ci/monolithic-windows.sh index 0f3a1994a0497..14dea04c04291 100755 --- a/.ci/monolithic-windows.sh +++ b/.ci/monolithic-windows.sh @@ -17,6 +17,8 @@ source .ci/utils.sh projects="${1}" targets="${2}" +runtimes="${3}" +runtimes_targets="${4}" start-group "CMake" pip install -q -r "${MONOREPO_ROOT}"/.ci/all_requirements.txt @@ -46,9 +48,14 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \ -D MLIR_ENABLE_BINDINGS_PYTHON=ON \ -D CMAKE_EXE_LINKER_FLAGS="/MANIFEST:NO" \ -D CMAKE_MODULE_LINKER_FLAGS="/MANIFEST:NO" \ - -D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO" + -D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO" \ + -D LLVM_ENABLE_RUNTIMES="${runtimes}" start-group "ninja" # Targets are not escaped as they are passed as separate arguments. ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log + +start-group "ninja runtimes" + +ninja -C "${BUILD_DIR}" -k 0 ${runtimes_targets} |& tee ninja_runtimes.log diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index a41c4d7f81eb5..63ab4a8356971 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -108,9 +108,13 @@ jobs: echo "Building projects: ${projects_to_build}" echo "Running project checks targets: ${project_check_targets}" + echo "Building runtimes: ${runtimes_to_build}" + echo "Running runtimes checks targets: ${runtimes_check_targets}" echo "windows-projects=${projects_to_build}" >> $GITHUB_OUTPUT echo "windows-check-targets=${project_check_targets}" >> $GITHUB_OUTPUT + echo "windows-runtimes=${runtimes_to_build}" >> $GITHUB_OUTPUT + echo "windows-runtimes-check-targets=${runtimes_check_targets}" >> $GITHUB_OUTPUT - name: Build and Test if: ${{ steps.vars.outputs.windows-projects != '' }} shell: cmd @@ -118,7 +122,7 @@ jobs: call C:\\BuildTools\\Common7\\Tools\\VsDevCmd.bat -arch=amd64 -host_arch=amd64 # See the comments above in the Linux job for why we define each of # these environment variables. - bash -c "export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET; export SCCACHE_GCS_RW_MODE=READ_WRITE; export SCCACHE_IDLE_TIMEOUT=0; mkdir artifacts; SCCACHE_LOG=info SCCACHE_ERROR_LOG=$(pwd)/artifacts/sccache.log sccache --start-server; .ci/monolithic-windows.sh \"${{ steps.vars.outputs.windows-projects }}\" \"${{ steps.vars.outputs.windows-check-targets }}\"" + bash -c "export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET; export SCCACHE_GCS_RW_MODE=READ_WRITE; export SCCACHE_IDLE_TIMEOUT=0; mkdir artifacts; SCCACHE_LOG=info SCCACHE_ERROR_LOG=$(pwd)/artifacts/sccache.log sccache --start-server; .ci/monolithic-windows.sh \"${{ steps.vars.outputs.windows-projects }}\" \"${{ steps.vars.outputs.windows-check-targets }}\" \"${{ steps.vars.outputs.windows-runtimes }}\" \"${{ steps.vars.outputs.windows-runtimes-check-targets }}\"" - name: Upload Artifacts # In some cases, Github will fail to upload the artifact. We want to # continue anyways as a failed artifact upload is an infra failure, not