Releases
Releases are built and published via GitHub Actions.
Release Workflow
Workflow file:
.github/workflows/release.yml
How to Release
- Push changes to
main. - Go to GitHub Actions → 🔖 Release TUI.
- Click Run workflow and enter a version (e.g.,
1.2.0).
What Happens
- The workflow updates
Cargo.toml+Cargo.lockonmainto the release version. - The workflow generates/updates
CHANGELOG.mdforv<version>from commits since the previous release tag. - The version bump and changelog update are committed together in one commit.
- Release creation is gated by changelog validation for that version.
- A git tag
v<version>is created and pushed. - Builds release binaries for Linux, macOS, Windows.
- Creates a GitHub Release with tag
v<version>. - Auto-generates release notes from merged PRs and commits.
- Attaches packaged binaries to the release.
Release Assets
The workflow publishes:
timeshit-linux.tar.gztimeshit-macos.tar.gztimeshit-macos.pkgtimeshit-windows.zip
These assets are consumed by the Homebrew and Scoop automation.