name: Code Formatting
on:
  workflow_call:
    inputs:
      auto_fix:
        description: "Automatically fix formatting issues instead of just checking"
        required: false
        type: boolean
        default: false
    outputs:
      commit_sha:
        description: "The SHA of the commit with formatting fixes"
        value: ${{ jobs.formatting.outputs.commit_sha }}
  push:
    branches-ignore:
      - "queue-main-*"
      - "queue-dev-*"
  pull_request:

permissions:
  contents: write

jobs:
  formatting:
    outputs:
      commit_sha: ${{ steps.get_commit.outputs.commit_sha }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.head_ref || github.ref }}
          # Need full history for queue-main pushes
          fetch-depth: 0

      # Setup for Prettier
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: "npm"
          cache-dependency-path: webui/package-lock.json

      - name: Install dependencies
        working-directory: ./webui
        run: npm ci

      # Setup for gofumpt
      - name: Setup Go
        uses: actions/setup-go@v4
        with:
          go-version: stable
          cache: true

      - name: Install gofumpt v0.8.0
        run: |
          go install mvdan.cc/gofumpt@v0.8.0
          echo "$(go env GOPATH)/bin" >> $GITHUB_PATH

      - name: Check formatting
        if: inputs.auto_fix != true
        run: bin/run-formatters.sh check

      - name: Fix formatting
        if: inputs.auto_fix == true
        run: bin/run-formatters.sh fix

      # Commit formatting fixes if auto_fix is true
      - name: Commit and push formatting fixes if needed
        if: inputs.auto_fix == true
        run: |
          # Only proceed if there are changes to commit
          if [[ -z $(git status --porcelain) ]]; then
            echo "No formatting changes detected, skipping commit"
            exit 0
          fi

          git config --global user.name "Autoformatter"
          git config --global user.email "bot@sketch.dev"
          git add .

          # If this is a queue-main branch, check commit count and decide whether to amend
          if [[ "${{ github.ref }}" == refs/heads/queue-main-* ]]; then
            # Ensure we have origin/main available
            git fetch origin main

            # Find merge-base with origin/main
            MERGE_BASE=$(git merge-base HEAD origin/main)

            # Count commits since merge-base
            COMMIT_COUNT=$(git rev-list --count $MERGE_BASE..HEAD)

            if [ "$COMMIT_COUNT" -eq 1 ]; then
              echo "Found exactly one commit since merge-base with origin/main. Amending the commit."
              git commit --amend --no-edit
            else
              echo "Found multiple commits ($COMMIT_COUNT) since merge-base with origin/main. Creating a new commit."
              git commit -m "all: fix formatting"
            fi

            # Push the changes
            git push -f https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/boldsoftware/sketch.git HEAD
          else
            # For non-queue-main branches, simply add a new commit
            git commit -m "all: fix formatting"
          fi

      - name: Get commit SHA
        id: get_commit
        run: echo "commit_sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
