Skip to content

Commit 59dcefb

Browse files
committed
homebrew
1 parent 5f3071d commit 59dcefb

2 files changed

Lines changed: 70 additions & 1 deletion

File tree

scripts/release_homebrew.sh

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
ROOT_DIR=$(cd "$(dirname "$0")/.." && pwd)
5+
REPO_DIR="$ROOT_DIR"
6+
TAP_DIR_DEFAULT="$ROOT_DIR/../homebrew-tap"
7+
TAP_DIR="${TAP_DIR:-$TAP_DIR_DEFAULT}"
8+
TAP_REPO="everettjf/homebrew-tap"
9+
CASK_PATH="Casks/pdfread.rb"
10+
11+
require_cmd() {
12+
if ! command -v "$1" >/dev/null 2>&1; then
13+
echo "Missing required command: $1" >&2
14+
exit 1
15+
fi
16+
}
17+
18+
require_cmd bun
19+
require_cmd git
20+
require_cmd gh
21+
require_cmd shasum
22+
23+
if ! gh auth status >/dev/null 2>&1; then
24+
echo "GitHub CLI not authenticated. Run: gh auth login" >&2
25+
exit 1
26+
fi
27+
28+
cd "$REPO_DIR"
29+
30+
./inc_patch_version.sh
31+
32+
VERSION=$(bun -e "console.log(require('./package.json').version)")
33+
TAG="v$VERSION"
34+
35+
bun run tauri build
36+
37+
DMG_PATH=$(ls -t src-tauri/target/release/bundle/dmg/*.dmg 2>/dev/null | head -1 || true)
38+
if [ -z "$DMG_PATH" ]; then
39+
echo "No .dmg found at src-tauri/target/release/bundle/dmg/" >&2
40+
exit 1
41+
fi
42+
43+
if gh release view "$TAG" >/dev/null 2>&1; then
44+
echo "Release $TAG already exists. Skipping create." >&2
45+
else
46+
gh release create "$TAG" "$DMG_PATH" -t "$TAG" -n "PDFRead $TAG"
47+
fi
48+
49+
SHA256=$(shasum -a 256 "$DMG_PATH" | awk '{print $1}')
50+
51+
if [ ! -d "$TAP_DIR/.git" ]; then
52+
git clone "https://github.com/$TAP_REPO.git" "$TAP_DIR"
53+
fi
54+
55+
cd "$TAP_DIR"
56+
57+
if [ ! -f "$CASK_PATH" ]; then
58+
echo "Cask not found: $TAP_DIR/$CASK_PATH" >&2
59+
exit 1
60+
fi
61+
62+
sed -i '' "s/^ version \".*\"/ version \"$VERSION\"/" "$CASK_PATH"
63+
sed -i '' "s/^ sha256 \".*\"/ sha256 \"$SHA256\"/" "$CASK_PATH"
64+
65+
git add "$CASK_PATH"
66+
git commit -m "bump pdfread to $VERSION"
67+
git push
68+
69+
echo "Done. Released $TAG and updated Homebrew cask."

src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)