From 9ae93b125249dead6169bdc505c11e0f43309e40 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Thu, 30 Apr 2026 01:03:42 +0300 Subject: docs: simplify release instructions --- AGENTS.md | 11 ++--------- justfile | 12 ++---------- 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: -- cgit v1.2.3