vietc/RELEASE_CHECKLIST.md
Khoa Vo a714dca0be
Some checks are pending
Build & Release / Build & test (push) Waiting to run
Build & Release / Build packages (push) Blocked by required conditions
release: v0.1.5 — Event Sourcing, Flatpak build fixes, icons
2026-06-28 21:20:19 +07:00

88 lines
1.5 KiB
Markdown

# Release Checklist
## When to release
- New feature or bugfix that should be distributed to users
- Flatpak build changes validated
- All tests passing (`cargo test`)
---
## Step-by-step
### 1. Bump version
Update version in:
- `daemon/Cargo.toml`
- `cli/Cargo.toml`
- `engine/Cargo.toml`
- `protocol/Cargo.toml`
- `ui/Cargo.toml`
- `uinputd/Cargo.toml`
- `README.md` version badge
### 2. Update CHANGELOG.md
Add a new entry under the version heading:
```markdown
## vX.Y.Z (YYYY-MM-DD)
### Added
- new features...
### Fixed
- bug fixes...
### Changed
- behavior changes...
```
### 3. Build the Flatpak
```bash
cd packaging/flatpak
bash build-flatpak.sh X.Y.Z
```
Verify the bundle was created:
```bash
ls -lh VietPlus-X.Y.Z.flatpak
```
### 4. Test the Flatpak
```bash
flatpak install --user --bundle VietPlus-X.Y.Z.flatpak
flatpak run io.github.vietc.VietPlus
```
### 5. Commit and push
```bash
git add -A
git commit -m "release: vX.Y.Z — <summary>"
git push origin main
```
### 6. Create a release on Forgejo/GitHub
Attach the Flatpak bundle (`VietPlus-X.Y.Z.flatpak`) as a release asset.
```bash
# Using forgejo-release (if configured)
# Or manually upload via the web UI
```
---
## Quick command
```bash
VERSION=X.Y.Z && \
sed -i "s/^version = .*/version = \"$VERSION\"/" \
daemon/Cargo.toml cli/Cargo.toml engine/Cargo.toml \
protocol/Cargo.toml ui/Cargo.toml uinputd/Cargo.toml && \
sed -i "s/Version-[0-9.]*-purple/Version-$VERSION-purple/" README.md && \
echo "Version bumped to $VERSION"
```