Skip to content

ci: split tests for local / db [vol.2] #281

ci: split tests for local / db [vol.2]

ci: split tests for local / db [vol.2] #281

Workflow file for this run

name: Test
on:
push:
pull_request:
schedule:
# * is a special character in YAML so you have to quote this string
# min hours day(month) month day(week)
- cron: '0 0 * * 0'
jobs:
build:
runs-on: ${{ matrix.os }}
environment:
name: test
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macOS-latest, windows-latest]
backend: ['local', 'db']
steps:
- uses: actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e . -r tests/requirements.txt
- name: Unit tests (local)
if: matrix.backend == 'local'
run: pytest -m "NOT mongo"
- name: Unit tests (DB)
if: matrix.backend == 'db'
env:
CACHIER_TEST_HOST: ${{ secrets.CACHIER_TEST_HOST }}
CACHIER_TEST_DB: ${{ secrets.CACHIER_TEST_DB }}
CACHIER_TEST_USERNAME: ${{ secrets.CACHIER_TEST_USERNAME }}
CACHIER_TEST_PASSWORD: ${{ secrets.CACHIER_TEST_PASSWORD }}
CACHIER_TEST_VS_LIVE_MONGO: ${{ secrets.CACHIER_TEST_VS_LIVE_MONGO }}
run: pytest -m "mongo"
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true