openclaw-windows-node/docs/RELEASING.md
Scott Hanselman c64484e392 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>
2026-04-27 08:54:11 -07:00

1.6 KiB

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:
    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:

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