name: Ruff
on: [ push ]

permissions:
  contents: write

jobs:
  ruff:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.head_ref || github.ref_name }}
      - name: Install the latest version of ruff
        uses: astral-sh/ruff-action@v3
        with:
          version: "latest"
      - run: ruff check --fix
      - run: ruff format
      - name: Commit changes
        if: success()
        run: |
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
          git add -A
          git diff --quiet && git diff --staged --quiet || git commit -m "🤖 自动格式化代码 [skip ci]"
          git push

