Skip to content

feat(maintenance/v1): automate releases with Changesets#58

Closed
toiroakr wants to merge 1 commit into
maintenance/v1from
feat/changesets-release-v1
Closed

feat(maintenance/v1): automate releases with Changesets#58
toiroakr wants to merge 1 commit into
maintenance/v1from
feat/changesets-release-v1

Conversation

@toiroakr

Copy link
Copy Markdown
Contributor

Summary

Mirror #57's Changesets-based release automation on maintenance/v1:

  • Adding a .changeset/*.md file to a PR (via pnpm changeset) describes the change
    and its bump type.
  • release.yaml (using changesets/action, no publish-script) opens/updates a
    "Version Packages" PR from accumulated changesets, bumping package.json and
    CHANGELOG.md.
  • Once that PR merges, the same workflow tags the new version and creates a GitHub
    release from the changelog entry, explicitly targeting maintenance/v1
    (gh release create --target maintenance/v1) since that's not this repo's default
    branch. Idempotent against unrelated later pushes (checks gh release view first).
  • update-major-tag.yaml picks up the new release exactly as before.
  • CLAUDE.md is updated to describe this flow, replacing the manual
    gh release create --target steps.

package.json's name/version here are independent from main's — separate lines,
versioned separately (starts at 1.7.0, the current latest v1 release).

Mirror main's Changesets-based release automation on maintenance/v1:
a PR that adds a .changeset/*.md file gets picked up by
release.yaml, which opens/updates a Version Packages PR bumping
package.json and CHANGELOG.md. Once that merges, the same workflow
tags the new version and creates a GitHub release targeting
maintenance/v1 explicitly, which update-major-tag.yaml then picks up
as usual.

- .changeset/config.json + README.md: same scaffold as main, but
  baseBranch: maintenance/v1.
- package.json: add name/version (1.7.0, matching the current v1.7.0
  release) tracked independently from main's, @changesets/cli
  devDependency, and a changeset script.
- .github/workflows/release.yaml: triggers on push to maintenance/v1
  instead of main; the release step passes --target maintenance/v1
  explicitly since gh release create otherwise targets the repo's
  default branch (main).
- CLAUDE.md: document the automated flow, replacing the manual
  gh release create --target steps.
@toiroakr

Copy link
Copy Markdown
Contributor Author

Closing — pushing this directly to maintenance/v1 instead (no branch protection on it yet).

@toiroakr toiroakr closed this Jul 22, 2026
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