Conversation
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. The test job uses the rails-8.1 gemfile, the only one with a committed lockfile. 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mirrors the Release workflow of logtail-js and logtail-python: Actions → Release → Run workflow from
main, and the workflow runs the tests, builds the gem, pushes it to RubyGems.org with theRUBYGEMS_CREDENTIALSsecret, tags the commitvX.Y.Zand creates a GitHub release with generated notes. Re-running a failed release from the same commit finishes it: the push is skipped when the version is on RubyGems.org already, the tag and the release are created if they are still missing.One difference from the JS and Python workflows:
mainrequires pull requests here, so the workflow cannot commit a version bump the way those do. The bump stays a pull request (step 2 of the manual process) and the workflow refuses to run whilelib/*/version.rbstill holds a released version. If you would rather have patch/minor inputs that bump and commit,mainneeds a bypass for GitHub Actions first (a ruleset, or a token with bypass rights); the step itself is small.Dry run: every push that touches
.github/workflows/release.ymlruns the tests, builds the gem and checks that the secret looks like a gem credentials file (:rubygems_api_key: rubygems_…), without publishing anything. The run on this pull request is that proof. A dry run can also be dispatched from any branch.The test job uses
gemfiles/rails-8.1.gemfile, the only gemfile with a committed lockfile. The root Gemfile cannot load the suite: the gemspec pins sqlite3 below the version Rails 8.1 needs.The
rubygemsenvironment exists in the repository settings with deployment branches limited tomainand no required reviewers, so anyone who can dispatch the workflow can release. Add reviewers there if releases should need an approval.🤖 Generated with Claude Code