From 090ffc96becd9e4b284d77fb1271b2a7d63e07a3 Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Sun, 13 Sep 2026 13:49:33 -0700 Subject: [PATCH] Document the release process --- RELEASING.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 RELEASING.md diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 0000000..75f139a --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,29 @@ +# Releasing + +Releases are created by the manual **Release** GitHub Actions workflow. + +1. Update the version in `package.json` and `package-lock.json`: + + ```bash + npm version 2.0.1 --no-git-tag-version + ``` + +2. Install dependencies and verify the action: + + ```bash + npm ci + npm run verify + ``` + +3. Commit the version change in a pull request and merge it into `main`. + +4. Open **Actions → Release → Run workflow**, select `main`, and enter the + version without a leading `v`, such as `2.0.1`. + +The workflow verifies that the requested version matches `package.json`, runs +the full test and build checks, creates the immutable version tag and GitHub +Release, and advances the matching major-version tag. For example, releasing +`2.0.1` creates `v2.0.1` and moves `v2` to the same commit. + +The workflow can safely be retried for the same version and commit. It fails if +the requested version tag already points to another commit.