Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,17 @@ permissions:

jobs:
build:
runs-on: ubuntu-latest
# darwin builds on macOS so the arm64 binary is signed in a way Apple
# Silicon's kernel accepts; cross-compiling it on Linux yields a binary the
# kernel SIGKILLs at exec.
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- { goos: darwin, goarch: arm64 }
- { goos: linux, goarch: amd64 }
- { goos: linux, goarch: arm64 }
- { goos: windows, goarch: amd64 }
- { runner: macos-14, goos: darwin, goarch: arm64 }
- { runner: ubuntu-latest, goos: linux, goarch: amd64 }
- { runner: ubuntu-latest, goos: linux, goarch: arm64 }
- { runner: ubuntu-latest, goos: windows, goarch: amd64 }
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
Expand Down
7 changes: 7 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,13 @@ fi

cp "$tmp/$asset" "$bin_dir/podcli"
chmod 0755 "$bin_dir/podcli"

# Apple Silicon's kernel kills cross-compiled (Linux-built) arm64 binaries whose
# signature it won't accept, even with a valid-on-disk ad-hoc signature. Re-sign
# ad-hoc on the Mac so the binary runs.
if [ "$goos" = "darwin" ] && command -v codesign >/dev/null 2>&1; then
codesign --force --sign - "$bin_dir/podcli" >/dev/null 2>&1 || true
fi
echo " installed: $bin_dir/podcli"

linked=""
Expand Down
Loading