fix(casks): rewrite postflight blocks in the test workflow

GoReleaser regenerates each cask with a postflight block, which Homebrew rejects. A script now rewrites it to postflight_steps before test-bot runs. The four current casks are rewritten as well.
This commit is contained in:
2026-10-03 04:44:06 +01:00
parent a50713a835
commit 1b62a018ec
6 changed files with 23 additions and 17 deletions
+3 -1
View File
@@ -37,7 +37,9 @@ jobs:
continue-on-error: true
- name: Fix style issues from GoReleaser-generated files
run: brew style --fix Casks/*.rb || true
run: |
scripts/fix-casks.sh
brew style --fix Casks/*.rb || true
working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}
- run: brew test-bot --only-tap-syntax
+3 -4
View File
@@ -33,10 +33,9 @@ cask "harness-sync" do
binary "harness-sync"
postflight do
if OS.mac?
system_command "/usr/bin/xattr",
args: ["-dr", "com.apple.quarantine", "#{staged_path}/harness-sync"]
postflight_steps do
on_macos do
run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{staged_path}}/harness-sync"]
end
end
+3 -4
View File
@@ -33,10 +33,9 @@ cask "kportal" do
binary "kportal"
postflight do
if OS.mac?
system_command "/usr/bin/xattr",
args: ["-dr", "com.apple.quarantine", "#{staged_path}/kportal"]
postflight_steps do
on_macos do
run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{staged_path}}/kportal"]
end
end
+3 -4
View File
@@ -33,10 +33,9 @@ cask "lolcathost" do
binary "lolcathost"
postflight do
if OS.mac?
system_command "/usr/bin/xattr",
args: ["-dr", "com.apple.quarantine", "#{staged_path}/lolcathost"]
postflight_steps do
on_macos do
run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{staged_path}}/lolcathost"]
end
end
+3 -4
View File
@@ -33,10 +33,9 @@ cask "semver-generator" do
binary "semver-generator"
postflight do
if OS.mac?
system_command "/usr/bin/xattr",
args: ["-dr", "com.apple.quarantine", "#{staged_path}/semver-generator"]
postflight_steps do
on_macos do
run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{staged_path}}/semver-generator"]
end
end
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# GoReleaser writes the quarantine hook as a postflight block, which Homebrew rejects
# with Cask/InstallSteps. Rewrite it to postflight_steps.
set -euo pipefail
for cask in Casks/*.rb; do
perl -0pi -e 's| postflight do\n if OS\.mac\?\n system_command "/usr/bin/xattr",\n\s+args: \["-dr", "com\.apple\.quarantine", "#\{staged_path\}/([\w-]+)"\]\n end\n end\n| postflight_steps do\n on_macos do\n run "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "{{staged_path}}/$1"]\n end\n end\n|' "$cask"
done