name: ci on: [push, pull_request] jobs: test-27: runs-on: ${{ matrix.platform }} strategy: matrix: platform: [ ubuntu-latest ] env: PY_COLOR: 1 steps: - uses: actions/checkout@v2 - name: Set up Python 2.7 uses: actions/setup-python@v2 with: python-version: 2.7 - uses: actions/cache@v1 if: startsWith(runner.os, 'Linux') with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - uses: actions/cache@v1 if: startsWith(runner.os, 'Windows') with: path: ~\AppData\Local\pip\Cache key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Install base dependencies run: | python -m pip install --upgrade pip pip install tox sphinx - name: Test with tox run: tox -e py27-test test-3x: runs-on: ${{ matrix.platform }} strategy: matrix: platform: [ ubuntu-latest ] python-version: [ 5, 6, 7, 8 ] env: PY_COLOR: 1 steps: - uses: actions/checkout@v2 - name: Set up Python 3.${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: 3.${{ matrix.python-version }} - uses: actions/cache@v1 if: startsWith(runner.os, 'Linux') with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - uses: actions/cache@v1 if: startsWith(runner.os, 'Windows') with: path: ~\AppData\Local\pip\Cache key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Install base dependencies run: | python -m pip install --upgrade pip pip install tox sphinx - name: Test, coverage, and flake8 with tox if: matrix.python-version == '8' run: | tox -e py3${{ matrix.python-version }}-test tox -e py3${{ matrix.python-version }}-cov tox -e py3${{ matrix.python-version }}-lint pip install codecov || true codecov || true - name: Test with tox if: matrix.python-version != '8' run: tox -e py3${{ matrix.python-version }}-test docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python to build docs with Sphinx uses: actions/setup-python@v2 with: python-version: 2.7 - name: Install base dependencies run: | python -m pip install --upgrade pip python -m pip install tox sphinx - name: Build and check docs using tox run: tox -e docs