Initial commit #5
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
# This file configures the continuous integration (CI) system on GitHub. | |
# Introductory materials can be found here: https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions. | |
# Documentation for editing this file can be found here: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
name: Tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
lint: | |
name: Code Quality | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ "3.12", "3.9" ] | |
tox-command: ["manifest", "lint", "pyroma", "mypy"] | |
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: Run command | |
run: tox run -e ${{ matrix.tox-command }} | |
docs: | |
name: Documentation | |
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 | |
sudo apt-get install graphviz | |
- name: Check RST conformity with doc8 | |
run: tox run -e doc8 | |
- name: Check docstring coverage | |
run: tox run -e docstr-coverage | |
- name: Check documentation build with Sphinx | |
run: tox run -e docs-test | |
tests: | |
name: Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
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: Test with pytest and generate coverage file | |
run: | |
tox run -e py | |
- name: Upload coverage report to codecov | |
uses: codecov/codecov-action@v1 | |
if: success() | |
with: | |
file: coverage.xml |