From 63ab0e50cfed6302c4eeab218f7343ad1de95c87 Mon Sep 17 00:00:00 2001 From: Pavlo Strunkin Date: Tue, 3 Nov 2026 08:42:02 +0200 Subject: [PATCH] ci: release 6.0.0 candidates from the next branch Pushes to next release X.0.0-rc.N under the npm dist-tag next and a GitHub pre-release; master keeps releasing to latest. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/release.yml | 3 +++ README.md | 8 ++++++++ package.json | 7 +++++++ 3 files changed, 18 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 465ca8a..4a4b0b7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,6 +3,9 @@ on: push: branches: - master + - next +concurrency: + group: release jobs: release: name: Release diff --git a/README.md b/README.md index 34c1e51..c304e5a 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,14 @@ Every push to `master` runs [semantic-release](https://semantic-release.gitbook. It then publishes to npm through trusted publishing with provenance, tags `vX.Y.Z`, and writes the GitHub release. The `version` field in `package.json` is a placeholder. The released version lives in the tags and on npm. +### Release candidates + +Every push to `next` releases a pre-release of the next version, `X.Y.Z-rc.N` (`6.0.0-rc.1` once a breaking change is in). It goes to npm under the `next` dist-tag, never `latest`: `npm install @visual-regression-tracker/agent-codeceptjs@next` installs the candidate, and a plain install keeps getting the last stable release. Its GitHub release is marked as a pre-release. + +Breaking changes go into `next` through pull requests that target it. Merge `master` into `next` when `master` gets new commits. + +To release the final version, merge `next` into `master` with a merge commit, not a squash, so that semantic-release still sees the breaking commits. That push releases it to `latest`. The repository deletes merged branches, so create `next` again from `master` before the next round of candidates. + ## License [Apache-2.0](LICENSE) diff --git a/package.json b/package.json index 1f5b784..37581ac 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,13 @@ "typescript": "^6.0.3" }, "release": { + "branches": [ + "master", + { + "name": "next", + "prerelease": "rc" + } + ], "preset": "conventionalcommits" }, "overrides": {