name: autofix on: push: branches: ["**"] permissions: contents: write jobs: autofix: runs-on: ubuntu-latest # skip if the last push was already made by this workflow to avoid loops if: github.actor != 'github-actions[bot]' steps: - uses: actions/checkout@v4 with: ref: ${{ github.ref }} fetch-depth: 1 token: ${{ secrets.GITHUB_TOKEN }} - name: Install uv uses: astral-sh/setup-uv@v5 - name: Install tools run: uv tool install ruff && uv tool install codespell - name: ruff import sort run: ruff check --select I --fix . - name: ruff format run: ruff format . - name: codespell run: codespell --write-changes - name: Amend commit with fixes run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add -A if git diff --cached --quiet; then echo "Nothing to fix, skipping." else git commit --amend --no-edit git push --force-with-lease fi