Skip to content

ci(release): add automated release workflows with OIDC npm publishing#2

Merged
assagman merged 4 commits intomainfrom
ci/release-automation
Jan 15, 2026
Merged

ci(release): add automated release workflows with OIDC npm publishing#2
assagman merged 4 commits intomainfrom
ci/release-automation

Conversation

@assagman
Copy link
Owner

Summary

Adds fully automated release process using GitHub Actions. Creates release PRs
with automatic version bumping and publishes to npm via OIDC trusted publisher
(no tokens required).

Changes

New Workflows

  • release-pr.yml: Manual dispatch to create release branches and PRs

    • Auto-determines semver from conventional commits
    • Updates package.json and CHANGELOG.md
    • Creates PR with release label
  • release-publish.yml: Triggers on release PR merge

    • Creates git tag
    • Creates GitHub release with notes
    • Publishes to npm with provenance (OIDC)

Documentation

  • Rewrote RELEASE.md with new automated process
  • Added troubleshooting guide
  • Documented OIDC trusted publisher setup

Breaking Changes

None

Testing

  • Trigger release-pr workflow manually
  • Verify PR creation with correct version bump
  • Merge PR and verify auto-publish

Checklist

  • Code follows project style guidelines
  • Documentation updated
  • Workflows tested end-to-end

- Add release-pr.yml for automated release PR creation
- Add release-publish.yml for npm publish on PR merge
- Pin checkout to merge commit SHA to prevent race condition
- Normalize commit message case in changelog generation
- Add TODO for prerelease version handling
- Document CHANGELOG single-line header assumption
- Update RELEASE.md with automation instructions

Signed-off-by: assagman <[email protected]>
Copilot AI review requested due to automatic review settings January 15, 2026 19:59
@gemini-code-assist
Copy link

Summary of Changes

Hello @assagman, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request establishes a comprehensive, automated release pipeline for the project using GitHub Actions. It automates the entire release lifecycle from version determination and release PR creation to secure, token-less publishing to npm via OIDC, significantly streamlining the release process and reducing manual intervention.

Highlights

  • Automated Release Workflows: Implemented a fully automated release process using GitHub Actions, covering release PR creation, automatic version bumping, and publishing.
  • OIDC npm Publishing: Configured npm publishing to leverage OIDC trusted publishers, eliminating the need for manual tokens and enhancing security for package deployments.
  • New GitHub Workflows: Introduced two new GitHub Actions workflows: release-pr.yml for creating release branches and pull requests, and release-publish.yml for handling git tagging, GitHub releases, and npm publishing upon PR merge.
  • Updated Release Documentation: The RELEASE.md file has been completely rewritten to reflect the new automated process, including setup instructions, usage guidelines, a troubleshooting section, and a manual fallback procedure.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/release-pr.yml
    • .github/workflows/release-publish.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an excellent automated release process using GitHub Actions and thoroughly updates the RELEASE.md documentation. The new process is well-documented with a clear overview, step-by-step instructions, and helpful troubleshooting information. My review includes a couple of suggestions to improve the robustness of the commands in the manual fallback and troubleshooting sections of the new documentation. Specifically, I've recommended using npm version for version bumping and improving the tag deletion command. Overall, this is a significant improvement to the project's release infrastructure.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a fully automated release workflow using GitHub Actions to create release PRs with version bumping and publish to npm via OIDC trusted publisher authentication, eliminating the need for manual token management.

Changes:

  • Added release-pr.yml workflow to automate release branch creation with version bumping based on conventional commits
  • Added release-publish.yml workflow to automatically publish releases on PR merge with git tags, GitHub releases, and npm publishing
  • Completely rewrote RELEASE.md documentation with detailed automated process instructions and troubleshooting guide

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.

File Description
.github/workflows/release-pr.yml Workflow to create release PRs with automated version determination and changelog generation
.github/workflows/release-publish.yml Workflow to publish releases with OIDC npm authentication upon PR merge
RELEASE.md Updated documentation describing the new automated release process, prerequisites, and troubleshooting

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Add prerelease version validation with clear error message
- Fix CHANGELOG header preservation for multi-line headers
- Fix misleading comment for 'Other changes' section

Signed-off-by: assagman <[email protected]>
- Fix previous tag detection using --exclude instead of HEAD^
- Add npm publish idempotency check to handle re-runs

Signed-off-by: assagman <[email protected]>
Copilot AI review requested due to automatic review settings January 15, 2026 20:48
@assagman assagman merged commit 5d1b206 into main Jan 15, 2026
5 checks passed
@assagman assagman deleted the ci/release-automation branch January 15, 2026 20:50
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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