Skip to content

ci(release): separate alpha beta and stable channels - #223

Merged
kattsushi merged 2 commits into
devfrom
ci/release-channel-separation
Aug 27, 2026
Merged

kattsushi merged 2 commits into
devfrom
ci/release-channel-separation

Conversation

@kattsushi

Copy link
Copy Markdown
Contributor

Summary

  • keep conditional dev publication on npm alpha
  • change master publication to npm beta only
  • add explicit manual stable graduation/recovery from current master
  • enforce channel invariants in PR/release CI and synchronize README/setup docs

Release policy

Source Trigger Result
dev push affected prereleases on alpha
master push affected prereleases on beta
current master manual stable workflow selected stable versions on default/latest

Stable validates source identity, project allowlist, builds, tests, and RR8 gates before any version/publish command. Publish-only recovery cannot version, tag, commit, or push.

Test plan

  • RED against previous stable-on-master policy
  • Release policy contract 9/9 with 22 fail-closed mutations
  • Five workflow YAML files parse
  • Seven release projects build before test
  • 21 files / 196 package tests pass; two packages have no test target
  • RR8 runtime 8/8, migration 9/9, exact 8.3.0
  • RETIRED 24 consumers / 29 scenarios / 0 pending
  • Format and diff checks pass

Review focus

  1. .github/workflows/release-stable.yml command ordering and recovery isolation.
  2. .github/workflows/cd.yml beta-only semantics and recursion guard.
  3. scripts/release-policy-contract.test.mjs structural mutation coverage.
  4. README/SETUP channel mapping and seven-package surface.

Size exception

size:exception explicitly approved by maintainer kattsushi: one cohesive 1,247-line release-policy, enforcement, and documentation unit. No package version, changelog, lockfile, tag, release, or publication is included.

Next step

After this lands on dev and alpha confirms no affected release projects, prepare a separate promotion PR from updated dev to master. Do not merge that promotion PR without explicit beta-release authorization.

Closes #222

@coderabbitai

coderabbitai Bot commented Aug 27, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c0b5df12-3cc5-4486-bd34-509d28f7a92f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kattsushi kattsushi added the type:chore Maintenance/tooling work label Aug 27, 2026
@kattsushi
kattsushi merged commit c178c6f into dev Aug 27, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:chore Maintenance/tooling work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant