|
|
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 |
|
|
|