chore(deps): bump codecov/codecov-action from 3 to 4 #912
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: "Continuous integration" | |
on: | |
pull_request: | |
branches: [main] | |
push: | |
branches: [main] | |
tags: [v*] | |
jobs: | |
test: | |
name: "Test Python ${{ matrix.python-version }} on ${{ matrix.os }}" | |
runs-on: ${{ matrix.os }}-latest | |
strategy: | |
matrix: | |
os: [Ubuntu, Windows, macOS] | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- name: "Check out repository" | |
uses: actions/checkout@v4 | |
- name: "Set up Python and development dependencies" | |
uses: ./.github/actions/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: "Run tests" | |
run: poetry run poe test-ci | |
- name: "Upload coverage report" | |
uses: codecov/codecov-action@v4 | |
check: | |
name: "Lint and type checks" | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Check out repository" | |
uses: actions/checkout@v4 | |
- name: "Set up Python and development dependencies" | |
uses: ./.github/actions/setup | |
- name: "Check types, lints, and formatting" | |
run: poetry run poe check-ci | |
build: | |
name: Build assets and deploy on tags | |
runs-on: ubuntu-latest | |
needs: [test, check] | |
steps: | |
- name: "Check out repository" | |
uses: actions/checkout@v4 | |
- name: "Set up Python and development dependencies" | |
uses: ./.github/actions/setup | |
- name: "Build artifacts" | |
run: poetry run poe build-ci | |
- name: "Deploy to PyPI and GitHub Pages" | |
if: startsWith(github.ref, 'refs/tags/v') | |
env: | |
USER_NAME: ${{ github.actor }} | |
USER_ID: ${{ github.event.sender.id }} | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
git config user.name "$USER_NAME (GitHub Actions)" | |
git config user.email "[email protected]" | |
poetry config pypi-token.pypi $PYPI_TOKEN | |
poetry publish | |
poetry run mkdocs gh-deploy --force |