[pre-commit.ci] pre-commit autoupdate #333
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: "python tests and coverage" | |
on: | |
pull_request: | |
branches: | |
- "main" | |
push: | |
branches: | |
- "main" | |
jobs: | |
run-tests-and-coverage: | |
name: "Run Tox for tests and coverage" | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- "macos-latest" | |
- "windows-latest" | |
- "ubuntu-latest" | |
python-version: | |
- "3.8" | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
steps: | |
- name: "Repo checkout" | |
uses: "actions/checkout@v3" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/setup-python@v4" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
allow-prereleases: true | |
- name: "Install tox" | |
run: | | |
python -m pip install --upgrade pip tox | |
- name: "Run tests and coverage via tox" | |
run: | | |
tox -e py | |
- name: "Save coverage artifact" | |
uses: "actions/upload-artifact@v3" | |
with: | |
name: "coverage-artifact" | |
path: ".coverage.*" | |
retention-days: 1 | |
coverage-compile: | |
name: "coverage compile" | |
needs: "run-tests-and-coverage" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Repo checkout" | |
uses: "actions/checkout@v3" | |
- name: "Set up Python" | |
uses: "actions/setup-python@v4" | |
with: | |
python-version: "3.10" | |
- name: "Install tox" | |
run: | | |
python -m pip install --upgrade pip tox | |
- name: "Download coverage artifacts" | |
uses: actions/download-artifact@v3 | |
with: | |
name: coverage-artifact | |
- name: "Compile coverage data, print report" | |
run: | | |
python -m tox -e coverage | |
export TOTAL=$(python -c "import json;print(json.load(open('coverage.json'))['totals']['percent_covered_display'])") | |
echo "TOTAL=$TOTAL" >> $GITHUB_ENV | |
echo "### Total coverage: ${TOTAL}%" >> $GITHUB_STEP_SUMMARY | |
ci-success: | |
name: "CI steps all completed successfully" | |
needs: "coverage-compile" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Success" | |
run: | | |
echo "If you are seeing this, the CI run was successful." |