| name: Tests |
|
|
| on: |
| push: |
| branches: [main] |
| pull_request: |
| branches: [main, "release/*"] |
|
|
| jobs: |
| run_tests: |
| runs-on: ${{ matrix.os }} |
|
|
| strategy: |
| fail-fast: false |
| matrix: |
| os: ["ubuntu-latest", "macos-latest"] |
| python-version: ["3.7", "3.8", "3.9", "3.10"] |
|
|
| timeout-minutes: 10 |
|
|
| steps: |
| - name: Checkout |
| uses: actions/checkout@v3 |
|
|
| - name: Set up Python ${{ matrix.python-version }} |
| uses: actions/setup-python@v3 |
| with: |
| python-version: ${{ matrix.python-version }} |
|
|
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip |
| pip install -r requirements.txt |
| pip install pytest |
| pip install sh |
| |
| - name: List dependencies |
| run: | |
| python -m pip list |
| |
| - name: Run pytest |
| run: | |
| pytest -v |
| |
| run_tests_windows: |
| runs-on: ${{ matrix.os }} |
|
|
| strategy: |
| fail-fast: false |
| matrix: |
| os: ["windows-latest"] |
| python-version: ["3.7", "3.8", "3.9", "3.10"] |
|
|
| timeout-minutes: 10 |
|
|
| steps: |
| - name: Checkout |
| uses: actions/checkout@v3 |
|
|
| - name: Set up Python ${{ matrix.python-version }} |
| uses: actions/setup-python@v3 |
| with: |
| python-version: ${{ matrix.python-version }} |
|
|
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip |
| pip install -r requirements.txt |
| pip install pytest |
| |
| - name: List dependencies |
| run: | |
| python -m pip list |
| |
| - name: Run pytest |
| run: | |
| pytest -v |
| |
| |
| code-coverage: |
| runs-on: ubuntu-latest |
|
|
| steps: |
| - name: Checkout |
| uses: actions/checkout@v2 |
|
|
| - name: Set up Python 3.10 |
| uses: actions/setup-python@v2 |
| with: |
| python-version: "3.10" |
|
|
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip |
| pip install -r requirements.txt |
| pip install pytest |
| pip install pytest-cov[toml] |
| pip install sh |
| |
| - name: Run tests and collect coverage |
| run: pytest --cov src |
|
|
| - name: Upload coverage to Codecov |
| uses: codecov/codecov-action@v3 |
|
|