Keep Core now supports fully automated releases through GitHub Actions. When you push a version tag, the system automatically:
- Builds multi-platform binaries
- Runs tests to ensure quality
- Creates a GitHub release with artifacts
- Generates release notes
Ensure you're on the main branch with all changes merged:
git checkout main
git pull origin main# For a new patch release
git tag v2.1.1
# For a new minor release
git tag v2.2.0
# For a pre-release
git tag v2.2.0-rc.1
# Push the tag to trigger the release
git push origin v2.1.1- Go to the Actions tab in GitHub
- Watch the "Release" workflow complete
- Check the Releases page for the new release
Each release automatically includes:
- Linux AMD64 binary:
keep-client-mainnet-{version}-linux-amd64.tar.gz - macOS AMD64 binary:
keep-client-mainnet-{version}-darwin-amd64.tar.gz - Checksums:
.md5and.sha256files for verification
Follow Semantic Versioning:
- Patch (
v2.1.1): Bug fixes, security patches - Minor (
v2.2.0): New features, backwards compatible - Major (
v3.0.0): Breaking changes - Pre-release (
v2.2.0-rc.1): Release candidates, alpha/beta versions
Tags containing hyphens (e.g., v2.2.0-rc.1, v2.2.0-alpha.1) are automatically marked as pre-releases.
If automatic releases fail, you can still create releases manually:
- Use
workflow_dispatchon the client workflow - Download artifacts from the workflow run
- Create a GitHub release manually
- Upload the downloaded artifacts
- Check the Actions logs for specific errors
- Ensure the tag follows the
v*pattern - Verify tests are passing on the main branch
- Check if the Docker build completed successfully
- Verify the
output-binstarget in the Dockerfile - Ensure artifact paths match the workflow configuration
The release process is configured in:
.github/workflows/release.yml- Main release automationMakefile- Build configuration and binary namingDockerfile- Multi-stage build for binaries