This document describes how to create releases for AgenticGoKit CLI.
We use GitHub Actions for fully automated releases. Here's how it works:
# Make sure you're on main branch and up to date
git checkout main
git pull origin main
# Create and push a version tag
git tag v0.4.0
git push origin v0.4.0Once you push a tag, GitHub Actions automatically:
- ✅ Builds all platforms: Linux, macOS, Windows (AMD64 + ARM64)
- ✅ Injects version info: Version, commit, branch, build date (RFC3339 format)
- ✅ Creates checksums: SHA256 for all binaries
- ✅ Generates release notes: Professional release notes with installation instructions
- ✅ Creates GitHub release: With all binaries attached
- ✅ Updates installation scripts: Scripts automatically use the new version
| Platform | Binary Name | Description |
|---|---|---|
| Linux AMD64 | agentcli-linux-amd64 |
Most Linux distributions |
| Linux ARM64 | agentcli-linux-arm64 |
ARM Linux, Raspberry Pi |
| macOS Intel | agentcli-darwin-amd64 |
Intel-based Macs |
| macOS Apple Silicon | agentcli-darwin-arm64 |
M1/M2/M3 Macs |
| Windows AMD64 | agentcli-windows-amd64.exe |
64-bit Windows |
| Windows ARM64 | agentcli-windows-arm64.exe |
ARM Windows devices |
The installation scripts automatically detect and use the latest release:
install.ps1- Windows PowerShell installerinstall.sh- Linux/macOS Bash installer
Users can install immediately after release:
# Latest version (automatic)
curl -fsSL https://raw.githubusercontent.com/kunalkushwaha/agenticgokit/master/install.sh | bash
# Specific version
curl -fsSL https://raw.githubusercontent.com/kunalkushwaha/agenticgokit/master/install.sh | bash -s -- --version v0.4.0- All tests passing on main branch
- Version updated in relevant files (if needed)
- CHANGELOG updated with new features/fixes
- Documentation updated
- Installation scripts tested
- Create version tag:
git tag v0.4.0 - Push tag:
git push origin v0.4.0 - Monitor GitHub Actions workflow
- Verify release created successfully
- Test installation scripts with new version
- Announce release (if major)
- Update documentation if needed
- Close related issues/PRs
We follow Semantic Versioning:
- Major (v1.0.0): Breaking changes
- Minor (v0.4.0): New features, backward compatible
- Patch (v0.3.1): Bug fixes, backward compatible
# Correct format
git tag v0.4.0
git tag v1.0.0
git tag v0.3.1
# Incorrect format (don't use)
git tag 0.4.0 # Missing 'v' prefix
git tag version-0.4.0 # Wrong formatIf you need to create a release manually:
# Using Makefile (recommended)
make build-all
# Or using build scripts
./build.sh all # Linux/macOS
.\build.ps1 all # Windows PowerShellsha256sum agentcli-* > checksums.txt- Go to GitHub Releases
- Click "Create a new release"
- Choose tag version
- Upload all binaries and checksums.txt
- Write release notes
- Check the Actions tab
- Look at the failed step logs
- Common issues:
- Build failures: Check Go code compilation
- Permission issues: Verify GITHUB_TOKEN permissions
- Tag format: Ensure tag starts with 'v'
- Test scripts locally:
# Test bash script bash install.sh --help # Test PowerShell script pwsh install.ps1 -Help
- Check GitHub API rate limits
- Verify release assets are uploaded correctly
- Test binaries locally:
./agentcli-linux-amd64 version ./agentcli-windows-amd64.exe version
- Check cross-compilation settings in Makefile
- Verify Go version compatibility
After each release, monitor:
- Download counts per platform
- Installation script usage
- User feedback and issues
- Performance metrics
For critical bug fixes:
-
Create hotfix branch from main:
git checkout main git checkout -b hotfix/v0.3.1
-
Make minimal fix and test
-
Merge to main:
git checkout main git merge hotfix/v0.3.1
-
Create patch release:
git tag v0.3.1 git push origin v0.3.1
- BUILD.md - Build system documentation
- INSTALL.md - Installation guide
- CONTRIBUTING.md - Contribution guidelines
- GitHub Actions Workflows - CI/CD configuration
# Standard release process
git checkout main
git pull origin main
git tag v0.4.0
git push origin v0.4.0
# Monitor release
open https://github.com/kunalkushwaha/agenticgokit/actions
# Test installation after release
curl -fsSL https://raw.githubusercontent.com/kunalkushwaha/agenticgokit/master/install.sh | bash -s -- --version v0.4.0That's it! The automated system handles everything else. 🚀