From 3438a5700a8c848b59d05c797854abe35b5fa3a2 Mon Sep 17 00:00:00 2001 From: Torrey Payne <11740989+torreypayne@users.noreply.github.com> Date: Thu, 17 Sep 2026 17:55:28 +0000 Subject: [PATCH 1/2] chore: replace alias_tool with delegate_to for toys 0.23+ toys 0.23.0 removed the `alias_tool` DSL directive as part of its 1.0 release-candidate refactor, and 0.24.0 followed two days later. CI installs toys unpinned (`gem install --no-document toys`), so every leg has failed with `undefined method 'alias_tool'` since that release published -- at unchanged SHAs, with no code change of our own. `tool "yard", delegate_to: "yardoc"` is accepted by both 0.22 and 0.24, so this needs no version gate. --- gapic-common/.toys.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gapic-common/.toys.rb b/gapic-common/.toys.rb index 0b16a3f..f16b2b0 100644 --- a/gapic-common/.toys.rb +++ b/gapic-common/.toys.rb @@ -28,7 +28,7 @@ t.fail_on_undocumented_objects = false # TODO: Fix so this can be enabled t.bundler = true end -alias_tool :yard, :yardoc +tool "yard", delegate_to: "yardoc" expand :gem_build From 10d056b90563f35bdc5c220fd4f26d892547edc9 Mon Sep 17 00:00:00 2001 From: Torrey Payne <11740989+torreypayne@users.noreply.github.com> Date: Thu, 17 Sep 2026 20:35:33 +0000 Subject: [PATCH 2/2] chore(ci): pin toys to ~> 0.22.0 toys 0.23.0 and 0.24.0 each introduced an independent breaking change that reds this repo's CI at unchanged SHAs, since toys was installed unpinned. 0.23.0 broke the `build` tool with "Could not find a gemspec"; 0.24.0 additionally removed the `alias_tool` directive. Verified matrix: toys 0.22.0 alias_tool PASS build PASS toys 0.23.0 alias_tool PASS build FAIL toys 0.24.0 alias_tool FAIL build FAIL 0.22.0 is therefore the only fully working release, so there is no intermediate version to pin to. --- .github/workflows/ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43cbcff..d5985fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,12 @@ jobs: with: node-version: "24.x" - name: Install tools - run: "gem install --no-document toys && npm install linkinator" + # Pinned to the 0.22.x series deliberately: toys 0.23.0 broke the `build` + # tool ("Could not find a gemspec") and 0.24.0 additionally removed the + # `alias_tool` directive, so 0.22.0 is the last fully working release. + # Must be "~> 0.22.0" (>= 0.22.0, < 0.23.0) and not "~> 0.22", which + # would still admit 0.23 and 0.24. + run: "gem install --no-document toys -v '~> 0.22.0' && npm install linkinator" - name: Test ${{ matrix.task }} env: GITHUB_EVENT_NAME: ${{ github.event_name }}