Skip to content

Commit 6f60587

Browse files
committed
Merge zenstack-v3-upgrade into beta
Consolidate the v3 / 1.0 work onto the beta release-candidate line: brings the CONTRIBUTING beta-process docs together with the beta release tooling. Going forward the 1.0 work lives on beta; betas are tagged here and graduate to main.
2 parents 0252526 + 641383c commit 6f60587

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,35 @@ Push to main → semantic-release analyzes commits → Tag + Release + Docker bu
406406

407407
No manual intervention required. Just use conventional commit messages and releases happen automatically.
408408

409+
### Beta / Pre-release Releases
410+
411+
Pre-releases of an upcoming version (e.g. the `1.0` line) are cut from the
412+
long-lived **`beta`** branch and are distributed as **source only**. See
413+
[Build from Source](https://docs.testplanit.com/docs/building-from-source).
414+
415+
Unlike stable releases (fully automated by semantic-release on `main`), betas
416+
use **manual tags**, so the target version is deliberate:
417+
418+
1. Land the changes on the `beta` branch.
419+
2. Tag and push, incrementing the `-beta.N` counter each time:
420+
```bash
421+
git tag v1.0.0-beta.1 # then v1.0.0-beta.2, v1.0.0-beta.3, ...
422+
git push origin v1.0.0-beta.1
423+
```
424+
3. `beta-prerelease.yml` creates a GitHub **pre-release** for the tag, and
425+
GitHub attaches the **Source code** (zip / tar.gz) archives automatically —
426+
that pre-release is the distribution. **No Docker image is built**:
427+
`release.yml` excludes hyphenated (prerelease) tags.
428+
429+
**Version bump:** betas don't change the version automatically — you choose it
430+
in the tag. To reach `1.0.0`, at least one commit on the line must be a
431+
breaking change (`feat!:` / `BREAKING CHANGE:`), matching the Version Bump
432+
Rules above.
433+
434+
**Graduation:** when the beta line is ready, merge `beta``main`. That cuts
435+
the normal stable release (`v1.0.0`) and builds images through the usual
436+
pipeline.
437+
409438
## Community
410439

411440
### Communication Channels

0 commit comments

Comments
 (0)