[pre-commit.ci] pre-commit autoupdate #381
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Unit Tests | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
jobs: | |
pytest: | |
name: pytest | |
runs-on: ${{matrix.os}} | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10"] | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
fail-fast: False | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # makes sure that we also fetch main | |
- name: Initialize vendored libs | |
run: | |
git submodule update --init --recursive | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Start MongoDB | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: supercharge/mongodb-github-action@1.11.0 | |
with: | |
mongodb-version: latest | |
- name: Install dependencies | |
run: | | |
python -W ignore -m pip install --upgrade pip | |
python -W ignore -m pip install -r requirements.txt | |
python -W ignore -m pip install -r requirements-dev.txt | |
- name: Test with pytest | |
run: | | |
if [[ ${{ github.event_name }} == pull_request ]]; then | |
git checkout main | |
git checkout ${{ github.event.pull_request.head.sha }} | |
python run_tests.py -c | |
else | |
python run_tests.py | |
fi | |
exit_code=$? | |
# run build-tests only on <3.10 for now as long as there are contributions that require | |
# ptb <v20 | |
if [[ ${{ matrix.python-version }} == 3.10 ]]; then | |
meta_exit=0 | |
else | |
pytest -v tests/test_meta.py | |
meta_exit=$? | |
fi | |
global_exit=$(( exit_code > meta_exit ? exit_code : meta_exit )) | |
exit ${global_exit} | |
env: | |
JOB_INDEX: ${{ strategy.job-index }} | |
TEST_BUILD: "true" | |
shell: bash --noprofile --norc {0} | |
- name: Test Summary | |
id: test_summary | |
uses: test-summary/action@v2.4 | |
if: always() # always run, even if tests fail | |
with: | |
paths: ".test-reports/*.xml" |