Skip to content

Commit 9ab3e64

Browse files
erudenkoclaude
andcommitted
build: Add release build script and GitHub release guide
- build-release.sh: Cross-platform binary builder (5 platforms) - GITHUB_RELEASE_GUIDE.md: Step-by-step release instructions - Built binaries: release/v0.3.0/ (not committed) All binaries tested and ready for GitHub release. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent b4502db commit 9ab3e64

2 files changed

Lines changed: 146 additions & 0 deletions

File tree

GITHUB_RELEASE_GUIDE.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# GitHub Release Guide for v0.3.0
2+
3+
## Step 1: Push Commits and Create Tag
4+
5+
```bash
6+
# Push all commits
7+
git push origin main
8+
9+
# Create and push tag
10+
git tag -a v0.3.0 -m "Phase 3: Fix A4/A5 + Complete Result/Option Implementation"
11+
git push origin v0.3.0
12+
```
13+
14+
## Step 2: Create GitHub Release
15+
16+
### Using GitHub CLI (gh)
17+
18+
```bash
19+
gh release create v0.3.0 \
20+
--title "Dingo v0.3.0 - Phase 3 Release" \
21+
--notes-file RELEASE_NOTES_v0.3.0.md \
22+
release/v0.3.0/*
23+
```
24+
25+
### Using GitHub Web UI
26+
27+
1. Go to https://github.com/MadAppGang/dingo/releases/new
28+
29+
2. **Tag**: `v0.3.0`
30+
31+
3. **Title**: `Dingo v0.3.0 - Phase 3 Release`
32+
33+
4. **Description**: Copy content from `RELEASE_NOTES_v0.3.0.md`
34+
35+
5. **Attach Binaries**:
36+
- Upload files from `release/v0.3.0/`:
37+
- `dingo-v0.3.0-darwin-amd64`
38+
- `dingo-v0.3.0-darwin-arm64`
39+
- `dingo-v0.3.0-linux-amd64`
40+
- `dingo-v0.3.0-linux-arm64`
41+
- `dingo-v0.3.0-windows-amd64.exe`
42+
43+
6. **Release Type**:
44+
- ☑️ Set as the latest release
45+
- ☐ Set as a pre-release (uncheck - this is a stable release)
46+
47+
7. Click **"Publish release"**
48+
49+
## Step 3: Verify Release
50+
51+
After publishing:
52+
53+
1. Check release page: https://github.com/MadAppGang/dingo/releases/tag/v0.3.0
54+
2. Test download links for each platform
55+
3. Verify release notes display correctly
56+
57+
## Binary Installation Instructions (for users)
58+
59+
### macOS (ARM - M1/M2/M3)
60+
```bash
61+
curl -L https://github.com/MadAppGang/dingo/releases/download/v0.3.0/dingo-v0.3.0-darwin-arm64 -o dingo
62+
chmod +x dingo
63+
sudo mv dingo /usr/local/bin/
64+
```
65+
66+
### macOS (Intel)
67+
```bash
68+
curl -L https://github.com/MadAppGang/dingo/releases/download/v0.3.0/dingo-v0.3.0-darwin-amd64 -o dingo
69+
chmod +x dingo
70+
sudo mv dingo /usr/local/bin/
71+
```
72+
73+
### Linux (AMD64)
74+
```bash
75+
curl -L https://github.com/MadAppGang/dingo/releases/download/v0.3.0/dingo-v0.3.0-linux-amd64 -o dingo
76+
chmod +x dingo
77+
sudo mv dingo /usr/local/bin/
78+
```
79+
80+
### Linux (ARM64)
81+
```bash
82+
curl -L https://github.com/MadAppGang/dingo/releases/download/v0.3.0/dingo-v0.3.0-linux-arm64 -o dingo
83+
chmod +x dingo
84+
sudo mv dingo /usr/local/bin/
85+
```
86+
87+
### Windows
88+
Download `dingo-v0.3.0-windows-amd64.exe` and add to PATH.
89+
90+
## Post-Release Checklist
91+
92+
- [ ] Push commits and tag
93+
- [ ] Create GitHub release
94+
- [ ] Upload all binaries
95+
- [ ] Test download links
96+
- [ ] Update landing page (optional)
97+
- [ ] Announce on social media (optional)
98+
- [ ] Update README with v0.3.0 features (optional)
99+
100+
---
101+
102+
**Ready to ship!** 🚀

build-release.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/bin/bash
2+
# Build Dingo binaries for multiple platforms
3+
4+
set -e
5+
6+
VERSION="v0.3.0"
7+
BUILD_DIR="release/${VERSION}"
8+
9+
echo "🐕 Building Dingo ${VERSION} for multiple platforms..."
10+
11+
# Create release directory
12+
mkdir -p "${BUILD_DIR}"
13+
14+
# Build for different platforms
15+
platforms=(
16+
"linux/amd64"
17+
"linux/arm64"
18+
"darwin/amd64"
19+
"darwin/arm64"
20+
"windows/amd64"
21+
)
22+
23+
for platform in "${platforms[@]}"; do
24+
IFS='/' read -r GOOS GOARCH <<< "$platform"
25+
26+
output_name="dingo-${VERSION}-${GOOS}-${GOARCH}"
27+
if [ "$GOOS" = "windows" ]; then
28+
output_name="${output_name}.exe"
29+
fi
30+
31+
echo " Building ${GOOS}/${GOARCH}..."
32+
33+
GOOS=$GOOS GOARCH=$GOARCH go build \
34+
-ldflags="-X 'main.Version=${VERSION}' -X 'main.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)'" \
35+
-o "${BUILD_DIR}/${output_name}" \
36+
./cmd/dingo
37+
38+
echo "${output_name}"
39+
done
40+
41+
echo ""
42+
echo "✅ Build complete! Binaries in: ${BUILD_DIR}/"
43+
echo ""
44+
ls -lh "${BUILD_DIR}/"

0 commit comments

Comments
 (0)