2.8 KiB
2.8 KiB
Release Process
This document describes how to create a new release of hyprvoice.
Automated Release Process
1. Create a Release Tag
# Make sure you're on main branch with latest changes
git checkout main
git pull origin main
# Create and push a version tag
git tag v0.1.0
git push origin v0.1.0
2. GitHub Actions Automatically:
- ✅ Builds the binary with CGO for Linux x86_64
- ✅ Runs all tests
- ✅ Creates a GitHub release with changelog
- ✅ Uploads
hyprvoice-linux-x86_64binary - ✅ Generates and uploads SHA256 checksums
3. Update AUR Package
cd packaging/
./update-aur.sh 0.1.0
That's it! The script handles everything:
- Updates PKGBUILD version and checksums
- Copies files to AUR repository
- Generates .SRCINFO
- Tests the build
- Commits and pushes to AUR (with confirmation)
Manual Release (if needed)
Build Binary
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o hyprvoice-linux-x86_64 ./cmd/hyprvoice
Create Release
- Go to GitHub Releases
- Click "Create a new release"
- Tag:
v0.1.0 - Release title:
Release 0.1.0 - Upload
hyprvoice-linux-x86_64 - Publish release
Version Scheme
- Major.Minor.Patch (e.g.,
0.1.0) - Major: Breaking changes
- Minor: New features, backwards compatible
- Patch: Bug fixes, small improvements
Complete Release Checklist
Pre-release
- All tests pass:
go test ./... - Binary builds:
go build ./cmd/hyprvoice - Configure command works:
./hyprvoice configure --help - Version bumped in any relevant files
- Changes documented
GitHub Release
- Create and push version tag:
git tag v0.1.0 && git push origin v0.1.0 - Verify GitHub Actions completed successfully
- Verify binary uploaded to GitHub releases
- Verify checksums generated
AUR Package Update (if AUR package exists)
- Run complete AUR update:
./packaging/update-aur.sh 0.1.0 - Verify AUR package page updated
Post-release Verification
- Test AUR installation:
yay -S hyprvoice-bin - Test configure command:
hyprvoice configure - Test service:
systemctl --user status hyprvoice.service - Update project README if needed
Files Updated in Release
packaging/PKGBUILD- Version and checksums- GitHub Release - Binary and checksums
- AUR repository - Updated package
Troubleshooting
Build Fails
- Check that all CGO dependencies are installed
- Ensure Go version matches workflow (1.21+)
AUR Package Issues
- Run
makepkg -sito test locally - Check checksums match:
updpkgsums - Verify binary downloads correctly
GitHub Actions Issues
- Check workflow logs in Actions tab
- Ensure tag follows
v*pattern - Verify GITHUB_TOKEN has necessary permissions