From 77289733cab4fc170886b239a432949b53bb5c85 Mon Sep 17 00:00:00 2001 From: doris-xiao-bybit Date: Wed, 22 Jul 2026 18:53:35 +0800 Subject: [PATCH] fix(ci): align publish workflow Ruby to 3.3.5 to fix uri activation conflict The `rubygems/release-gem@v1` action runs `bundle exec rake release` internally, which failed on Ruby 3.2 with: You have already activated uri 0.12.5, but your Gemfile requires uri 1.1.1 Ruby 3.2 stdlib bundles `uri 0.12.5` as a default gem. bundler 2.4.19 (also shipped with Ruby 3.2) activates the stdlib version before checking Gemfile requirements. Since faraday (our runtime dep) transitively resolves to `uri >= 1.x`, bundler then errors on the version mismatch. Ruby 3.3.5 (already what `.ruby-version` pins for local dev) ships bundler 2.5.x, which handles default-gem overlap correctly. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/publish.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3af3d93..acf5d90 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,7 +23,12 @@ jobs: - name: Setup Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2' + # Match .ruby-version. Ruby 3.2 ships bundler 2.4.19 + stdlib uri + # 0.12.5, which conflicts with the uri >= 1.x that `bundle install` + # resolves for our faraday dep — bundler activates the stdlib uri + # first and then errors on the Gemfile requirement. 3.3.5 ships + # bundler 2.5.x which handles the default-gem overlap correctly. + ruby-version: '3.3.5' bundler-cache: true - name: Validate tag is on main branch