Skip to content

ci: fail the release when the gem does not reach RubyGems - #16

Merged
tas50 merged 1 commit into
mainfrom
verify-rubygems-publish
Aug 28, 2026
Merged

tas50 merged 1 commit into
mainfrom
verify-rubygems-publish

Conversation

@tas50

@tas50 tas50 commented Aug 28, 2026

Copy link
Copy Markdown
Member

0.2.0 was tagged, released on GitHub, and pushed to GitHub Packages, and the
Release workflow went green — but RubyGems is still on 0.1.4. The push had been
rejected:

Pushing gem to https://rubygems.org...
You do not have permission to push to this gem. Ask an owner to add you with:
  gem owner busser-bash --add ...

actionshub/publish-gem-to-rubygems logs that and exits 0, so the step reported
success and nothing surfaced the broken release.

This asks RubyGems whether the version actually landed. The v2 versions endpoint
404s until that exact version is indexed, so curl -f turns "not there" into a
non-zero exit — without the substring matching a gem list | grep would need,
where 0.2.0 would also match 10.2.0.

The same guard is on the five sibling pull requests and on test-kitchen/busser-bats#50.

actionshub/publish-gem-to-rubygems logs a rejected push and still exits 0, so a
release that never got published shows up as a green job. 0.2.0 hit exactly
that: tagged, released on GitHub, pushed to GitHub Packages, workflow green, and
RubyGems still on 0.1.4. The push had been rejected with "You do not have
permission to push to this gem", in a step that reported success.

Ask RubyGems whether the version is actually there. The v2 endpoint 404s until
that exact version is indexed, so curl -f turns "not there" into a non-zero exit
without the substring matching a `gem list` grep would need.

Signed-off-by: Tim Smith <tsmith84@proton.me>
@tas50
tas50 merged commit 87ccdaf into main Aug 28, 2026
8 checks passed
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