name: Lint on: [ push, pull_request ] jobs: black: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: "Collect stragglers that Black misses" id: stragglers run: | echo "missed=$( find bin -type f -not -name '*.py' -not -name '*.sh' | \ xargs grep -l '#!/usr/bin/env python' | tr $'\n' ' ')" >> $GITHUB_OUTPUT - uses: psf/black@24.1.1 with: src: . ${{ steps.stragglers.outputs.missed }} pylint: runs-on: ubuntu-latest strategy: matrix: python-version: - '3.9' - '3.10' - '3.11' - '3.12' fail-fast: false steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install python dependencies run: | set -xe python -VV python -m site python -m pip install --upgrade pip python -m pip install pylint pytest - name: Run pylint for ${{ matrix.python-version }} run: | ./run-pylint