Skip to content

Commit 357431a

Browse files
committed
fix: make release workflow fork-safe
1 parent 7b13868 commit 357431a

1 file changed

Lines changed: 21 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,38 @@ jobs:
1414
- name: Extract version from tag
1515
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
1616

17+
- name: Check Homebrew tap token
18+
id: homebrew-token
19+
env:
20+
HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
21+
run: |
22+
if [ -n "$HOMEBREW_TAP_TOKEN" ]; then
23+
echo "available=true" >> "$GITHUB_OUTPUT"
24+
else
25+
echo "available=false" >> "$GITHUB_OUTPUT"
26+
echo "HOMEBREW_TAP_TOKEN is not configured; skipping Homebrew tap update."
27+
fi
28+
1729
- name: Download DMG from release
30+
if: steps.homebrew-token.outputs.available == 'true'
1831
run: |
1932
curl -L \
20-
"https://github.com/wxtsky/CodeIsland/releases/download/v${VERSION}/CodeIsland.dmg" \
33+
"https://github.com/${GITHUB_REPOSITORY}/releases/download/v${VERSION}/CodeIsland.dmg" \
2134
-o CodeIsland.dmg
2235
2336
- name: Compute SHA256
37+
if: steps.homebrew-token.outputs.available == 'true'
2438
run: echo "SHA256=$(sha256sum CodeIsland.dmg | awk '{print $1}')" >> $GITHUB_ENV
2539

2640
- name: Clone homebrew-tap
41+
if: steps.homebrew-token.outputs.available == 'true'
42+
env:
43+
HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
2744
run: |
28-
git clone "https://x-access-token:${{ secrets.HOMEBREW_TAP_TOKEN }}@github.com/wxtsky/homebrew-tap.git" homebrew-tap
45+
git clone "https://x-access-token:${HOMEBREW_TAP_TOKEN}@github.com/wxtsky/homebrew-tap.git" homebrew-tap
2946
3047
- name: Update Cask formula
48+
if: steps.homebrew-token.outputs.available == 'true'
3149
run: |
3250
mkdir -p homebrew-tap/Casks
3351
cat > homebrew-tap/Casks/codeisland.rb <<'CASK_EOF'
@@ -52,6 +70,7 @@ jobs:
5270
sed -i 's/^ //' homebrew-tap/Casks/codeisland.rb
5371
5472
- name: Commit and push to homebrew-tap
73+
if: steps.homebrew-token.outputs.available == 'true'
5574
run: |
5675
cd homebrew-tap
5776
git config user.name "github-actions[bot]"

0 commit comments

Comments
 (0)