From 5256777b991762e83144ea3a3a7a48e617b5e3c2 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 11 Jun 2026 12:07:40 +1000 Subject: [PATCH 1/9] Use Ruby 3.4.9 and re-bundle --- .ruby-version | 3 +-- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.ruby-version b/.ruby-version index 19ef286ee..7bcbb3808 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1,2 +1 @@ -3.2.2 - +3.4.9 diff --git a/Gemfile.lock b/Gemfile.lock index f54cdf336..f6699bd65 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -455,4 +455,4 @@ DEPENDENCIES yard BUNDLED WITH - 2.6.8 + 2.7.2 From 19d019a57e2176fb7e839159c631d44dc930971d Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 11 Jun 2026 12:12:24 +1000 Subject: [PATCH 2/9] Use Xcode 27.0 beta in CI with new Ruby support --- .buildkite/shared-pipeline-vars | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/shared-pipeline-vars b/.buildkite/shared-pipeline-vars index d455cab46..58d56ada2 100644 --- a/.buildkite/shared-pipeline-vars +++ b/.buildkite/shared-pipeline-vars @@ -1,6 +1,6 @@ #!/bin/bash -export IMAGE_ID="xcode-26.1.1" +export IMAGE_ID="xcode-27.0-beta" export CI_TOOLKIT="automattic/a8c-ci-toolkit#5.7.0" export DOCKER_PLUGIN="docker#v5.13.0" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" From a9ec5d051676421b2b06565c04956b3ad6859eec Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 11 Jun 2026 12:12:50 +1000 Subject: [PATCH 3/9] Address a ShellCheck issue --- .buildkite/shared-pipeline-vars | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.buildkite/shared-pipeline-vars b/.buildkite/shared-pipeline-vars index 58d56ada2..a7420686c 100644 --- a/.buildkite/shared-pipeline-vars +++ b/.buildkite/shared-pipeline-vars @@ -4,5 +4,6 @@ export IMAGE_ID="xcode-27.0-beta" export CI_TOOLKIT="automattic/a8c-ci-toolkit#5.7.0" export DOCKER_PLUGIN="docker#v5.13.0" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -export RUBY_VERSION="$(cat "$SCRIPT_DIR/../.ruby-version")" +RUBY_VERSION="$(cat "$SCRIPT_DIR/../.ruby-version")" +export RUBY_VERSION export DOCKER_RUBY_IMAGE="public.ecr.aws/docker/library/ruby:$RUBY_VERSION" From b3e85cf4e02907674e84e882a8a9710dd0996cca Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 11 Jun 2026 12:14:12 +1000 Subject: [PATCH 4/9] Remove Bundler dependency and use Gemfile for dev Removing the Bundler dependency definition allows us to use the latest bundler version (4.x vs 2.x). Additionally, it is no longer recommended to use the dev dependencies API, it's best to use Gemfile instead. See https://github.com/rubygems/bundler/pull/7222 --- Gemfile | 18 ++++++++++++++---- Gemfile.lock | 4 +--- fastlane-plugin-wpmreleasetoolkit.gemspec | 14 -------------- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Gemfile b/Gemfile index 426cb96e8..cbf96a0c8 100644 --- a/Gemfile +++ b/Gemfile @@ -4,14 +4,24 @@ source('https://rubygems.org') gemspec +# Only needed for specs (Time.use_zone, String#to_time, Hash#slice!) +gem 'activesupport', '~> 8.1' gem 'buildkite-test_collector', '~> 2.3' gem 'codecov', require: false gem 'danger-dangermattic', '~> 1.0' -gem 'webmock', require: false -gem 'yard' - # Security: # - https://github.com/lostisland/faraday/pull/1665 # - https://github.com/lostisland/faraday/pull/1681 # Faraday 2.0 is not compatible with Fastlane -gem 'faraday', '~> 1.10', '>= 1.10.6' +# Use at least Fastlane 2.210.0 to ensure compatibility with the Xcode 14 toolchain +# See https://github.com/fastlane/fastlane/releases/tag/2.210.0 +gem 'fastlane', '~> 2.210' +gem 'pry', '~> 0.12.2' +gem 'rmagick', '~> 5.3' +gem 'rspec', '~> 3.8' +gem 'rspec_junit_formatter', '~> 0.4.1' +gem 'rubocop', '~> 1.65' +gem 'rubocop-rspec', '3.0' +gem 'simplecov', '~> 0.16.1' +gem 'webmock', require: false +gem 'yard' diff --git a/Gemfile.lock b/Gemfile.lock index f6699bd65..e69e9cded 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -438,10 +438,8 @@ PLATFORMS DEPENDENCIES activesupport (~> 8.1) buildkite-test_collector (~> 2.3) - bundler (~> 2.0) codecov danger-dangermattic (~> 1.0) - faraday (~> 1.10, >= 1.10.6) fastlane (~> 2.210) fastlane-plugin-wpmreleasetoolkit! pry (~> 0.12.2) @@ -455,4 +453,4 @@ DEPENDENCIES yard BUNDLED WITH - 2.7.2 + 4.0.14 diff --git a/fastlane-plugin-wpmreleasetoolkit.gemspec b/fastlane-plugin-wpmreleasetoolkit.gemspec index a4d84aae7..a19815b54 100644 --- a/fastlane-plugin-wpmreleasetoolkit.gemspec +++ b/fastlane-plugin-wpmreleasetoolkit.gemspec @@ -42,18 +42,4 @@ Gem::Specification.new do |spec| # `google-cloud-storage` is required by fastlane, but we pin it in case it's not in the future spec.add_dependency 'google-cloud-storage', '~> 1.31' - - # Only needed for specs (Time.use_zone, String#to_time, Hash#slice!) - spec.add_development_dependency 'activesupport', '~> 8.1' - spec.add_development_dependency 'bundler', '~> 2.0' - # Use at least Fastlane 2.210.0 to ensure compatibility with the Xcode 14 toolchain - # See https://github.com/fastlane/fastlane/releases/tag/2.210.0 - spec.add_development_dependency 'fastlane', '~> 2.210' - spec.add_development_dependency 'pry', '~> 0.12.2' - spec.add_development_dependency 'rmagick', '~> 5.3' - spec.add_development_dependency 'rspec', '~> 3.8' - spec.add_development_dependency 'rspec_junit_formatter', '~> 0.4.1' - spec.add_development_dependency 'rubocop', '~> 1.65' - spec.add_development_dependency 'rubocop-rspec', '3.0' - spec.add_development_dependency 'simplecov', '~> 0.16.1' end From 1cef861f05e1a0151f4135ec0cde094f21d4132c Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 11 Jun 2026 12:27:50 +1000 Subject: [PATCH 5/9] Use latest Fastlane --- Gemfile | 9 ++++++--- Gemfile.lock | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index cbf96a0c8..7d1a2e69a 100644 --- a/Gemfile +++ b/Gemfile @@ -12,10 +12,13 @@ gem 'danger-dangermattic', '~> 1.0' # Security: # - https://github.com/lostisland/faraday/pull/1665 # - https://github.com/lostisland/faraday/pull/1681 +# # Faraday 2.0 is not compatible with Fastlane -# Use at least Fastlane 2.210.0 to ensure compatibility with the Xcode 14 toolchain -# See https://github.com/fastlane/fastlane/releases/tag/2.210.0 -gem 'fastlane', '~> 2.210' +# +# See also: +# - https://github.com/fastlane/fastlane/issues/21334 +# - https://github.com/fastlane/fastlane/pull/30089 +gem 'faraday', '~> 1.10', '>= 1.10.5' gem 'pry', '~> 0.12.2' gem 'rmagick', '~> 5.3' gem 'rspec', '~> 3.8' diff --git a/Gemfile.lock b/Gemfile.lock index e69e9cded..d0b665eb1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -440,7 +440,7 @@ DEPENDENCIES buildkite-test_collector (~> 2.3) codecov danger-dangermattic (~> 1.0) - fastlane (~> 2.210) + faraday (~> 1.10, >= 1.10.5) fastlane-plugin-wpmreleasetoolkit! pry (~> 0.12.2) rmagick (~> 5.3) From c7c1fa096a73305971f1d1ed2e6ea9e4b7cea677 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Fri, 24 Jul 2026 15:10:10 +1000 Subject: [PATCH 6/9] Use latest Bundler, 4.0.17 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d0b665eb1..b350c6c53 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -453,4 +453,4 @@ DEPENDENCIES yard BUNDLED WITH - 4.0.14 + 4.0.17 From cab3b326d0876b546a41399cb455c4fe2c64cef0 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Fri, 24 Jul 2026 15:11:43 +1000 Subject: [PATCH 7/9] Use Xcode 26.6 This image supports Ruby 3.4.9 and it's better than 27.0-beta which may not stick around. --- .buildkite/shared-pipeline-vars | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/shared-pipeline-vars b/.buildkite/shared-pipeline-vars index a7420686c..4e1f767fc 100644 --- a/.buildkite/shared-pipeline-vars +++ b/.buildkite/shared-pipeline-vars @@ -1,6 +1,6 @@ #!/bin/bash -export IMAGE_ID="xcode-27.0-beta" +export IMAGE_ID="xcode-26.6" export CI_TOOLKIT="automattic/a8c-ci-toolkit#5.7.0" export DOCKER_PLUGIN="docker#v5.13.0" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" From afe31c6b1a0ccfa96816639c4ca306e72d3ffa8c Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Fri, 24 Jul 2026 15:25:23 +1000 Subject: [PATCH 8/9] Add changelog entry for Ruby version bump --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12bed920d..a9c70a380 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ _None_ - Added regression coverage for `upload_github_release_assets` direct release lookup errors. [#755] - Centralized `.strings` duplicate-key detection behind `StringsFileValidationHelper.scan_for_duplicate_keys`, returning a `[:scanned | :unsupported_format | :unscannable, payload]` tri-state that callers can map to their own warn-and-skip vs fail-closed policy. [#741] - `L10nHelper.strings_file_type` and `StringsFileValidationHelper.scan_for_duplicate_keys` accept `assume_valid:` to skip a redundant `plutil -lint` when the caller has already parsed the file. [#741] +- Bumped development Ruby version to 3.4.9 [#729] ## 14.10.0 From d43af2db35882f043ea6ba09630401c5e39ad997 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Fri, 24 Jul 2026 20:01:17 +1000 Subject: [PATCH 9/9] Fix faraday regression to >= 1.10.5 instead of >=1.10.6 --- Gemfile | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 7d1a2e69a..f21e6827b 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,7 @@ gem 'danger-dangermattic', '~> 1.0' # See also: # - https://github.com/fastlane/fastlane/issues/21334 # - https://github.com/fastlane/fastlane/pull/30089 -gem 'faraday', '~> 1.10', '>= 1.10.5' +gem 'faraday', '~> 1.10', '>= 1.10.6' gem 'pry', '~> 0.12.2' gem 'rmagick', '~> 5.3' gem 'rspec', '~> 3.8' diff --git a/Gemfile.lock b/Gemfile.lock index b350c6c53..09f38f741 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -440,7 +440,7 @@ DEPENDENCIES buildkite-test_collector (~> 2.3) codecov danger-dangermattic (~> 1.0) - faraday (~> 1.10, >= 1.10.5) + faraday (~> 1.10, >= 1.10.6) fastlane-plugin-wpmreleasetoolkit! pry (~> 0.12.2) rmagick (~> 5.3)