name: Update Homebrew formula
on:
release:
types: [published]
jobs:
update-formula:
name: Bump formula SHA256
runs-on: ubuntu-latest
steps:
- name: Checkout main repo
uses: actions/checkout@v4
- name: Compute SHA256 for each binary
id: sha
shell: bash
run: |
VERSION="${GITHUB_REF_NAME#v}"
BASE="https://github.com/rustkit-ai/mcpkill/releases/download/${GITHUB_REF_NAME}"
fetch_sha() {
curl -fsSL "$1.sha256" | awk '{print $1}'
}
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "aarch64_darwin=$(fetch_sha $BASE/mcpkill-aarch64-apple-darwin.tar.gz)" >> $GITHUB_OUTPUT
echo "x86_64_darwin=$(fetch_sha $BASE/mcpkill-x86_64-apple-darwin.tar.gz)" >> $GITHUB_OUTPUT
echo "aarch64_linux=$(fetch_sha $BASE/mcpkill-aarch64-unknown-linux-gnu.tar.gz)" >> $GITHUB_OUTPUT
echo "x86_64_linux=$(fetch_sha $BASE/mcpkill-x86_64-unknown-linux-gnu.tar.gz)" >> $GITHUB_OUTPUT
- name: Checkout tap repo
uses: actions/checkout@v4
with:
repository: rustkit-ai/homebrew-tap
token: ${{ secrets.TAP_GITHUB_TOKEN }}
path: tap
- name: Update formula
shell: bash
run: |
F="tap/Formula/mcpkill.rb"
sed -i "s/version \".*\"/version \"${{ steps.sha.outputs.version }}\"/" "$F"
sed -i "s/PLACEHOLDER_AARCH64_DARWIN/${{ steps.sha.outputs.aarch64_darwin }}/" "$F"
sed -i "s/PLACEHOLDER_X86_64_DARWIN/${{ steps.sha.outputs.x86_64_darwin }}/" "$F"
sed -i "s/PLACEHOLDER_AARCH64_LINUX/${{ steps.sha.outputs.aarch64_linux }}/" "$F"
sed -i "s/PLACEHOLDER_X86_64_LINUX/${{ steps.sha.outputs.x86_64_linux }}/" "$F"
- name: Commit + push to tap
working-directory: tap
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add Formula/mcpkill.rb
git commit -m "mcpkill ${{ steps.sha.outputs.version }}"
git push