name: Linting and Formatting

on:
  push:
    branches:
      - main

jobs:
  lint_and_format:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Set up Python
        uses: actions/setup-python@v3
        with:
          python-version: 3.x

      - name: Install dependencies
        run: pip install -r requirements.txt

      - name: Find Python files
        run: find swarms -name "*.py" -type f -exec autopep8 --in-place --aggressive --aggressive {} +

      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}