ci: migrate releases to release-please#367
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the repository’s release automation from semantic-release to release-please so release version/changelog updates flow through PRs (supporting repositories that require signed commits), and adds automation to keep dist/** assets and floating major tags up to date.
Changes:
- Introduces release-please config + manifest for stable and beta prerelease flows.
- Updates the release workflow to run release-please and update floating major tags via the GitHub API.
- Adds a build workflow to regenerate and commit
dist/**assets on release-please PRs.
Show a summary per file
| File | Description |
|---|---|
release-please-config.json |
Adds release-please configuration for stable releases. |
release-please-config.beta.json |
Adds release-please configuration for beta prereleases. |
.release-please-manifest.json |
Adds the release-please manifest tracking the current version. |
package.json |
Removes semantic-release configuration. |
.github/workflows/release.yml |
Replaces semantic-release with release-please and adds major tag maintenance. |
.github/workflows/build.yml |
Adds a workflow to rebuild and commit dist/** for release-please PRs. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:52
- Same as above: this
octokit/request-action@v2.xreference is mutable. Pinning to a commit SHA reduces the risk of unexpected upstream changes affecting the release/tagging process.
if: steps.release-please.outputs.release_created == 'true' && github.ref_name != 'beta' && steps.update-major-tag.outcome == 'failure'
uses: octokit/request-action@v2.x
with:
- Files reviewed: 6/6 changed files
- Comments generated: 3
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Copilot's findings
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:8
workflow_dispatchcan be run on any ref, but this workflow will still create/update release PRs (and potentially update major tags) based ongithub.ref_name. To prevent accidental releases from an arbitrary branch, add a job-level guard restricting refs tomain,beta, or*.x(or add a requiredtarget_branchinput and validate it before running release-please).
on:
workflow_dispatch:
push:
branches:
- "*.x"
- main
- Files reviewed: 5/5 changed files
- Comments generated: 0 new
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.
Summary
This updates release automation so the repository can enforce signed commits. Release version and changelog updates now happen through release-please PRs instead of direct workflow commits, which allows them to use the repository's normal signed-commit path.
Changes
dist/**assets from the trusted release workflow after release-please creates or updates a release PR, then commits those assets back to the release PR branch.v3, updated with the GitHub API after a release is created.