name: >- 👷 Test suite on: push: pull_request: schedule: - cron: 1 0 * * * # Run daily at 0:01 UTC jobs: tests: name: >- ${{ matrix.python-version }} / ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: # max-parallel: 5 matrix: python-version: - 3.8 - pypy3 - 3.7 - 3.6 - 3.5 os: - ubuntu-latest - ubuntu-16.04 - macOS-latest # - windows-2019 # - windows-2016 include: # Dev versions - { python-version: 3.9-dev, os: ubuntu-20.04 } env: NETWORK_REQUIRED: 1 TOX_PARALLEL_NO_SPINNER: 1 TOXENV: python steps: - uses: actions/checkout@master - name: Set up Python ${{ matrix.python-version }} (deadsnakes) uses: deadsnakes/action@v1.0.0 if: endsWith(matrix.python-version, '-dev') with: python-version: ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1.1.1 if: "!endsWith(matrix.python-version, '-dev')" with: python-version: ${{ matrix.python-version }} - name: Log Python version run: >- python --version - name: Log Python location run: >- which python - name: Log Python env run: >- python -m sysconfig - name: Pip cache uses: actions/cache@v1 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('setup.cfg') }} restore-keys: | ${{ runner.os }}-pip- ${{ runner.os }}- - name: Upgrade pip/setuptools/wheel run: >- python -m pip install --disable-pip-version-check --upgrade pip setuptools wheel - name: Install tox run: >- python -m pip install --upgrade tox tox-venv - name: Log installed dists run: >- python -m pip freeze --all - name: Adjust TOXENV for PyPy if: startsWith(matrix.python-version, 'pypy') run: >- echo "::set-env name=TOXENV::${{ matrix.python-version }}" - name: Log env vars run: >- env - name: Verify that there's no cached Python modules in sources if: >- ! startsWith(matrix.os, 'windows-') run: >- ! grep pyc setuptools.egg-info/SOURCES.txt - name: 'Initialize tox envs: ${{ matrix.env.TOXENV }}' run: >- python -m tox --parallel auto --notest --skip-missing-interpreters false - name: Test with tox run: >- python -m tox --parallel auto