Repository navigation
Set up reviewed releases for bake-gem-github - #1
Merged
Merged
Conversation
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.
Use the gem's own
gem:github:setuptask to configure reviewed releases forsocketry/bake-gem-github. The generated workflows prepare a release PR, validate its generated content, and publish its merged commit with certificate signing and attestations.Add CI for Ruby 3.3, 3.4, and 4.0, RuboCop, and documentation coverage. The generated policy requires these checks plus release validation, an up-to-date branch, and two reviews, with explicit administrator bypass. Add release notes, their version hook, and generated agent context. The bundle uses the source checkout, supporting the first release without an already published copy of this gem.
Add the public certificate for the new Socketry signing key. The private key is stored separately as the organization's
GEM_SIGNING_KEYActions secret with visibilityall. Therubygemsenvironment is restricted tomain; rebase merges are disabled. RubyGems must register the pending trusted publisher for gembake-gem-github, repositorysocketry/bake-gem-github, workflowrelease-publish.yaml, environmentrubygemsbefore the first release.Use lowercase
releasing.mdfor the template and generated instructions. Correct the publishing template's PR-read permissions and use a dedicated variable for the attestation bundle path. Ignore the CI dependency cache so it cannot dirty release preparation.Validation: all GitHub checks pass, including Ruby 3.3/3.4/4.0, RuboCop, documentation coverage, and release validation. Locally, 13 tests / 49 assertions pass and library documentation coverage is 20/20. Workflow YAML and ruleset JSON parse; rerunning setup produces identical files. A disposable clone successfully prepared version 0.0.1, validated the regenerated release content, and built a signed gem whose signatures and embedded certificate were verified. The local macOS runtime terminates actionlint, including outside the sandbox. No gem has been published by this setup.
After merging, apply the generated native rulesets with
bundle exec bake gem:github:setup:apply. Register the RubyGems pending trusted publisher before requesting the first release; its creator becomes an owner on the first successful publication.