name: Bump Homebrew Tap on: workflow_call: inputs: version: description: 'Version to bump (e.g. 0.10.0 or v0.10.0)' type: string required: true workflow_dispatch: inputs: version: description: 'Version to bump (e.g. 0.10.0 or v0.10.0)' required: true permissions: contents: read jobs: bump: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Determine version id: ver env: INPUT_VERSION: ${{ inputs.version }} run: | V="${INPUT_VERSION#v}" echo "version=$V" >> "$GITHUB_OUTPUT" - name: Fetch sha256 checksums from release assets id: shas env: V: ${{ steps.ver.outputs.version }} run: | set -euo pipefail base="https://github.com/razvandimescu/numa/releases/download/v${V}" for t in macos-aarch64 macos-x86_64 linux-aarch64 linux-x86_64; do sha=$(curl -fsSL "${base}/numa-${t}.tar.gz.sha256" | awk '{print $1}') if [ -z "$sha" ]; then echo "ERROR: failed to fetch sha256 for $t" >&2 exit 1 fi key=$(echo "$t" | tr '[:lower:]-' '[:upper:]_') echo "SHA_${key}=${sha}" >> "$GITHUB_ENV" done - name: Clone homebrew-tap env: HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} run: | git clone "https://x-access-token:${HOMEBREW_TAP_GITHUB_TOKEN}@github.com/razvandimescu/homebrew-tap.git" tap - name: Update formula env: VERSION: ${{ steps.ver.outputs.version }} run: | python3 scripts/update-homebrew-formula.py tap/numa.rb echo "--- updated numa.rb ---" cat tap/numa.rb - name: Commit and push working-directory: tap env: V: ${{ steps.ver.outputs.version }} run: | if git diff --quiet; then echo "numa.rb already at v${V}, nothing to commit" exit 0 fi git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git add numa.rb git commit -m "chore: bump numa to v${V}" git push origin main