- name
- release
- description
- Cut a new vykar release: bump versions, tag, push, wait for CI, and draft release notes.
# 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` — the `version` field under `[workspace.package]`
- `crates/vykar-gui/macos/Info.plist` (update both `CFBundleVersion` and `CFBundleShortVersionString`)
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](https://vykar.borgbase.com/quickstart#install) for other install options, followed by a downloads table listing each platform artifact.
Ver no GitHub