name: Python codeqa/test on: push: branches: [master] pull_request: jobs: flake8: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Check code style with Flake8 uses: TrueBrain/actions-flake8@v2 with: path: src tests test: needs: [flake8] strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-10.15, macos-11, windows-latest] python-version: ["2.7", "3.6", "3.9", "3.10-dev", pypy2, pypy3] exclude: - os: macos-11 python-version: pypy2 - os: windows-latest python-version: 2.7 - os: windows-latest python-version: pypy2 - os: windows-latest python-version: pypy3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Upgrade setuptools run: pip install "setuptools >= 40.9" - name: Install the project run: "pip install --no-binary=:all: ." - name: Install test dependencies run: pip install .[test] - name: Test with pytest run: python -b -m pytest -W always --cov-report=xml:pytest-cov.xml - name: Send coverage data to Codecov uses: codecov/codecov-action@v1 with: file: pytest-cov.xml