diff --git a/.github/workflows/black_manual.yaml b/.github/workflows/black_manual.yaml new file mode 100644 index 000000000..e3a79df6e --- /dev/null +++ b/.github/workflows/black_manual.yaml @@ -0,0 +1,39 @@ +name: Manual Black formatting + +on: + workflow_dispatch: # This allows you to manually trigger the workflow + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + format-code: + runs-on: ubuntu-latest + if: github.actor == 'montyly' || github.actor == 'smonicas' # only Josselin or Simone can trigger this + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} # Checkout the branch of the PR + + - name: Set up Python + uses: actions/checkout@v4 + with: + python-version: '3.x' + + - name: Install Black + run: pip install .[dev] + + - name: Run Black and auto-format code + run: black . + + - name: Commit and push changes if formatting occurred + run: | + git config --local user.email "actions@github.com" + git config --local user.name "GitHub Actions" + git add . + git diff-index --quiet HEAD || git commit -m "Auto format code with Black" + git push origin ${{ github.head_ref }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}