From c44f32829f116ad313ba1629c385e46e672d8bf1 Mon Sep 17 00:00:00 2001 From: SarthakWade Date: Wed, 12 Aug 2026 23:57:18 +0530 Subject: [PATCH] fix: skip legacy releases without checksums --- .github/workflows/update-cask.yml | 15 ++++++++++++++- scripts/update-cask.sh | 5 ++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-cask.yml b/.github/workflows/update-cask.yml index bc886ae..b3fdf19 100644 --- a/.github/workflows/update-cask.yml +++ b/.github/workflows/update-cask.yml @@ -39,12 +39,25 @@ jobs: steps: - uses: actions/checkout@v7 - name: Verify release and render cask + id: render env: VERSION: ${{ inputs.version }} - run: ./scripts/update-cask.sh "$VERSION" + run: | + set +e + ./scripts/update-cask.sh "$VERSION" + result=$? + set -e + if [[ "$result" == 78 ]]; then + echo "eligible=false" >> "$GITHUB_OUTPUT" + exit 0 + fi + [[ "$result" == 0 ]] || exit "$result" + echo "eligible=true" >> "$GITHUB_OUTPUT" - name: Validate cask style + if: steps.render.outputs.eligible == 'true' run: brew style --cask Casks/headless.rb - name: Commit update + if: steps.render.outputs.eligible == 'true' run: | set -euo pipefail if git diff --quiet -- Casks/headless.rb; then diff --git a/scripts/update-cask.sh b/scripts/update-cask.sh index 4b1cc47..1b7012b 100755 --- a/scripts/update-cask.sh +++ b/scripts/update-cask.sh @@ -27,7 +27,10 @@ fi ASSET="Headless-${VERSION}-macos.zip" BASE_URL="https://github.com/$REPOSITORY/releases/download/v${VERSION}" -curl_release "$BASE_URL/SHA256SUMS" > "$TEMP_DIRECTORY/SHA256SUMS" +if ! curl_release "$BASE_URL/SHA256SUMS" > "$TEMP_DIRECTORY/SHA256SUMS"; then + echo "Homebrew update: Headless $VERSION predates the signed distribution contract; no cask update" >&2 + exit 78 +fi curl_release "$BASE_URL/$ASSET" > "$TEMP_DIRECTORY/$ASSET" EXPECTED_SHA256="$(awk -v asset="$ASSET" '$2 == asset { print $1 }' "$TEMP_DIRECTORY/SHA256SUMS")"