Skip to content

ci: Migrate from the defunct release-please app to release-please-action - #27

Merged
anakinj merged 3 commits into
jwt:mainfrom
anakinj:release-please-action
Aug 14, 2026
Merged

ci: Migrate from the defunct release-please app to release-please-action#27
anakinj merged 3 commits into
jwt:mainfrom
anakinj:release-please-action

Conversation

@anakinj

@anakinj anakinj commented Aug 14, 2026

Copy link
Copy Markdown
Member

Why

The release-please GitHub App was turned down by Google on 2025-08-14 (googleapis/release-please#2569). The .github/release-please.yml app config has been dead since then — no release PR was opened for the releasable commits currently on main, and none ever will be.

What

  • Delete the obsolete .github/release-please.yml app config.
  • Add .github/workflows/release-please.yml using googleapis/release-please-action@v5, which reads the existing release-please-config.json and .release-please-manifest.json unchanged. On every push to main it opens/updates the release PR; when the release PR is merged it creates the tag and GitHub release.
  • Publish the gem from a second job in the same workflow (same steps as gem-push.yml), gated on release_created. This is needed because tags created with the workflow's GITHUB_TOKEN cannot trigger the tag-based gem-push.yml workflow (GitHub anti-recursion rule). gem-push.yml is left in place as a fallback for manually pushed tags.
  • All actions SHA-pinned and persist-credentials: false on checkout; zizmor reports no findings.

Action required before the first release

The RubyGems OIDC role (rg_oidc_akr_d5dztzq4ywp3y7rd7vfp) may be scoped to the gem-push.yml workflow. If so, update the role on rubygems.org to also permit .github/workflows/release-please.yml before merging the first release PR, or the publish job will fail credential exchange.

🤖 Generated with Claude Code

The release-please GitHub App was turned down by Google on 2025-08-14
(googleapis/release-please#2569), so the .github/release-please.yml app
config no longer does anything and no release PRs get opened.

Replace it with a release-please workflow using
googleapis/release-please-action@v4, which reads the existing
release-please-config.json and .release-please-manifest.json unchanged.
Because tags created with the workflow GITHUB_TOKEN cannot trigger the
tag-based gem-push workflow, the gem publish steps run as a second job
in the same workflow, gated on a release having been created.
Pin all actions to commit SHAs, disable git credential persistence on
checkouts, add read-only default permissions to test and pr-title
workflows, and stop using the bundler cache in the gem publishing jobs
(cache poisoning hardening, matching ruby-jwt's push_gem.yml).
@anakinj
anakinj merged commit 63e94e0 into jwt:main Aug 14, 2026
11 checks passed
@anakinj
anakinj deleted the release-please-action branch August 14, 2026 19:35
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