Skip to content

Set up reviewed releases for bake-gem-github - #1

Merged
samuel-williams-shopify merged 1 commit into
mainfrom
release-setup
Sep 21, 2026
Merged

samuel-williams-shopify merged 1 commit into
mainfrom
release-setup

Conversation

@samuel-williams-shopify

@samuel-williams-shopify samuel-williams-shopify commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Use the gem's own gem:github:setup task to configure reviewed releases for socketry/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_KEY Actions secret with visibility all. The rubygems environment is restricted to main; rebase merges are disabled. RubyGems must register the pending trusted publisher for gem bake-gem-github, repository socketry/bake-gem-github, workflow release-publish.yaml, environment rubygems before the first release.

Use lowercase releasing.md for 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.

@samuel-williams-shopify
samuel-williams-shopify merged commit 9be8317 into main Sep 21, 2026
11 checks passed
@samuel-williams-shopify
samuel-williams-shopify deleted the release-setup branch September 21, 2026 08:23
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