From 975de920014f7df9df2441b844deb1c77bbdaf86 Mon Sep 17 00:00:00 2001 From: Mike Drob Date: Tue, 10 Nov 2026 17:19:51 -0600 Subject: [PATCH] Run macOS CI on goldengate with Xcode_swift_6.4 --- .github/jobs/GradleJob.pkl | 8 ++++---- .github/workflows/build.yml | 9 ++++++--- .github/workflows/main.yml | 9 ++++++--- .github/workflows/prb.yml | 9 ++++++--- .github/workflows/release-branch.yml | 9 ++++++--- .github/workflows/release.yml | 9 ++++++--- build-logic/src/main/kotlin/NativeImageBuild.kt | 8 ++++++-- 7 files changed, 40 insertions(+), 21 deletions(-) diff --git a/.github/jobs/GradleJob.pkl b/.github/jobs/GradleJob.pkl index 4196fc634..430d4f5bf 100644 --- a/.github/jobs/GradleJob.pkl +++ b/.github/jobs/GradleJob.pkl @@ -45,6 +45,9 @@ fixed job { when (os == "windows") { ["JAVA_HOME"] = "/jdk" } + when (os == "macOS") { + ["DEVELOPER_DIR"] = "/Applications/Xcode_swift_6.4.app" + } } when (os == "macOS") { `if` = @@ -65,10 +68,7 @@ fixed job { new Listing { "self-hosted" "macos" - // Currently have a bug where macOS runners have `cc` from XCode 26 toolchain but have - // default SDK set to 27. - // TODO remove me once this issue is fixed. - "tahoe" + "goldengate" when (nightlyMacOS) { "nightly" } diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a2b2e8a21..d0fe2b02c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -321,9 +321,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -660,9 +661,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -999,9 +1001,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index df1f25a3b..ff2423b6d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -319,9 +319,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -658,9 +659,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -997,9 +999,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: diff --git a/.github/workflows/prb.yml b/.github/workflows/prb.yml index 1f395b4bc..8c3d73823 100644 --- a/.github/workflows/prb.yml +++ b/.github/workflows/prb.yml @@ -211,9 +211,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -559,9 +560,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -907,9 +909,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 0e37ce12f..1ff44c791 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -319,9 +319,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -658,9 +659,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -997,9 +999,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0221ba6a..f878043c8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -322,9 +322,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -666,9 +667,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: @@ -1010,9 +1012,10 @@ jobs: runs-on: - self-hosted - macos - - tahoe + - goldengate env: LANG: en_US.UTF-8 + DEVELOPER_DIR: /Applications/Xcode_swift_6.4.app steps: - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6 with: diff --git a/build-logic/src/main/kotlin/NativeImageBuild.kt b/build-logic/src/main/kotlin/NativeImageBuild.kt index 7708c8073..63dae48e3 100644 --- a/build-logic/src/main/kotlin/NativeImageBuild.kt +++ b/build-logic/src/main/kotlin/NativeImageBuild.kt @@ -279,8 +279,12 @@ abstract class NativeImageBuild : DefaultTask() { add("--native-compiler-path=${nativeCompilerPath.get().asFile}") } // Pass through all `HOMEBREW_` prefixed environment variables to allow build with shimmed - // tools. - addAll(environment.keys.filter { it.startsWith("HOMEBREW_") }.map { "-E$it" }) + // tools, and `DEVELOPER_DIR` so that `cc` on macOS uses the selected Xcode toolchain. + addAll( + environment.keys + .filter { it.startsWith("HOMEBREW_") || it == "DEVELOPER_DIR" } + .map { "-E$it" } + ) addAll(extraNativeImageArgs.get()) addAll(extraArgsFromProperties) }