Skip to content

ci: add release flow modeled on git-workflow - #3

Merged
zawakin merged 1 commit into
mainfrom
feature/release-flow
Jun 28, 2026
Merged

ci: add release flow modeled on git-workflow#3
zawakin merged 1 commit into
mainfrom
feature/release-flow

Conversation

@zawakin

@zawakin zawakin commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Adds a release flow in the same style as the git-workflow repo, adapted to rep.

What's included

  • /release skill (.claude/skills/release/SKILL.md) — bump Cargo.toml, run mise run rep:verify, commit chore: release vX.X.X, tag, and create the GitHub release.
  • .github/workflows/release.yml — on a v* tag: verify the tag matches the Cargo.toml version, build binaries for 5 targets (macOS Intel/ARM, Linux x64/ARM64, Windows x64), and attach them + install.sh to the GitHub release (softprops/action-gh-release).
  • .github/workflows/ci.yml — test (3 OSes) / fmt / clippy / build / lockfile on push & PR to main.
  • install.sh — platform-detecting installer for the prebuilt binaries.
  • Docs: README install section, CLAUDE.md release section + write-exception note, tasks.md pointer.

Differences from git-workflow's flow

  • Single binary (rep) instead of two — packaging and install.sh adjusted.
  • No crates.io publish (per decision) — no CARGO_REGISTRY_TOKEN needed; the GitHub-release job depends only on the build job, so releases never hinge on a publish step.
  • Tag-vs-version check kept as a dedicated verify-version job that gates the build.

Notes for the maintainer

  • The release skill creates the GitHub release with curated notes; the workflow then attaches binaries to that same tag's release (idempotent).
  • mise run rep:verify is green locally (38 tests). The workflows themselves run on GitHub once merged.

🤖 Generated with Claude Code

Add a release flow in the same style as the git-workflow repo, adapted to
rep (single binary, no crates.io publish):

- /release skill: bump Cargo.toml, run rep:verify, commit, tag vX.X.X,
  create the GitHub release.
- .github/workflows/release.yml: on a v* tag, verify the tag matches the
  Cargo.toml version, build binaries for macOS/Linux/Windows (x64+ARM64),
  and attach them plus install.sh to the GitHub release.
- .github/workflows/ci.yml: test/fmt/clippy/build/lockfile on push and PR.
- install.sh: platform-detecting installer for the prebuilt binaries.
- README install section; CLAUDE.md release section + write-exception note;
  tasks.md release pointer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@zawakin zawakin self-assigned this Jun 28, 2026
@zawakin
zawakin merged commit 406fcac into main Jun 28, 2026
7 checks passed
@zawakin
zawakin deleted the feature/release-flow branch June 28, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant