Skip to content

Workflow file for this run

name: Auto-format Code with Debugging and Type Checking
on:
push: # Run on pushes to all branches
pull_request: # Run on pull requests for all branches
jobs:
auto-format:
name: Auto-format, Type Check, and Push Changes
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v3
# Step 2: Set up Python environment
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
# Step 3: Install tools (black, isort, mypy)
- name: Install Tools
run: |
echo "Installing tools..."
python -m pip install --upgrade pip
pip install black isort
# Step 4: Run black and isort to format the code
- name: Run Black and isort
run: |
echo "Running black..."
black .
echo "Running isort..."
isort .
# Step 6: Commit and push changes if any files were modified
- name: Commit and Push Changes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
echo "Checking for changes..."
git status
if [ -n "$(git status --porcelain)" ]; then
echo "Changes detected. Inspecting changes..."
git diff
echo "Staging files..."
git add .
echo "Committing changes..."
git commit -m "Auto-format code with Black and isort"
echo "Pushing changes to branch..."
git push
echo "Push completed successfully."
else
echo "No changes detected. Nothing to commit or push."
fi