| name | prerelease |
| description | Build ah and create a GitHub prerelease with the binary and checksums. |
prerelease
Trigger the release.yml GitHub Actions workflow, watch it, and verify
the release was created.
Steps
1. Trigger the workflow
Default is prerelease. If the user asks for a full release, pass
-f release=true.
gh workflow run release.yml --ref main
gh workflow run release.yml --ref main -f release=true
2. Find the run
Wait a few seconds, then locate the in-progress run:
sleep 5
gh run list --workflow release.yml -L 3
Capture the run ID of the most recent run.
3. Watch the run
gh run watch shows no incremental output during long steps. Use a polling
loop that tails the last 20 lines of log every 10 seconds instead:
while gh run view <run-id> --json status -q .status | grep -qE "in_progress|queued|waiting"; do
gh run view <run-id> --log 2>/dev/null | tail -20
sleep 10
done
conclusion=$(gh run view <run-id> --json conclusion -q .conclusion)
echo "Run concluded: $conclusion"
[ "$conclusion" = "success" ] || exit 1
4. Handle failure
If the run fails, inspect logs:
gh run view <run-id> --log-failed
Report the error and stop.
5. Verify the release
gh release list --limit 1
gh release view <tag>
Output
Print a summary:
## Prerelease: <tag>
- run: <run-id>
- tag: <tag>
- artifacts: ah, ah-debug, SHA256SUMS
- url: <release-url>
Rules
- default to prerelease unless the user explicitly says "full release"
- always watch the run to completion — do not fire and forget
- if the workflow fails, show the failed logs and stop