diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml new file mode 100644 index 0000000..d0ae6b8 --- /dev/null +++ b/.github/workflows/python-test.yml @@ -0,0 +1,162 @@ +--- +name: Python Tests + +on: [push] + +jobs: + + format: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.8 + uses: actions/setup-python@v1 + with: + python-version: 3.8 + - name: Install dependencies + run: pip install tox + - name: Validate formatting + run: tox -e format + + test: + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + tox_env: + - py36-dj22-wt25 + - py36-dj22-wt26 + - py36-dj22-wt27 + - py36-dj22-wt28 + - py36-dj22-wt29 + - py36-dj22-wt210 + - py36-dj22-wt211 + - py36-dj22-wt212 + - py36-dj22-wt213 + - py37-dj22-wt25 + - py37-dj22-wt26 + - py37-dj22-wt27 + - py37-dj22-wt28 + - py37-dj22-wt29 + - py37-dj22-wt210 + - py37-dj22-wt211 + - py37-dj22-wt212 + - py37-dj22-wt213 + - py38-dj22-wt25 + - py38-dj22-wt26 + - py38-dj22-wt27 + - py38-dj22-wt28 + - py38-dj22-wt29 + - py38-dj22-wt210 + - py38-dj22-wt211 + - py38-dj22-wt212 + - py38-dj22-wt213 + - py37-dj30-wt28 + - py37-dj30-wt29 + - py37-dj30-wt210 + - py37-dj30-wt211 + - py37-dj30-wt212 + - py37-dj30-wt213 + - py38-dj30-wt28 + - py38-dj30-wt29 + - py38-dj30-wt210 + - py38-dj30-wt211 + - py38-dj30-wt212 + - py38-dj30-wt213 + include: + - python-version: 3.6 + tox_env: py36-dj22-wt25 + - python-version: 3.6 + tox_env: py36-dj22-wt26 + - python-version: 3.6 + tox_env: py36-dj22-wt27 + - python-version: 3.6 + tox_env: py36-dj22-wt28 + - python-version: 3.6 + tox_env: py36-dj22-wt29 + - python-version: 3.6 + tox_env: py36-dj22-wt210 + - python-version: 3.6 + tox_env: py36-dj22-wt211 + - python-version: 3.6 + tox_env: py36-dj22-wt212 + - python-version: 3.6 + tox_env: py36-dj22-wt213 + - python-version: 3.7 + tox_env: py37-dj22-wt25 + - python-version: 3.7 + tox_env: py37-dj22-wt26 + - python-version: 3.7 + tox_env: py37-dj22-wt27 + - python-version: 3.7 + tox_env: py37-dj22-wt28 + - python-version: 3.7 + tox_env: py37-dj22-wt29 + - python-version: 3.7 + tox_env: py37-dj22-wt210 + - python-version: 3.7 + tox_env: py37-dj22-wt211 + - python-version: 3.7 + tox_env: py37-dj22-wt212 + - python-version: 3.7 + tox_env: py37-dj22-wt213 + - python-version: 3.8 + tox_env: py38-dj22-wt25 + - python-version: 3.8 + tox_env: py38-dj22-wt26 + - python-version: 3.8 + tox_env: py38-dj22-wt27 + - python-version: 3.8 + tox_env: py38-dj22-wt28 + - python-version: 3.8 + tox_env: py38-dj22-wt29 + - python-version: 3.8 + tox_env: py38-dj22-wt210 + - python-version: 3.8 + tox_env: py38-dj22-wt211 + - python-version: 3.8 + tox_env: py38-dj22-wt212 + - python-version: 3.8 + tox_env: py38-dj22-wt213 + - python-version: 3.7 + tox_env: py37-dj30-wt28 + - python-version: 3.7 + tox_env: py37-dj30-wt29 + - python-version: 3.7 + tox_env: py37-dj30-wt210 + - python-version: 3.7 + tox_env: py37-dj30-wt211 + - python-version: 3.7 + tox_env: py37-dj30-wt212 + - python-version: 3.7 + tox_env: py37-dj30-wt213 + - python-version: 3.8 + tox_env: py38-dj30-wt28 + - python-version: 3.8 + tox_env: py38-dj30-wt29 + - python-version: 3.8 + tox_env: py38-dj30-wt210 + - python-version: 3.8 + tox_env: py38-dj30-wt211 + - python-version: 3.8 + tox_env: py38-dj30-wt212 + - python-version: 3.8 + tox_env: py38-dj30-wt213 + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install tox tox-gh-actions + - name: Test with tox + run: tox -e ${{ matrix.tox_env }} --index-url=https://pypi.python.org/simple/ + - name: Prepare artifacts + run: mkdir -p .coverage-data && mv .coverage.* .coverage-data/ + - uses: actions/upload-artifact@master + with: + name: coverage-data + path: .coverage-data/