Skip to content

Use shared-config's reusable CD workflow for gem releases - #21

Merged
dduugg merged 1 commit into
mainfrom
use-shared-config-cd
Sep 30, 2026
Merged

dduugg merged 1 commit into
mainfrom
use-shared-config-cd

Conversation

@dduugg

@dduugg dduugg commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Summary

"Publish to Rubygems" (push_gem.yml) has been failing on main (run). It ran rubygems/release-gem on every push to main, and that action always pushes the gem. RubyGems rejects a repush of an existing version, so every commit that didn't bump the version failed:

Repushing of gem versions is not allowed.

This PR replaces push_gem.yml with a cd.yml that calls rubyatscale/shared-config/.github/workflows/cd.yml@main. The file is identical to the caller in code_teams, and most other rubyatscale gems (packs, packs-rails, rubocop-packs, …) use the same one. It runs after CI passes on main. If the v<version> tag already exists it skips the release; otherwise it tags, pushes the gem, and creates a GitHub release. It also posts to Slack if a run fails.

Notes

  • This uses the org's RUBYGEMS_API_KEY secret (gusto-open-source, which owns the gem) instead of trusted publishing. Once this merges, the trusted publisher for push_gem.yml on rubygems.org is unused and can be removed.
  • workflow_run workflows only run from the default branch, so this can't be exercised on the PR. Its first run after merge should skip, because v1.9.0 already exists.
  • actionlint and zizmor pass locally.

push_gem.yml ran rubygems/release-gem on every push to main, which fails
whenever the version hasn't been bumped because RubyGems rejects repushing
an existing version.

Switch to the shared-config reusable CD workflow that the other
rubyatscale gems use. It runs after CI passes on main and skips the
release when the version's tag already exists.
@dduugg
dduugg requested a review from a team as a code owner September 30, 2026 18:50
@dduugg
dduugg merged commit 457385f into main Sep 30, 2026
9 checks passed
@dduugg
dduugg deleted the use-shared-config-cd branch September 30, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant