vykar Release
Release workflow for vykar. The CI pipeline lives in .github/workflows/release.yml and triggers on v* tags pushed to main. It builds the release binaries and then publishes a GitHub Release with the artifacts and SHA256 checksums. See .github/workflows/ for the build matrix and the exact set of targets.
Steps
1. Pre-flight checks
Run make pre-commit first to catch formatting, clippy, and test issues before bumping versions. Fix any problems before proceeding.
2. Bump version
All nine crates inherit version from [workspace.package], so there are only
two places to update:
Cargo.toml— theversionfield under[workspace.package]crates/vykar-gui/macos/Info.plist(update bothCFBundleVersionandCFBundleShortVersionString)
Run cargo check to regenerate Cargo.lock with the new versions.
3. Commit, tag, and push
Commit the version bump (include any other pending changes that should ship). Create a git tag v<version> and push both the commit and tag to origin main. Pushing the tag triggers the release workflow.
git add <changed files> && git commit -m "Bump version to <version>"
git tag v<version>
git push origin main --tags
4. Wait for the release workflow
Use the GitHub CLI to find the triggered workflow run and watch it until all jobs complete:
gh run list --limit 5
gh run watch <run-id> --exit-status
Once the build jobs finish, a publish job downloads the artifacts, generates SHA256 checksums, and creates the GitHub Release via softprops/action-gh-release.
5. Draft release notes
Review all commits since the previous tag:
git log <prev-tag>..v<version> --oneline --no-merges
Categorize the changes into sections (e.g. Features, Performance, Bug Fixes, Infrastructure) and update the release:
gh release edit v<version> --notes "<release notes>"
Include an "Updating" section showing the install command (curl -fsSL https://vykar.borgbase.com/install.sh | sh) with a link to the quickstart guide for other install options, followed by a downloads table listing each platform artifact.