|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- name: Tests
-
- on:
- push:
- branches: [main, features]
- pull_request:
- branches: [main, features]
-
- jobs:
- legacy-tests:
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os:
- - ubuntu-18.04
- - ubuntu-20.04
- - macos-10.15
- - macos-11.0
- - windows-2019
- python_version:
- - '3.7'
- - '3.8'
- - '3.9'
-
- name: Legacy tests (Python ${{ matrix.python_version }} on ${{ matrix.os }})
- steps:
- - uses: actions/checkout@v1
- - name: Set up Python
- uses: actions/setup-python@v1
- with:
- python-version: ${{ matrix.python_version }}
-
- - name: Prepare environment (non-Windows systems)
- if: ${{ matrix.os != 'windows-2019' }}
- run: |
- pip install --upgrade pip pipenv
-
- - name: Prepare environment (Windows)
- if: ${{ matrix.os == 'windows-2019' }}
- run: |
- python -mpip install --upgrade pip pipenv
-
- - name: Install dependencies (all systems)
- run: |
- pipenv lock --pre
- pipenv sync --dev
- pipenv install --dev
-
- - name: Install dependencies (Windows)
- if: ${{ matrix.os == 'windows-2019' }}
- run: |
- pipenv lock --dev -r > requirements.txt
- python -mpip install -r requirements.txt
-
- - name: Run legacy tests
- run: |
- make legacy-tests
-
- doc-tests:
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os:
- - ubuntu-18.04
- - ubuntu-20.04
- - macos-10.15
- - macos-11.0
- - windows-2019
- python_version:
- - '3.7'
- - '3.8'
- - '3.9'
-
- name: Doc tests (Python ${{ matrix.python_version }} on ${{ matrix.os }})
- steps:
- - uses: actions/checkout@v1
- - name: Set up Python
- uses: actions/setup-python@v1
- with:
- python-version: ${{ matrix.python_version }}
-
- - name: Prepare environment (non-Windows systems)
- if: ${{ matrix.os != 'windows-2019' }}
- run: |
- pip install --upgrade pip pipenv
-
- - name: Prepare environment (Windows)
- if: ${{ matrix.os == 'windows-2019' }}
- run: |
- python -mpip install --upgrade pip pipenv
-
- - name: Install dependencies (all systems)
- run: |
- pipenv lock --pre
- pipenv sync --dev
- pipenv install --dev
-
- - name: Install dependencies (Windows)
- if: ${{ matrix.os == 'windows-2019' }}
- run: |
- pipenv lock -r > requirements.txt
- python -mpip install -r requirements.txt
-
- - name: Run doc tests (with coverage)
- if: ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.9' }}
- run: |
- make coverage-doctests
-
- - name: Run doc tests (without coverage)
- if: ${{ matrix.os != 'ubuntu-20.04' || matrix.python_version != '3.9' }}
- run: |
- make doctests
-
- - name: Push code coverage
- env:
- COVERALLS_PRO_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: ${{ matrix.os == 'ubuntu-20.04' && matrix.python_version == '3.9' }}
- run: |
- pipenv run coveralls --service=github
|