name: Format Python

on:
  push:
    branches-ignore:
      - main

permissions:
  contents: write

jobs:
  format:
    name: Run Black Formatter
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.x"

      - name: Install Black
        run: pip install black

      - name: Run Black Formatter
        run: black .

      - name: Commit and Push Changes
        run: |
          git config --global user.name 'github-actions'
          git config --global user.email 'github-actions@github.com'
          git add .
          git commit -m 'Auto-format Python code with Black' || echo "No changes to commit"
          git push
