[clang] [llvm] workflows/release-binaries: Enable Windows x86 builds (PR #128274)
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 26 22:44:23 PDT 2025
https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/128274
>From 2110f92892dd72dfbe1a7d87116faa3693c7c586 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 22 Feb 2025 03:08:24 +0000
Subject: [PATCH 1/6] workflows/release-binaries: Enable Windows x86 builds
---
.github/workflows/release-binaries-all.yml | 1 +
.github/workflows/release-binaries.yml | 17 +++++++++++------
clang/cmake/caches/Release.cmake | 5 ++++-
3 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/release-binaries-all.yml b/.github/workflows/release-binaries-all.yml
index 0b52a08202f1a..4e67b44ccbad3 100644
--- a/.github/workflows/release-binaries-all.yml
+++ b/.github/workflows/release-binaries-all.yml
@@ -92,6 +92,7 @@ jobs:
- ubuntu-22.04-arm
- macos-13
- macos-14
+ - windows-2019
uses: ./.github/workflows/release-binaries.yml
with:
diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml
index c113b42dc8ed4..2854fd36e31aa 100644
--- a/.github/workflows/release-binaries.yml
+++ b/.github/workflows/release-binaries.yml
@@ -118,9 +118,15 @@ jobs:
echo "ref=$ref" >> $GITHUB_OUTPUT
echo "upload=$upload" >> $GITHUB_OUTPUT
+ if [ "$RUNNER_OS" = "Windows" ]; then
+ release_binary_suffix="exe"
+ else
+ release_binary_suffix="tar.xz"
+ fi
+
release_binary_basename="LLVM-$release_version-$RUNNER_OS-$RUNNER_ARCH"
echo "release-binary-basename=$release_binary_basename" >> $GITHUB_OUTPUT
- echo "release-binary-filename=$release_binary_basename.tar.xz" >> $GITHUB_OUTPUT
+ echo "release-binary-filename=$release_binary_basename.$release_binary_suffix" >> $GITHUB_OUTPUT
target="$RUNNER_OS-$RUNNER_ARCH"
# The hendrikmuhs/ccache-action action does not support installing sccache
@@ -151,11 +157,6 @@ jobs:
build_flang="true"
- if [ "$RUNNER_OS" = "Windows" ]; then
- # The build times out on Windows, so we need to disable LTO.
- target_cmake_flags="$target_cmake_flags -DLLVM_RELEASE_ENABLE_LTO=OFF"
- fi
-
echo "target-cmake-flags=$target_cmake_flags" >> $GITHUB_OUTPUT
echo "build-flang=$build_flang" >> $GITHUB_OUTPUT
case "${{ inputs.runs-on }}" in
@@ -179,6 +180,10 @@ jobs:
fi
test_runs_on="${{ inputs.runs-on }}"
;;
+ windows-2019)
+ build_runs_on="llvm-premerge-windows-runners"
+ test_runs_on="$build_runs_on"
+ ;;
*)
test_runs_on="${{ inputs.runs-on }}"
build_runs_on=$test_runs_on
diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake
index fb12dfcdcb5a5..595552985b788 100644
--- a/clang/cmake/caches/Release.cmake
+++ b/clang/cmake/caches/Release.cmake
@@ -140,7 +140,10 @@ set_final_stage_var(LLVM_ENABLE_PROJECTS "${LLVM_RELEASE_ENABLE_PROJECTS}" STRIN
if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux")
set_final_stage_var(CLANG_BOLT "INSTRUMENT" STRING)
endif()
-set_final_stage_var(CPACK_GENERATOR "TXZ" STRING)
++# We want to generate an installer on Windows.
+if(NOT ${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
+ set_final_stage_var(CPACK_GENERATOR "TXZ" STRING)
+endif()
set_final_stage_var(CPACK_ARCHIVE_THREADS "0" STRING)
set_final_stage_var(LLVM_USE_STATIC_ZSTD "ON" BOOL)
>From a0313b17419ef01b13d236852a8b242b8680a603 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Mon, 24 Feb 2025 18:17:47 +0000
Subject: [PATCH 2/6] Fix typo
---
clang/cmake/caches/Release.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake
index 595552985b788..cd84df263cf1b 100644
--- a/clang/cmake/caches/Release.cmake
+++ b/clang/cmake/caches/Release.cmake
@@ -140,7 +140,7 @@ set_final_stage_var(LLVM_ENABLE_PROJECTS "${LLVM_RELEASE_ENABLE_PROJECTS}" STRIN
if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux")
set_final_stage_var(CLANG_BOLT "INSTRUMENT" STRING)
endif()
-+# We want to generate an installer on Windows.
+# We want to generate an installer on Windows.
if(NOT ${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
set_final_stage_var(CPACK_GENERATOR "TXZ" STRING)
endif()
>From 434b4f8d567c0df39032a99d1c9281fc7a337f89 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Mon, 24 Feb 2025 18:37:28 +0000
Subject: [PATCH 3/6] Disable unsupported runtimes
---
clang/cmake/caches/Release.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake
index cd84df263cf1b..a2b9853b5c7e8 100644
--- a/clang/cmake/caches/Release.cmake
+++ b/clang/cmake/caches/Release.cmake
@@ -56,7 +56,7 @@ set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
set(STAGE1_PROJECTS "clang")
# Build all runtimes so we can statically link them into the stage2 compiler.
-set(STAGE1_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind")
+set(STAGE1_RUNTIMES ${DEFAULT_RUNTIMES})
if (LLVM_RELEASE_ENABLE_PGO)
list(APPEND STAGE1_PROJECTS "lld")
>From 1854aedd4031b32e2656dc20421f78aa861a0ab5 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 26 Jul 2025 22:42:08 -0700
Subject: [PATCH 4/6] Windows-2022
---
.github/workflows/release-binaries-all.yml | 2 +-
.github/workflows/release-binaries.yml | 5 +----
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/release-binaries-all.yml b/.github/workflows/release-binaries-all.yml
index 4e67b44ccbad3..4be18c50be9c3 100644
--- a/.github/workflows/release-binaries-all.yml
+++ b/.github/workflows/release-binaries-all.yml
@@ -92,7 +92,7 @@ jobs:
- ubuntu-22.04-arm
- macos-13
- macos-14
- - windows-2019
+ - windows-2022
uses: ./.github/workflows/release-binaries.yml
with:
diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml
index 2854fd36e31aa..be65e8a5378d4 100644
--- a/.github/workflows/release-binaries.yml
+++ b/.github/workflows/release-binaries.yml
@@ -161,6 +161,7 @@ jobs:
echo "build-flang=$build_flang" >> $GITHUB_OUTPUT
case "${{ inputs.runs-on }}" in
ubuntu-22.04*)
+ windows-2022)
build_runs_on="depot-${{ inputs.runs-on }}-16"
test_runs_on=$build_runs_on
;;
@@ -180,10 +181,6 @@ jobs:
fi
test_runs_on="${{ inputs.runs-on }}"
;;
- windows-2019)
- build_runs_on="llvm-premerge-windows-runners"
- test_runs_on="$build_runs_on"
- ;;
*)
test_runs_on="${{ inputs.runs-on }}"
build_runs_on=$test_runs_on
>From ecf2b179e776c394c97ceb2016baed81e18fd387 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 26 Jul 2025 22:42:58 -0700
Subject: [PATCH 5/6] Windows fixes
---
.github/workflows/release-binaries.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml
index be65e8a5378d4..7da7723b99ffa 100644
--- a/.github/workflows/release-binaries.yml
+++ b/.github/workflows/release-binaries.yml
@@ -23,6 +23,7 @@ on:
- ubuntu-22.04-arm
- macos-13
- macos-14
+ - windows-2022
workflow_call:
inputs:
>From 03222fcc67847c4f292a3916067a986c6ec03777 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 26 Jul 2025 22:43:54 -0700
Subject: [PATCH 6/6] XXX: Debug
---
.github/workflows/release-binaries-all.yml | 4 ----
1 file changed, 4 deletions(-)
diff --git a/.github/workflows/release-binaries-all.yml b/.github/workflows/release-binaries-all.yml
index 4be18c50be9c3..e9a2f7fb295cc 100644
--- a/.github/workflows/release-binaries-all.yml
+++ b/.github/workflows/release-binaries-all.yml
@@ -88,10 +88,6 @@ jobs:
# We use ubuntu-22.04 rather than the latest version to make the built
# binaries more portable (eg functional aginast older glibc).
runs-on:
- - ubuntu-22.04
- - ubuntu-22.04-arm
- - macos-13
- - macos-14
- windows-2022
uses: ./.github/workflows/release-binaries.yml
More information about the llvm-commits
mailing list