Skip to content

Commit a207ce2

Browse files
committed
fix(quoteforge[dist]): fold homebrew bump into release workflow
1 parent 43d299f commit a207ce2

3 files changed

Lines changed: 90 additions & 98 deletions

File tree

.github/workflows/homebrew-bump.yml

Lines changed: 0 additions & 97 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,91 @@ jobs:
9292
dist/quoteforge-*.zip.sha256
9393
generate_release_notes: true
9494
fail_on_unmatched_files: false
95+
96+
bump-homebrew:
97+
needs: release
98+
runs-on: ubuntu-latest
99+
steps:
100+
- uses: actions/checkout@v4
101+
102+
- name: Resolve version
103+
id: meta
104+
env:
105+
INPUT_TAG: ${{ github.event.inputs.tag }}
106+
REF_TAG: ${{ github.ref_name }}
107+
run: |
108+
tag="${INPUT_TAG:-$REF_TAG}"
109+
version="${tag#v}"
110+
echo "tag=$tag" >> "$GITHUB_OUTPUT"
111+
echo "version=$version" >> "$GITHUB_OUTPUT"
112+
113+
- name: Download sha256 files from release
114+
id: sha
115+
env:
116+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
117+
TAG: ${{ steps.meta.outputs.tag }}
118+
run: |
119+
set -e
120+
tmp=$(mktemp -d)
121+
for triple in aarch64-apple-darwin x86_64-apple-darwin aarch64-unknown-linux-gnu x86_64-unknown-linux-gnu; do
122+
gh release download "$TAG" --repo "$GITHUB_REPOSITORY" \
123+
--pattern "quoteforge-$triple.tar.gz.sha256" --dir "$tmp" || true
124+
done
125+
arm_mac=$(awk '{print $1}' "$tmp/quoteforge-aarch64-apple-darwin.tar.gz.sha256" 2>/dev/null || echo "")
126+
x64_mac=$(awk '{print $1}' "$tmp/quoteforge-x86_64-apple-darwin.tar.gz.sha256" 2>/dev/null || echo "")
127+
arm_linux=$(awk '{print $1}' "$tmp/quoteforge-aarch64-unknown-linux-gnu.tar.gz.sha256" 2>/dev/null || echo "")
128+
x64_linux=$(awk '{print $1}' "$tmp/quoteforge-x86_64-unknown-linux-gnu.tar.gz.sha256" 2>/dev/null || echo "")
129+
echo "arm_mac=$arm_mac" >> "$GITHUB_OUTPUT"
130+
echo "x64_mac=$x64_mac" >> "$GITHUB_OUTPUT"
131+
echo "arm_linux=$arm_linux" >> "$GITHUB_OUTPUT"
132+
echo "x64_linux=$x64_linux" >> "$GITHUB_OUTPUT"
133+
134+
- name: Render formula
135+
env:
136+
VERSION: ${{ steps.meta.outputs.version }}
137+
ARM_MAC: ${{ steps.sha.outputs.arm_mac }}
138+
X64_MAC: ${{ steps.sha.outputs.x64_mac }}
139+
ARM_LINUX: ${{ steps.sha.outputs.arm_linux }}
140+
X64_LINUX: ${{ steps.sha.outputs.x64_linux }}
141+
run: |
142+
set -e
143+
mkdir -p rendered/Formula
144+
cp packaging/homebrew/quoteforge.rb rendered/Formula/quoteforge.rb
145+
sed -i "s/^ version \".*\"/ version \"$VERSION\"/" rendered/Formula/quoteforge.rb
146+
sed -i "s/REPLACE_WITH_AARCH64_DARWIN_SHA/$ARM_MAC/" rendered/Formula/quoteforge.rb
147+
sed -i "s/REPLACE_WITH_X86_64_DARWIN_SHA/$X64_MAC/" rendered/Formula/quoteforge.rb
148+
sed -i "s/REPLACE_WITH_AARCH64_LINUX_SHA/$ARM_LINUX/" rendered/Formula/quoteforge.rb
149+
sed -i "s/REPLACE_WITH_X86_64_LINUX_SHA/$X64_LINUX/" rendered/Formula/quoteforge.rb
150+
cat rendered/Formula/quoteforge.rb
151+
152+
- name: Checkout tap
153+
uses: actions/checkout@v4
154+
with:
155+
repository: lordvins226/homebrew-quoteforge
156+
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
157+
path: tap
158+
159+
- name: Commit and open PR
160+
env:
161+
GH_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
162+
VERSION: ${{ steps.meta.outputs.version }}
163+
run: |
164+
set -e
165+
mkdir -p tap/Formula
166+
cp rendered/Formula/quoteforge.rb tap/Formula/quoteforge.rb
167+
cd tap
168+
branch="bump-quoteforge-$VERSION"
169+
git config user.name "quoteforge-bot"
170+
git config user.email "actions@users.noreply.github.com"
171+
git checkout -b "$branch"
172+
git add Formula/quoteforge.rb
173+
if git diff --cached --quiet; then
174+
echo "No formula changes; skipping PR"
175+
exit 0
176+
fi
177+
git commit -m "quoteforge $VERSION"
178+
git push --set-upstream origin "$branch" --force
179+
gh pr create \
180+
--title "quoteforge $VERSION" \
181+
--body "Auto-generated by quoteforge release workflow." \
182+
--base main || echo "PR already exists"

site/src/docs/getting-started.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ Each asset has a sibling `.sha256` for verification.
4242
git clone https://github.com/lordvins226/quoteforge
4343
cd quoteforge
4444
bun install
45-
bun run quoteforge --version
4645
```
4746

47+
Run from source with `bun run quoteforge -- <args>`.
48+
4849
## Verify
4950

5051
```bash

0 commit comments

Comments
 (0)