Update packaging, formatting, and linting #554
Workflow file for this run
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: Tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ "3.12", "3.9" ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: pip install tox tox-uv | |
- name: Check manifest | |
run: tox -e manifest | |
- name: Check code quality with flake8 | |
run: tox -e format,lint | |
- name: Check package metadata with Pyroma | |
run: tox -e pyroma | |
- name: Check static typing with MyPy | |
run: tox -e mypy | |
docs: | |
name: Documentation | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ "3.12" ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: pip install tox tox-uv | |
- name: Check RST conformity with doc8 | |
run: tox -e doc8 | |
- name: Check docstring coverage | |
run: tox -e docstr-coverage | |
- name: Check documentation build with Sphinx | |
run: tox -e docs-test | |
tests: | |
name: Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
python-version: [ "3.9", "3.10", "3.11", "3.12" ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: pip install tox tox-uv | |
- name: Test with pytest | |
run: | |
tox -e py | |
- name: Build codecov file | |
if: success() | |
run: | |
tox -e coverage-xml | |
- name: Upload coverage report to codecov | |
uses: codecov/codecov-action@v1 | |
if: success() | |
with: | |
file: coverage.xml |