diff options
| author | Michelle Tilley <michelle@michelletilley.net> | 2026-04-14 14:50:41 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-14 22:50:41 +0100 |
| commit | 09c29992c78eeb5cfe928cd2ee51455ce2e04158 (patch) | |
| tree | b46b4396ff0cbf2603c448ba4765fe11c7c23ce4 /deny.toml | |
| parent | feat: Enable atuin hex for illumos (#3413) (diff) | |
| download | atuin-09c29992c78eeb5cfe928cd2ee51455ce2e04158.zip | |
chore: add release script (#3411)
## Summary
Adds release automation for Atuin in two forms: a standalone bash script
(`scripts/release.sh`) and a Claude Code skill (`/release`).
Both follow the same process:
1. Check dependencies (`git`, `gsed`, `cargo`, `gh`, `git-cliff`)
2. Detect current version from workspace `Cargo.toml`, prompt for new
version
3. Clone to a clean temp directory, create release branch
4. Update versions across all `Cargo.toml` files (with escaped dots in
the sed pattern)
5. `cargo check` to update `Cargo.lock`
6. Generate changelog with `git-cliff` and insert incrementally
(preserves manual edits to old entries)
7. Commit, push, create PR with changelog in the body
8. Wait for PR merge, then tag and push
9. Publish to crates.io (stable only, `--no-verify` to avoid index-lag
failures, graceful "already uploaded" handling for
independently-versioned crates like atuin-nucleo)
### Changelog strategy
- **Prereleases**: maintain a running `## [unreleased]` section with all
changes since the last stable release
- **Stable releases**: replace the `[unreleased]` section with a
versioned `## X.Y.Z` heading covering the same span
- cargo-dist reads `CHANGELOG.md` at the tagged commit for GitHub
Release notes, so the edited changelog flows through automatically
### Bash script vs Claude Code skill
| Bash script | `/release` skill |
|---|---|
| `read -p "Press Enter..."` | AskUserQuestion with structured options |
| `$EDITOR CHANGELOG.md` | Shows the entry inline, edits
conversationally |
| `sleep 5` polling loop | Persistent Monitor with CI check summaries |
| `echo -e "${GREEN}✓${NC}"` | Natural language progress reporting |
| Must know the script exists | `/release 18.15.0` from any Claude Code
session |
Diffstat (limited to 'deny.toml')
0 files changed, 0 insertions, 0 deletions
