Skip to content

Commit

Permalink
🔧 Implement Ruff as check instead of Black creating a commit
Browse files Browse the repository at this point in the history
  • Loading branch information
georgepstaylor committed Sep 18, 2024
1 parent 9e954c8 commit e7c9b83
Showing 1 changed file with 48 additions and 14 deletions.
62 changes: 48 additions & 14 deletions .github/workflows/format-python.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,57 @@
name: Format Python
name: Ensure formatted code
on:
pull_request:
types: [ opened, edited, reopened, synchronize, ready_for_review ]
workflow_dispatch:

permissions:
contents: read
pull-requests: write

jobs:
format:
format_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- name: Format code with black
- name: Install ruff
run: pip install ruff
- name: Check formatting for Python code
env:
GH_TOKEN: ${{ github.token }}
run: |
pip install black
black --line-length 120 .
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
default_author: github_actions
message: "Formatted code with black --line-length 120"
add: "."
set +e
format_output=$(ruff format --check)
exit_code=$?
if [ $exit_code -eq 0 ]; then
echo "All Python code is properly formatted."
gh pr comment ${{ github.event.pull_request.number }} --body "All Python code is properly formatted."
else
echo "$format_output" > format_output.txt
echo "Some Python code is not properly formatted." >> format_output.txt
echo "Please run 'ruff format' to format the code." >> format_output.txt
gh pr comment ${{ github.event.pull_request.number }} --body "```$(cat format_output.txt)```"
exit 1
fi
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install ruff
run: pip install ruff
- name: Lint Python code
env:
GH_TOKEN: ${{ github.token }}
run: |
set +e
check_output=$(ruff check)
exit_code=$?
if [ $exit_code -eq 0 ]; then
echo "All Python code is properly formatted."
gh pr comment ${{ github.event.pull_request.number }} --body "No linting errors found."
else
echo "$check_output" > check_output.txt
echo "Some Python code has linting errors." >> check_output.txt
echo "Please run 'ruff check --fix' to fix the errors." >> check_output.txt
gh pr comment ${{ github.event.pull_request.number }} --body "```$(cat check_output.txt)```"
exit 1
fi

0 comments on commit e7c9b83

Please sign in to comment.