diskard 0.2.0

Developer-aware disk cleanup CLI
name: Update Homebrew Formula

on:
  release:
    types: [published]

jobs:
  update-formula:
    name: Update Homebrew tap
    runs-on: ubuntu-latest
    steps:
      - name: Checkout tap
        uses: actions/checkout@v4
        with:
          repository: connectwithprakash/homebrew-tap
          token: ${{ secrets.HOMEBREW_TAP_TOKEN }}

      - name: Download checksums
        env:
          GH_TOKEN: ${{ github.token }}
        run: |
          VERSION="${GITHUB_REF_NAME#v}"
          TAG="${GITHUB_REF_NAME}"
          BASE_URL="https://github.com/connectwithprakash/diskard/releases/download/${TAG}"

          # Download all sha256 files
          for target in aarch64-apple-darwin x86_64-apple-darwin aarch64-unknown-linux-gnu x86_64-unknown-linux-gnu; do
            gh release download "${TAG}" \
              --repo connectwithprakash/diskard \
              --pattern "diskard-${target}.tar.gz.sha256" \
              --dir /tmp/sha
          done

          # Extract hashes
          AARCH64_MACOS=$(awk '{print $1}' /tmp/sha/diskard-aarch64-apple-darwin.tar.gz.sha256)
          X86_64_MACOS=$(awk '{print $1}' /tmp/sha/diskard-x86_64-apple-darwin.tar.gz.sha256)
          AARCH64_LINUX=$(awk '{print $1}' /tmp/sha/diskard-aarch64-unknown-linux-gnu.tar.gz.sha256)
          X86_64_LINUX=$(awk '{print $1}' /tmp/sha/diskard-x86_64-unknown-linux-gnu.tar.gz.sha256)

          # Generate formula
          cat > Formula/diskard.rb << FORMULA
          class Diskard < Formula
            desc "Developer-aware disk cleanup CLI"
            homepage "https://github.com/connectwithprakash/diskard"
            version "${VERSION}"
            license any_of: ["MIT", "Apache-2.0"]

            on_macos do
              if Hardware::CPU.arm?
                url "${BASE_URL}/diskard-aarch64-apple-darwin.tar.gz"
                sha256 "${AARCH64_MACOS}"
              else
                url "${BASE_URL}/diskard-x86_64-apple-darwin.tar.gz"
                sha256 "${X86_64_MACOS}"
              end
            end

            on_linux do
              if Hardware::CPU.arm?
                url "${BASE_URL}/diskard-aarch64-unknown-linux-gnu.tar.gz"
                sha256 "${AARCH64_LINUX}"
              else
                url "${BASE_URL}/diskard-x86_64-unknown-linux-gnu.tar.gz"
                sha256 "${X86_64_LINUX}"
              end
            end

            def install
              bin.install "diskard"
            end

            test do
              assert_match "diskard", shell_output("#{bin}/diskard --version")
            end
          end
          FORMULA

          # Fix indentation (heredoc adds leading spaces)
          sed -i 's/^          //' Formula/diskard.rb

      - name: Commit and push
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add Formula/diskard.rb
          git commit -m "feat: update diskard to ${GITHUB_REF_NAME}"
          git push