From 387e18077002a46b7c9e8adc9c9e296b177ace5e Mon Sep 17 00:00:00 2001 From: Ben Barham Date: Wed, 23 Aug 2023 09:22:13 -0700 Subject: [PATCH] [Build] Skip early-* on non-darwin hosts These builds do not work outside of darwin currently. Rather than adding the skip to all the necessary build presets, just disable in the product instead. (cherry picked from commit 8fbdae12fcc5024ec5f91ff528c9d8d38c03907e) --- utils/build-presets.ini | 4 ---- .../swift_build_support/products/earlyswiftdriver.py | 6 ++++++ .../swift_build_support/products/earlyswiftsyntax.py | 7 +++++++ .../BuildSystem/infer_dumps_deps_if_verbose_build.test | 2 +- .../BuildSystem/test_early_swift_driver_and_infer.swift | 2 +- .../BuildSystem/test_early_swift_driver_and_test.test | 4 ++-- 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/utils/build-presets.ini b/utils/build-presets.ini index 40dc2c37dbcb6..cd2fc6c4c5972 100644 --- a/utils/build-presets.ini +++ b/utils/build-presets.ini @@ -876,10 +876,6 @@ installable-package=%(installable_package)s # in Linux CI bots relocate-xdg-cache-home-under-build-subdir -# Temporarily disable early swift driver/syntax builds so that linux images -# can use the swift release images as a base. -skip-early-swift-driver -skip-early-swiftsyntax [preset: buildbot_linux_base] mixin-preset= diff --git a/utils/swift_build_support/swift_build_support/products/earlyswiftdriver.py b/utils/swift_build_support/swift_build_support/products/earlyswiftdriver.py index acd9fa841df13..48f4e59014f1a 100644 --- a/utils/swift_build_support/swift_build_support/products/earlyswiftdriver.py +++ b/utils/swift_build_support/swift_build_support/products/earlyswiftdriver.py @@ -11,6 +11,7 @@ # ---------------------------------------------------------------------------- import os +import sys from . import earlyswiftsyntax from . import product @@ -42,6 +43,11 @@ def is_before_build_script_impl_product(cls): return True def should_build(self, host_target): + # Temporarily disable for non-darwin since this build never works + # outside of that case currently. + if sys.platform != 'darwin': + return False + if self.is_cross_compile_target(host_target): return False diff --git a/utils/swift_build_support/swift_build_support/products/earlyswiftsyntax.py b/utils/swift_build_support/swift_build_support/products/earlyswiftsyntax.py index 485be3c1a497d..9450eee9c9b95 100644 --- a/utils/swift_build_support/swift_build_support/products/earlyswiftsyntax.py +++ b/utils/swift_build_support/swift_build_support/products/earlyswiftsyntax.py @@ -10,6 +10,8 @@ # # ---------------------------------------------------------------------------- +import sys + from . import cmake_product from .. import toolchain @@ -32,6 +34,11 @@ def is_before_build_script_impl_product(cls): return True def should_build(self, host_target): + # Temporarily disable for non-darwin since this build never works + # outside of that case currently. + if sys.platform != 'darwin': + return False + if self.args.build_early_swiftsyntax: if toolchain.host_toolchain().find_tool("swift") is None: warn_msg = 'Host toolchain could not locate a '\ diff --git a/validation-test/BuildSystem/infer_dumps_deps_if_verbose_build.test b/validation-test/BuildSystem/infer_dumps_deps_if_verbose_build.test index 5cfe414ef81b8..3896eb683393b 100644 --- a/validation-test/BuildSystem/infer_dumps_deps_if_verbose_build.test +++ b/validation-test/BuildSystem/infer_dumps_deps_if_verbose_build.test @@ -2,7 +2,7 @@ # RUN: mkdir -p %t # RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --verbose-build --dry-run --infer --swiftpm --cmake %cmake 2>&1 | %FileCheck %s -# REQUIRES: standalone_build +# REQUIRES: standalone_build, OS=macosx # Just make sure we compute the build graph/emit output. # diff --git a/validation-test/BuildSystem/test_early_swift_driver_and_infer.swift b/validation-test/BuildSystem/test_early_swift_driver_and_infer.swift index ec3190613e681..8a788281adaf9 100644 --- a/validation-test/BuildSystem/test_early_swift_driver_and_infer.swift +++ b/validation-test/BuildSystem/test_early_swift_driver_and_infer.swift @@ -1,4 +1,4 @@ -# REQUIRES: standalone_build +# REQUIRES: standalone_build, OS=macosx # RUN: %empty-directory(%t) # RUN: mkdir -p %t diff --git a/validation-test/BuildSystem/test_early_swift_driver_and_test.test b/validation-test/BuildSystem/test_early_swift_driver_and_test.test index e9eb63a766131..b2eb4bc89e962 100644 --- a/validation-test/BuildSystem/test_early_swift_driver_and_test.test +++ b/validation-test/BuildSystem/test_early_swift_driver_and_test.test @@ -1,8 +1,8 @@ -# REQUIRES: standalone_build +# REQUIRES: standalone_build, OS=macosx # RUN: %empty-directory(%t) # RUN: mkdir -p %t # RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --test --cmake %cmake 2>&1 | %FileCheck %s # CHECK: --- Building earlyswiftdriver --- -# CHECK: cmake --build {{.*}}check-swift-only_early_swiftdriver \ No newline at end of file +# CHECK: cmake --build {{.*}}check-swift-only_early_swiftdriver