Skip to content

Commit 0c24e62

Browse files
mokagioclaudeCopilot
authored
Use Xcode 26.6 and Ruby 3.4.9 (#25748)
* Require Xcode 26.6 in CI * Use Ruby 3.4.9 and re-bundle with latest Bundler, 4.0.15 Also notice that config has been update to enforce building with native extensions, so that the lockfile stays tidy and doesn't produce noise. This behavior had been flaky in previous Xcode toolchain and because we didn't have newer Ruby versions available. * Trust FelixHerrmann tap for newer Homebrew The Xcode 26.6 image ships a Homebrew that enforces tap trust and refuses to load `swift-package-list` from the untrusted `FelixHerrmann/tap`, failing the Homebrew dependency install step. --- Generated with the help of Claude Code, https://claude.ai/code Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Drop dead BUNDLE_SPECIFIC_PLATFORM bundler setting Bundler stopped reading `specific_platform` in 2.2.0 (2020-12-10): commit `0bcf7492d` deleted its `settings_flag`, making platform-specific gem resolution unconditional. The `"false"` value has been a no-op since. --- Generated with the help of Claude Code, https://claude.ai/code Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Remove verbose AI comment Co-authored-by: Gio Lodi <giovanni.lodi42@gmail.com> * Extract swift-package-list install to shared script The `FelixHerrmann/tap` tap/trust/install block was duplicated in `build-for-testing.sh` and `shared-set-up-distribution.sh` — the two CI paths that build a shippable app and thus need the acknowledgements build phase's `swift-package-list`. Centralize it so the tap-trust incantation has one home. --- Generated with the help of Claude Code, https://claude.ai/code Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Disable Homebrew ask-mode to unblock CI installs Homebrew 6 enables ask-mode by default: `brew install` prints its plan and prompts for confirmation when it pulls in dependencies. The prompt is meant to be skipped without a TTY, but Buildkite allocates a PTY, so `brew install imagemagick` hung waiting for input that never came. --- Generated with the help of Claude Code, https://claude.ai/code Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Move one CI log header print to the script the log is about * Double quote to avoid word splitting in `build-for-testing.sh` * Only run `brew trust` where available Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1 parent a8eb281 commit 0c24e62

7 files changed

Lines changed: 20 additions & 12 deletions

File tree

.buildkite/commands/build-for-testing.sh

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ if [[ "$APP" != "wordpress" && "$APP" != "jetpack" ]]; then
1212
exit 1
1313
fi
1414

15-
echo "--- :beer: Installing Homebrew Dependencies"
16-
brew tap FelixHerrmann/tap
17-
brew install swift-package-list
15+
"$(dirname "${BASH_SOURCE[0]}")/install-swift-package-list.sh"
1816

1917
"$(dirname "${BASH_SOURCE[0]}")/shared-set-up.sh"
2018

@@ -26,8 +24,8 @@ echo "--- :closed_lock_with_key: Installing Secrets"
2624
bundle exec fastlane run configure_apply
2725

2826
echo "--- :hammer_and_wrench: Building"
29-
bundle exec fastlane build_${APP}_for_testing
27+
bundle exec fastlane "build_${APP}_for_testing"
3028

3129
echo "--- :arrow_up: Upload Build Products"
32-
tar -cf build-products-${APP}.tar DerivedData/Build/Products/
33-
upload_artifact build-products-${APP}.tar
30+
tar -cf "build-products-${APP}.tar" DerivedData/Build/Products/
31+
upload_artifact "build-products-${APP}.tar"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash -eu
2+
3+
echo "--- :beer::swift: Installing swift-package-list via Homebrew"
4+
brew tap FelixHerrmann/tap
5+
if brew help trust >/dev/null 2>&1; then
6+
brew trust FelixHerrmann/tap
7+
fi
8+
brew install swift-package-list
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
#!/bin/bash -eu
22

3+
# Homebrew 6 ask-mode prompts before installing dependencies and hangs on the CI PTY.
4+
export HOMEBREW_NO_ASK=1
5+
36
echo "--- :beer: Installing Homebrew Dependencies"
47
# Sentry CLI needs to be up-to-date
58
brew upgrade sentry-cli
69

7-
brew tap FelixHerrmann/tap
8-
brew install swift-package-list
10+
"$(dirname "${BASH_SOURCE[0]}")/install-swift-package-list.sh"
911

1012
brew install imagemagick
1113
brew install ghostscript

.bundle/config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ BUNDLE_PATH: "vendor/bundle"
33
BUNDLE_JOBS: "3"
44
BUNDLE_WITHOUT: "screenshots"
55
BUNDLE_RETRY: "3"
6-
BUNDLE_SPECIFIC_PLATFORM: "false"
6+
BUNDLE_FORCE_RUBY_PLATFORM: "true"

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.2.2
1+
3.4.9

.xcode-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26.4.1
1+
26.6

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,4 +399,4 @@ DEPENDENCIES
399399
rubocop-rake (~> 0.7)
400400

401401
BUNDLED WITH
402-
2.4.22
402+
4.0.15

0 commit comments

Comments
 (0)