From ebd1ce20cea27c6db2384e2513be3307fa333dce Mon Sep 17 00:00:00 2001 From: Zhengchao Liu Date: Sun, 30 Aug 2026 18:33:46 -0700 Subject: [PATCH] fix: carry Linux support through Homebrew cask generation The tap's Casks/parallel-cli.rb is regenerated from homebrew/parallel-cli.rb on every release, so parallel-web/homebrew-tap#1 (Linux support) would be reverted by the next release bump. Mirror that cask in the template (on_macos/on_linux blocks, macOS-only xattr preflight), add the linux platforms to the generator's PLATFORMS map, and download their checksums in the publish-homebrew job. Verified: the updated generator reproduces the currently-merged tap cask byte-for-byte for v0.9.3. Co-Authored-By: Claude Fable 5 --- .github/workflows/release.yml | 2 +- homebrew/parallel-cli.rb | 30 ++++++++++++++++++++++-------- scripts/update-homebrew-formula.py | 2 ++ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b1a9402..ade6f5b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -192,7 +192,7 @@ jobs: TAG: ${{ github.event.release.tag_name || github.event.inputs.tag }} run: | mkdir -p checksums - for platform in darwin-arm64 darwin-x64; do + for platform in darwin-arm64 darwin-x64 linux-arm64 linux-x64; do gh release download "$TAG" \ --pattern "parallel-cli-${platform}.zip.sha256" \ --dir checksums || echo "Warning: No checksum for ${platform}" diff --git a/homebrew/parallel-cli.rb b/homebrew/parallel-cli.rb index f9a1918..157dfa9 100644 --- a/homebrew/parallel-cli.rb +++ b/homebrew/parallel-cli.rb @@ -1,13 +1,25 @@ cask "parallel-cli" do version "PLACEHOLDER_VERSION" - on_arm do - sha256 "PLACEHOLDER_DARWIN_ARM64" - url "https://github.com/parallel-web/parallel-web-tools/releases/download/v#{version}/parallel-cli-darwin-arm64.zip" + on_macos do + on_arm do + sha256 "PLACEHOLDER_DARWIN_ARM64" + url "https://github.com/parallel-web/parallel-web-tools/releases/download/v#{version}/parallel-cli-darwin-arm64.zip" + end + on_intel do + sha256 "PLACEHOLDER_DARWIN_X64" + url "https://github.com/parallel-web/parallel-web-tools/releases/download/v#{version}/parallel-cli-darwin-x64.zip" + end end - on_intel do - sha256 "PLACEHOLDER_DARWIN_X64" - url "https://github.com/parallel-web/parallel-web-tools/releases/download/v#{version}/parallel-cli-darwin-x64.zip" + on_linux do + on_arm do + sha256 "PLACEHOLDER_LINUX_ARM64" + url "https://github.com/parallel-web/parallel-web-tools/releases/download/v#{version}/parallel-cli-linux-arm64.zip" + end + on_intel do + sha256 "PLACEHOLDER_LINUX_X64" + url "https://github.com/parallel-web/parallel-web-tools/releases/download/v#{version}/parallel-cli-linux-x64.zip" + end end name "Parallel CLI" @@ -18,8 +30,10 @@ preflight do # Strip quarantine — binary is not notarized (same approach as kreuzberg, etc.) - system_command "/usr/bin/xattr", - args: ["-dr", "com.apple.quarantine", "#{staged_path}/parallel-cli"] + if OS.mac? + system_command "/usr/bin/xattr", + args: ["-dr", "com.apple.quarantine", "#{staged_path}/parallel-cli"] + end end zap trash: "~/.parallel-cli" diff --git a/scripts/update-homebrew-formula.py b/scripts/update-homebrew-formula.py index 92f8b75..6675c45 100644 --- a/scripts/update-homebrew-formula.py +++ b/scripts/update-homebrew-formula.py @@ -29,6 +29,8 @@ PLATFORMS = { "darwin-arm64": "PLACEHOLDER_DARWIN_ARM64", "darwin-x64": "PLACEHOLDER_DARWIN_X64", + "linux-arm64": "PLACEHOLDER_LINUX_ARM64", + "linux-x64": "PLACEHOLDER_LINUX_X64", }