forked from 1jehuang/jcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdate_packages.sh
More file actions
executable file
·100 lines (80 loc) · 2.56 KB
/
update_packages.sh
File metadata and controls
executable file
·100 lines (80 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/usr/bin/env bash
# Update Homebrew tap and AUR package for a new release.
# Usage: scripts/update_packages.sh v0.1.3
set -euo pipefail
VERSION="${1:?Usage: $0 <version-tag>}"
VERSION_NUM="${VERSION#v}"
echo "Updating packages for $VERSION..."
LINUX_URL="https://github.com/1jehuang/jcode/releases/download/${VERSION}/jcode-linux-x86_64.tar.gz"
MACOS_URL="https://github.com/1jehuang/jcode/releases/download/${VERSION}/jcode-macos-aarch64.tar.gz"
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
echo "Downloading assets for checksums..."
curl -sL "$LINUX_URL" -o "$tmpdir/linux.tar.gz"
curl -sL "$MACOS_URL" -o "$tmpdir/macos.tar.gz"
LINUX_SHA=$(sha256sum "$tmpdir/linux.tar.gz" | cut -d' ' -f1)
MACOS_SHA=$(sha256sum "$tmpdir/macos.tar.gz" | cut -d' ' -f1)
echo " Linux SHA256: $LINUX_SHA"
echo " macOS SHA256: $MACOS_SHA"
# --- Homebrew tap ---
echo ""
echo "Updating Homebrew tap..."
BREW_DIR="$tmpdir/homebrew-jcode"
git clone --depth 1 git@github.com:1jehuang/homebrew-jcode.git "$BREW_DIR" 2>/dev/null
cat > "$BREW_DIR/Formula/jcode.rb" <<EOF
class Jcode < Formula
desc "AI coding agent powered by Claude and ChatGPT"
homepage "https://github.com/1jehuang/jcode"
version "$VERSION_NUM"
license "MIT"
on_macos do
on_arm do
url "$MACOS_URL"
sha256 "$MACOS_SHA"
def install
bin.install "jcode-macos-aarch64" => "jcode"
end
end
end
on_linux do
on_intel do
url "$LINUX_URL"
sha256 "$LINUX_SHA"
def install
bin.install "jcode-linux-x86_64" => "jcode"
end
end
end
test do
assert_match "jcode", shell_output("#{bin}/jcode --version")
end
end
EOF
(cd "$BREW_DIR" && git add -A && git commit -m "Update jcode to $VERSION" && git push origin main)
echo " ✅ Homebrew tap updated"
# --- AUR ---
echo ""
echo "Updating AUR package..."
AUR_DIR="$tmpdir/jcode-bin-aur"
git clone ssh://aur@aur.archlinux.org/jcode-bin.git "$AUR_DIR" 2>/dev/null
cat > "$AUR_DIR/PKGBUILD" <<EOF
# Maintainer: Jeremy Huang <jeremyhuang55555@gmail.com>
pkgname=jcode-bin
pkgver=$VERSION_NUM
pkgrel=1
pkgdesc="AI coding agent powered by Claude and ChatGPT"
arch=('x86_64')
url="https://github.com/1jehuang/jcode"
license=('MIT')
provides=('jcode')
conflicts=('jcode')
source=("$LINUX_URL")
sha256sums=('$LINUX_SHA')
package() {
install -Dm755 "\${srcdir}/jcode-linux-x86_64" "\${pkgdir}/usr/bin/jcode"
}
EOF
(cd "$AUR_DIR" && makepkg --printsrcinfo > .SRCINFO && git add -A && git commit -m "Update to $VERSION" && git push origin master)
echo " ✅ AUR package updated"
echo ""
echo "Done! Packages updated to $VERSION"