Skip to content

Test

Test #9

Workflow file for this run

name: Test
on:
pull_request:
paths:
- '.github/workflows/test.yml'
- '**.py'
push:
paths:
- '.github/workflows/test.yml'
- '**.py'
jobs:
test:
name: ${{ matrix.os }} / ${{ matrix.python_version }}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os: [Ubuntu, Windows, macOS]
# Python 3.4 is not available from actions/setup-python@v1.
python_version: ['2.7', '3.5', '3.6', '3.7', '3.8', 'pypy2', 'pypy3']
exclude:
# This is failing due to pip not being in the virtual environment.
# https://github.com/pypa/packaging/runs/424785871#step:7:9
- os: windows
python_version: pypy3
steps:
- uses: actions/checkout@v1
- uses: actions/setup-python@v1
name: Install Python ${{ matrix.python_version }}
with:
python-version: ${{ matrix.python_version }}
# Set `python` to a recent 3.x version if we're not testing Python 3.6+.
# Why? Nox needs Python 3.5+ and everyone likes f-strings.
- uses: actions/setup-python@v1
name: Install Python 3.x
with:
python-version: 3.x
if: >
(
matrix.python_version == '2.7' ||
matrix.python_version == 'pypy2' ||
matrix.python_version == '3.5'
)
# Workaround https://github.com/theacodes/nox/issues/250
- name: Workaround for Windows Python 2.7
# This is in PATH, so nox resolves to it - but then subsequent steps fail.
run: rm C:/ProgramData/Chocolatey/bin/python2.7.exe
shell: bash
if: runner.os == 'Windows' && matrix.python_version == '2.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install nox
shell: bash
- name: Run nox
run: |
python -m nox -s tests-${{ matrix.python_version }}
shell: bash