From 84662c762c5beb07c26ad1a89a1e4566cd20ab88 Mon Sep 17 00:00:00 2001 From: Sam Khouri Date: Thu, 10 Apr 2025 10:07:40 -0400 Subject: [PATCH] presets: Update swift macos/linux preset Create a common Swift build preset configuration, and use this preset in the Swift PM macos and linux presets to ensure the SwiftPM presets is as close as possible to the Swift presets. --- utils/build-presets.ini | 163 +++++++++++++++++++--------------------- 1 file changed, 76 insertions(+), 87 deletions(-) diff --git a/utils/build-presets.ini b/utils/build-presets.ini index 52ff0cf2c2f19..5970fb67780e4 100644 --- a/utils/build-presets.ini +++ b/utils/build-presets.ini @@ -162,6 +162,66 @@ swift-stdlib-enable-assertions=true enable-array-cow-checks +[preset: mixin_swift_build_base_common] +mixin-preset= + buildbot_incremental_base + mixin_buildbot_install_components_with_clang + +## Common SwiftPM +libcxx +llbuild +sourcekit-lsp +swiftformat +swiftpm +swiftsyntax +swift-testing +swift-testing-macros + +install-llvm +install-static-linux-config +install-swift +install-llbuild +install-swiftformat +install-swiftpm +install-swiftsyntax +install-swift-testing +install-swift-testing-macros + +[preset: mix_swift_build_base_linux] +mixin-preset= + mixin_linux_installation + mixin_swift_build_base_common + +foundation +lldb +libdispatch +indexstore-db +xctest + +libcxx=false + +install-foundation +install-libdispatch +install-xctest + +toolchain-benchmarks + + +[preset: mix_swift_build_base_macos] +mixin-preset= + buildbot_incremental_base + lldb-smoketest,tools=RA + mixin_buildbot_install_components_with_clang + mixin_swift_build_base_common + +libcxx +swift-driver +indexstore-db +# Failing to build in CI: rdar://78408440 +# swift-inspect +install-swift-driver + + [preset: buildbot,tools=RA,stdlib=DA] mixin-preset= @@ -605,10 +665,7 @@ swift-stdlib-build-type=RelWithDebInfo [preset: buildbot_incremental,tools=RA,stdlib=RD,smoketest=macosx] -mixin-preset= - buildbot_incremental_base - lldb-smoketest,tools=RA - mixin_buildbot_install_components_with_clang +mixin-preset=mixin_swiftpm_base_common build-subdir=buildbot_incremental # We build release+asserts. @@ -617,25 +674,6 @@ assertions llvm-targets-to-build=X86;ARM;AArch64;PowerPC;RISCV;AVR -libcxx -llbuild -swiftpm -swiftsyntax -swiftformat -swift-driver -indexstore-db -sourcekit-lsp -# Failing to build in CI: rdar://78408440 -# swift-inspect -install-llvm -install-static-linux-config -install-swift -install-llbuild -install-swiftpm -install-swiftsyntax -install-swift-driver -install-swiftformat - # We need to build the unittest extras so we can test build-swift-stdlib-unittest-extra @@ -841,31 +879,19 @@ llvm-install-components=llvm-ar;llvm-ranlib;llvm-cov;llvm-profdata;IndexStore;cl [preset: mixin_linux_installation] mixin-preset= mixin_linux_install_components_with_clang + mixin_swift_build_base_common -llbuild -swiftpm swift-driver -swift-testing -swift-testing-macros xctest swiftdocc -swiftformat build-ninja -install-llvm -install-static-linux-config -install-swift install-lldb -install-llbuild -install-swiftpm install-swift-driver -install-swiftsyntax -install-swift-testing -install-swift-testing-macros install-xctest install-prefix=/usr install-sourcekit-lsp -install-swiftformat + install-swiftdocc build-swift-static-stdlib build-swift-static-sdk-overlay @@ -1079,25 +1105,18 @@ mixin-preset= [preset: buildbot_linux,smoketest] mixin-preset= mixin_lightweight_assertions,no-stdlib-asserts - mixin_linux_installation + mix_swift_build_base_linux build-subdir=buildbot_linux -lldb + release test validation-test -foundation -libdispatch -indexstore-db -sourcekit-lsp lit-args=-v -install-foundation -install-libdispatch -install-swiftformat reconfigure test-optimized -skip-test-swiftdocc lldb-test-swift-only +skip-test-swiftdocc # gcc version on amazon linux 2 is too old to configure and build tablegen. # Use the clang that we install in the path for macros @@ -1834,45 +1853,21 @@ skip-test-foundation # Base of SwiftPM and packages [preset: mixin_swiftpm_base] mixin-preset= - buildbot_incremental_base - mixin_buildbot_install_components_with_clang -build-subdir=buildbot_incremental - -libcxx -llbuild -swiftpm + mixin_swift_build_base_common -install-llvm -install-static-linux-config -install-swift -install-llbuild -install-swiftpm -install-swiftsyntax -swift-testing -swift-testing-macros -install-swift-testing -install-swift-testing-macros +build-subdir=buildbot_incremental skip-test-swift # SwiftPM base [preset: mixin_swiftpm_macos_platform] -mixin-preset=mixin_swiftpm_base +mixin-preset=mixin_swift_build_base_common infer-cross-compile-hosts-on-darwin # SwiftPM base [preset: mixin_swiftpm_linux_platform] -mixin-preset=mixin_swiftpm_base - -libdispatch -foundation -xctest -libcxx=false - -install-foundation -install-libdispatch -install-xctest +mixin-preset=mixin_swift_build_base_common skip-test-foundation skip-test-libdispatch @@ -1923,17 +1918,14 @@ llvm-cmake-options= #===------------------------------------------------------------------------===# [preset: buildbot_swiftpm_macos_platform,tools=RA,stdlib=RA] -mixin-preset=mixin_swiftpm_macos_platform +mixin-preset= + mix_swift_build_base_macos + #mixin_swiftpm_macos_platform # Build Release without debug info, because it is faster to build. release assertions -# Downstream projects that import llbuild+SwiftPM. -sourcekit-lsp -swiftformat -install-swiftformat - toolchain-benchmarks skip-test-toolchain-benchmarks @@ -1944,7 +1936,9 @@ skip-test-llbuild #===------------------------------------------------------------------------===# [preset: buildbot_swiftpm_linux_platform,tools=RA,stdlib=RA] -mixin-preset=mixin_swiftpm_linux_platform +mixin-preset= + mix_swift_build_base_linux + #mixin_swiftpm_linux_platform # Build Release without debug info, because it is faster to build. release @@ -1953,11 +1947,6 @@ assertions no-swift-stdlib-assertions # Downstream projects that import llbuild+SwiftPM. -sourcekit-lsp -swiftformat -install-swiftformat - -toolchain-benchmarks skip-test-toolchain-benchmarks skip-test-llbuild