Releasing¶
How to release new versions of Feluda.
This is only if you have release permissions. If not, contact the maintainers to get it.
Setup Requirements¶
Install the gh CLI:
brew install gh # macOS sudo apt install gh # Ubuntu/Debian
Authenticate the gh CLI with GitHub:
gh auth login
We’ll be using justfile for next steps, so setup just before proceeding.
Release Process¶
The release process is split into two steps:
Step 1: Publish to crates.io and push tag¶
just publish # Stable release (v1.0.0)
just publish alpha # Alpha release (v1.0.0-alpha)
just publish beta # Beta release (v1.0.0-beta)
just publish rc-1 # Release candidate (v1.0.0-rc-1)
This will:
Build the release version
Test the release build
Create and validate the package
Publish to crates.io
Create and push the version tag to GitHub (with optional pre-release suffix)
Step 2: Create GitHub release manually¶
After the tag is pushed, create the GitHub release manually via the GitHub UI:
Click “Draft a new release”
Select the tag that was just pushed
Add release notes describing the changes
Publish the release
The release-binaries.yml workflow will automatically trigger on the release publish and build RPM and DEB packages, uploading them to the release.
Helper Commands¶
Test the Release Build
just test-release
Clean Artifacts
just clean
Login to crates.io
just login