docs: document release flow
Document the tag-driven release process, versioning expectations, and retagging steps for OpenClaw Windows Hub releases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
124f488d3f
commit
c64484e392
52
docs/RELEASING.md
Normal file
52
docs/RELEASING.md
Normal file
@ -0,0 +1,52 @@
|
||||
# Releasing OpenClaw Windows Hub
|
||||
|
||||
This repo uses **GitVersion + CI** for release versioning.
|
||||
The canonical release flow is **tag-driven**, not manual file patching.
|
||||
|
||||
## TL;DR
|
||||
|
||||
1. Merge approved changes into `master`.
|
||||
2. Create and push a semantic tag:
|
||||
```powershell
|
||||
git checkout master
|
||||
git pull --ff-only origin master
|
||||
git tag -a vX.Y.Z -m "Release vX.Y.Z"
|
||||
git push origin master
|
||||
git push origin vX.Y.Z
|
||||
```
|
||||
3. CI (`.github/workflows/ci.yml`) builds/signs/publishes artifacts and creates the GitHub release from that tag.
|
||||
|
||||
## Why this is the correct flow
|
||||
|
||||
- `GitVersion.yml` is configured for `ContinuousDelivery` with `tag-prefix: 'v'`.
|
||||
- CI computes version from git history/tags and passes it to builds (`-p:Version=...`).
|
||||
- CI patches MSIX manifest version during build, so releases are consistent across EXE/MSIX assets.
|
||||
|
||||
## Important rules
|
||||
|
||||
- **Do not manually bump** version files for routine releases:
|
||||
- `src/OpenClaw.Tray/OpenClaw.Tray.csproj`
|
||||
- `src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj`
|
||||
- `src/OpenClaw.Tray.WinUI/Package.appxmanifest`
|
||||
- Treat csproj `<Version>` as a **local fallback** for dev builds.
|
||||
- Release versions should come from the **tag** (`vX.Y.Z`).
|
||||
|
||||
## Verify release pipeline
|
||||
|
||||
After pushing a tag, confirm in GitHub Actions:
|
||||
- workflow: **Build and Test**
|
||||
- trigger ref: `refs/tags/vX.Y.Z`
|
||||
- jobs complete successfully (build, build-msix, release)
|
||||
- release assets are attached to the tag release
|
||||
|
||||
## If you need to retag
|
||||
|
||||
If a tag points to the wrong commit:
|
||||
|
||||
```powershell
|
||||
git tag -d vX.Y.Z
|
||||
git push origin :refs/tags/vX.Y.Z
|
||||
git tag -a vX.Y.Z -m "Release vX.Y.Z"
|
||||
git push origin vX.Y.Z
|
||||
```
|
||||
|
||||
Loading…
Reference in New Issue
Block a user