Document update-homebrew.sh script and v0.23.0 fix
This commit is contained in:
@@ -126,6 +126,67 @@ Previously, version bumps only updated `cmd/bd/version.go`, leaving other compon
|
|||||||
- Verifies all versions match after update
|
- Verifies all versions match after update
|
||||||
- Shows diff for review before commit
|
- Shows diff for review before commit
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## update-homebrew.sh
|
||||||
|
|
||||||
|
Automatically updates the Homebrew formula with GoReleaser release artifacts.
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Update formula after pushing git tag
|
||||||
|
./scripts/update-homebrew.sh 0.9.3
|
||||||
|
|
||||||
|
# Use custom tap directory
|
||||||
|
TAP_DIR=~/homebrew-beads ./scripts/update-homebrew.sh 0.9.3
|
||||||
|
```
|
||||||
|
|
||||||
|
### What It Does
|
||||||
|
|
||||||
|
This script automates the Homebrew formula update process:
|
||||||
|
|
||||||
|
1. **Waits** for GitHub Actions release build (~5 minutes, checks every 30s)
|
||||||
|
2. **Downloads** checksums.txt from the GitHub release
|
||||||
|
3. **Extracts** SHA256s for all platform-specific binaries:
|
||||||
|
- macOS ARM64 (Apple Silicon)
|
||||||
|
- macOS AMD64 (Intel)
|
||||||
|
- Linux AMD64
|
||||||
|
- Linux ARM64
|
||||||
|
4. **Clones/updates** the homebrew-beads tap repository
|
||||||
|
5. **Updates** Formula/bd.rb with new version and all SHA256s
|
||||||
|
6. **Commits and pushes** the changes
|
||||||
|
|
||||||
|
### Important Notes
|
||||||
|
|
||||||
|
- **Run AFTER pushing the git tag** - the script waits for GitHub Actions to finish
|
||||||
|
- **Uses GoReleaser artifacts**, not source tarballs (fixed in v0.23.0)
|
||||||
|
- **Automatically waits** up to 7.5 minutes for release build to complete
|
||||||
|
- **Updates all platforms** in a single operation
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Standard usage (after git tag push)
|
||||||
|
git tag v0.9.3 && git push origin v0.9.3
|
||||||
|
./scripts/update-homebrew.sh 0.9.3
|
||||||
|
|
||||||
|
# Custom tap directory
|
||||||
|
TAP_DIR=/path/to/homebrew-beads ./scripts/update-homebrew.sh 0.9.3
|
||||||
|
```
|
||||||
|
|
||||||
|
### Why This Script Exists
|
||||||
|
|
||||||
|
Previously, the Homebrew formula update was manual and error-prone:
|
||||||
|
- Used source tarball SHA256 instead of GoReleaser artifacts (wrong!)
|
||||||
|
- Required manually computing 4 separate SHA256s
|
||||||
|
- Easy to forget updating all platforms
|
||||||
|
- No automation for waiting on GitHub Actions
|
||||||
|
|
||||||
|
This script fixes all those issues and is now used by `release.sh`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Future Scripts
|
## Future Scripts
|
||||||
|
|
||||||
Additional maintenance scripts may be added here as needed.
|
Additional maintenance scripts may be added here as needed.
|
||||||
|
|||||||
Reference in New Issue
Block a user