@@ -17,17 +17,23 @@ VERSION="${1:?Usage: update-tap.sh <version>}"
1717TAG=" v${VERSION} "
1818
1919SCRIPT_DIR=" $( cd " $( dirname " $0 " ) " && pwd) "
20- TEMPLATE=" ${SCRIPT_DIR} /attn.rb.template"
20+ FORMULA_TEMPLATE=" ${SCRIPT_DIR} /attn.rb.template"
21+ CASK_TEMPLATE=" ${SCRIPT_DIR} /attn-cask.rb.template"
2122
22- if [ ! -f " $TEMPLATE " ]; then
23- echo " Template not found: ${TEMPLATE} " >&2
23+ if [ ! -f " $FORMULA_TEMPLATE " ]; then
24+ echo " Formula template not found: ${FORMULA_TEMPLATE} " >&2
25+ exit 1
26+ fi
27+ if [ ! -f " $CASK_TEMPLATE " ]; then
28+ echo " Cask template not found: ${CASK_TEMPLATE} " >&2
2429 exit 1
2530fi
2631
2732echo " Fetching SHA256 checksums for ${TAG} ..."
2833
2934SHA_DARWIN_ARM64=" $( curl -sfL " https://github.com/${REPO} /releases/download/${TAG} /attn-${TAG} -darwin-arm64.sha256" | awk ' {print $1}' ) "
3035SHA_LINUX_X64=" $( curl -sfL " https://github.com/${REPO} /releases/download/${TAG} /attn-${TAG} -linux-x64.sha256" | awk ' {print $1}' ) "
36+ SHA_DARWIN_ARM64_APP=" $( curl -sfL " https://github.com/${REPO} /releases/download/${TAG} /attn-${TAG} -darwin-arm64.app.zip.sha256" | awk ' {print $1}' ) "
3137
3238if [ -z " $SHA_DARWIN_ARM64 " ]; then
3339 echo " Failed to fetch darwin-arm64 SHA256" >&2
@@ -37,23 +43,28 @@ if [ -z "$SHA_LINUX_X64" ]; then
3743 echo " Failed to fetch linux-x64 SHA256" >&2
3844 exit 1
3945fi
46+ if [ -z " $SHA_DARWIN_ARM64_APP " ]; then
47+ echo " Failed to fetch darwin-arm64 .app.zip SHA256" >&2
48+ exit 1
49+ fi
50+
51+ echo " darwin-arm64: ${SHA_DARWIN_ARM64} "
52+ echo " linux-x64: ${SHA_LINUX_X64} "
53+ echo " darwin-arm64 app: ${SHA_DARWIN_ARM64_APP} "
4054
41- echo " darwin-arm64: ${SHA_DARWIN_ARM64} "
42- echo " linux-x64: ${SHA_LINUX_X64} "
55+ # --- Update Formula ---
4356
44- # Generate formula from template
4557FORMULA=" $( sed \
4658 -e " s/%%VERSION%%/${VERSION} /g" \
4759 -e " s/%%SHA256_DARWIN_ARM64%%/${SHA_DARWIN_ARM64} /g" \
4860 -e " s/%%SHA256_LINUX_X64%%/${SHA_LINUX_X64} /g" \
49- " $TEMPLATE " ) "
61+ " $FORMULA_TEMPLATE " ) "
5062
51- # Get the current file SHA from the tap repo (needed for the GitHub API update)
5263CURRENT_SHA=" $( gh api " repos/${TAP_REPO} /contents/Formula/attn.rb" --jq ' .sha' 2> /dev/null || true) "
5364
5465ARGS=(
5566 --method PUT
56- --field " message=Update attn to ${VERSION} "
67+ --field " message=Update attn formula to ${VERSION} "
5768 --field " content=$( echo " $FORMULA " | base64) "
5869 --field " branch=main"
5970)
6576gh api " repos/${TAP_REPO} /contents/Formula/attn.rb" " ${ARGS[@]} "
6677
6778echo " Formula updated in ${TAP_REPO} "
79+
80+ # --- Update Cask ---
81+
82+ CASK=" $( sed \
83+ -e " s/%%VERSION%%/${VERSION} /g" \
84+ -e " s/%%SHA256_DARWIN_ARM64_APP%%/${SHA_DARWIN_ARM64_APP} /g" \
85+ " $CASK_TEMPLATE " ) "
86+
87+ CASK_CURRENT_SHA=" $( gh api " repos/${TAP_REPO} /contents/Casks/attn.rb" --jq ' .sha' 2> /dev/null || true) "
88+
89+ CASK_ARGS=(
90+ --method PUT
91+ --field " message=Update attn cask to ${VERSION} "
92+ --field " content=$( echo " $CASK " | base64) "
93+ --field " branch=main"
94+ )
95+
96+ if [ -n " $CASK_CURRENT_SHA " ]; then
97+ CASK_ARGS+=(--field " sha=${CASK_CURRENT_SHA} " )
98+ fi
99+
100+ gh api " repos/${TAP_REPO} /contents/Casks/attn.rb" " ${CASK_ARGS[@]} "
101+
102+ echo " Cask updated in ${TAP_REPO} "
0 commit comments