48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
![]() |
name: fmt
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches:
|
||
|
- "*"
|
||
|
workflow_dispatch:
|
||
|
|
||
|
permissions:
|
||
|
contents: read
|
||
|
|
||
|
jobs:
|
||
|
format:
|
||
|
runs-on: ubuntu-latest
|
||
|
permissions:
|
||
|
contents: write
|
||
|
steps:
|
||
|
- uses: actions/checkout@v4
|
||
|
with:
|
||
|
fetch-depth: 0
|
||
|
|
||
|
- name: Setup PDM
|
||
|
uses: pdm-project/setup-pdm@v4
|
||
|
- name: install ruff
|
||
|
run: pip install ruff
|
||
|
- name: Format code
|
||
|
run: pdm fmt && pdm lint --fix
|
||
|
|
||
|
- name: Check for changes
|
||
|
id: check_changes
|
||
|
run: |
|
||
|
if [ -n "$(git diff)" ]; then
|
||
|
echo "changed=true" >> $GITHUB_OUTPUT
|
||
|
else
|
||
|
echo "changed=false" >> $GITHUB_OUTPUT
|
||
|
fi
|
||
|
continue-on-error: true
|
||
|
|
||
|
# Optionally, customize the user name and commit message, and can add an email as well such as Github Actions' email
|
||
|
- name: Set up Git and Commit Changes
|
||
|
run: |
|
||
|
if [ "${{ steps.check_changes.outputs.changed }}" == "true" ]; then
|
||
|
git config --local user.name "Formatter [BOT]"
|
||
|
git add .
|
||
|
git commit -m "Auto-format code 🧹🌟🤖"
|
||
|
git push
|
||
|
fi
|