name: Test # If a pull-request is pushed then cancel all previously running jobs related # to that pull-request concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} cancel-in-progress: true on: push: branches: - main pull_request: branches: - main - master env: PY_COLORS: 1 jobs: unit: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] python: - version: "3.7" toxenv: py37 - version: "3.8" toxenv: py38 - version: "3.9" toxenv: py39 - version: "3.10" toxenv: py310,smoke - version: '3.11.0-alpha - 3.11' # SemVer's version range syntax toxenv: py311,smoke include: - os: macos-latest python: version: "3.10" toxenv: py310,smoke - os: windows-latest python: version: "3.10" toxenv: py310,smoke steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python.version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python.version }} - name: Install dependencies run: pip3 install tox pytest-github-actions-annotate-failures - name: Run tests env: TOXENV: ${{ matrix.python.toxenv }} run: tox functional: runs-on: ubuntu-20.04 strategy: matrix: toxenv: [py_func_v4, cli_func_v4] steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: "3.10" - name: Install dependencies run: pip install tox pytest-github-actions-annotate-failures - name: Run tests env: TOXENV: ${{ matrix.toxenv }} run: tox - name: Upload codecov coverage uses: codecov/codecov-action@v2 with: files: ./coverage.xml flags: ${{ matrix.toxenv }} fail_ci_if_error: true coverage: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: "3.10" - name: Install dependencies run: pip install tox pytest-github-actions-annotate-failures - name: Run tests env: PY_COLORS: 1 TOXENV: cover run: tox - name: Upload codecov coverage uses: codecov/codecov-action@v2 with: files: ./coverage.xml flags: unit fail_ci_if_error: true