Skip to content

Release workflow: publish to RubyGems.org from GitHub Actions - #45

Merged
PetrHeinz merged 3 commits into
mainfrom
claude/release-workflow
Sep 30, 2026
Merged

PetrHeinz merged 3 commits into
mainfrom
claude/release-workflow

Conversation

@PetrHeinz

@PetrHeinz PetrHeinz commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Mirrors the Release workflow of logtail-js and logtail-python: Actions → Release → Run workflow from main, pick patch or minor, and the workflow runs the tests, bumps the version in lib/*/version.rb, builds the gem, commits vX.Y.Z, tags it, pushes both, pushes the gem to RubyGems.org with the RUBYGEMS_CREDENTIALS secret and creates a GitHub release with generated notes. retry finishes a release that failed after the version commit was pushed: it bumps nothing, rebuilds the tagged commit and only does what is still missing.

The version commit is pushed with the workflow's own token. main requires pull requests, so the GitHub Actions app is among the actors allowed to bypass that requirement (Settings → Branches → the main rule), and the workflow header says so. The rubygems environment exists with deployment branches limited to main and no required reviewers, so anyone who can dispatch the workflow can release. Add reviewers there if releases should need an approval.

Dry run: every push that touches .github/workflows/release.yml bumps in place, runs the tests, builds the gem and checks that the secret looks like a gem credentials file (:rubygems_api_key: rubygems_…), without committing or publishing anything. The runs on this pull request are that proof. Pushing the version commit itself is only exercised by the first real release. A dry run can also be dispatched from any branch.

🤖 Generated with Claude Code

PetrHeinz and others added 3 commits September 25, 2026 16:58
Mirrors the logtail-js and logtail-python release workflows. main requires
pull requests, so the version bump stays a pull request and the workflow
tests, builds, pushes the gem, tags and creates the GitHub release. Every
push touching the workflow file is a dry run.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The environment restricts deployments to main and has no required
reviewers, so anyone who can dispatch the workflow can release.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The GitHub Actions app may bypass the pull request requirement of main
now, so the workflow takes patch, minor and retry inputs like the
logtail-js and logtail-python ones and pushes the version commit and
the tag itself. Dry runs bump in place without committing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@PetrHeinz
PetrHeinz marked this pull request as ready for review September 30, 2026 16:02
@PetrHeinz
PetrHeinz merged commit 624f9b2 into main Sep 30, 2026
16 checks passed
@PetrHeinz
PetrHeinz deleted the claude/release-workflow branch September 30, 2026 16:02
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