aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-04-30 01:03:42 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-04-30 01:03:42 +0300
commit9ae93b125249dead6169bdc505c11e0f43309e40 (patch)
treea908af4e3264e33c6061d9bf1351b25871e94d7d
parent74ad23120e2a3989bc801c95e476429d1262e0ce (diff)
docs: simplify release instructions
-rw-r--r--AGENTS.md11
-rw-r--r--justfile12
2 files changed, 4 insertions, 19 deletions
diff --git a/AGENTS.md b/AGENTS.md
index dcb2aeff..ad02a12e 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -64,24 +64,17 @@ Default release flow:
```bash
just check
just release 0.x.y
-# wait for the GitHub release and all four binary assets to exist
-just update-latest-json 0.x.y
-just verify-release-state 0.x.y
```
-`just release 0.x.y` prepares the changelog entry, bumps `Cargo.toml`, runs tests, commits, tags, and pushes. GitHub Actions builds the binaries after the tag is pushed.
+`just release 0.x.y` prepares the changelog entry, bumps `Cargo.toml`, runs tests, commits, tags, and pushes. GitHub Actions builds the binaries after the tag is pushed, creates the GitHub release, uploads all four binary assets, then updates `website/latest.json` on `master` automatically.
-`just update-latest-json 0.x.y` is the post-release website step. It uses `gh release view` against `ogulcancelik/herdr`, verifies the published release exists, rejects draft or prerelease releases, requires a non-empty release body, requires these four assets to exist, and only then rewrites `website/latest.json`:
+The release workflow must publish these four assets:
- `herdr-linux-x86_64`
- `herdr-linux-aarch64`
- `herdr-macos-x86_64`
- `herdr-macos-aarch64`
-It also refuses to run if `website/latest.json` is already at the same or newer version. It leaves the file unstaged and prints the next commands to review, commit, and push.
-
-`just verify-release-state 0.x.y` is the final read-only verification step. It checks that the published GitHub release, the local `website/latest.json`, the live `https://herdr.dev/latest.json`, and the release asset URLs all match the same version and manifest contents.
-
`website/latest.json` is the shipped updater source of truth. Keep its schema aligned with `src/update.rs`:
```json
diff --git a/justfile b/justfile
index 2f4b1787..78732307 100644
--- a/justfile
+++ b/justfile
@@ -28,7 +28,7 @@ build:
build-libghostty-vt:
scripts/build_vendored_libghostty_vt.sh
-# Finalize changelog, bump version, commit, tag, push, trigger release build (usage: just release 0.1.1)
+# Finalize changelog, bump version, commit, tag, push, and trigger the GitHub Release workflow (usage: just release 0.1.1)
release version:
@if [ -n "$(git status --porcelain)" ]; then \
echo "error: commit your changes first"; \
@@ -46,15 +46,7 @@ release version:
git diff --cached --quiet || git commit -m "release: v{{version}}"
git tag -a v{{version}} -m "v{{version}}"
git push --follow-tags
- @echo "v{{version}} released — GitHub Actions building binaries"
-
-# Update website/latest.json from a published GitHub release (usage: just update-latest-json 0.1.1)
-update-latest-json version:
- python3 scripts/changelog.py sync-latest-json --version {{version}} --output website/latest.json
-
-# Verify GitHub release, local manifest, live manifest, and asset URLs all agree (usage: just verify-release-state 0.1.1)
-verify-release-state version:
- python3 scripts/changelog.py verify-release-state --version {{version}} --output website/latest.json
+ @echo "v{{version}} released — GitHub Actions building binaries and updating website/latest.json"
# Print default config
default-config: