updater/.github/workflows/test.yml

62 lines
1.6 KiB
YAML

name: Test and docs
on:
push:
branches:
- '*'
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install --upgrade pytest coverage mypy
pip install --upgrade -r requirements.txt
- name: Run mypy
run: mypy updater
- name: Run tests with coverage
run: |
coverage run --source . --omit conf.py -m pytest --junitxml=report.xml
coverage report
coverage xml
- name: Upload test reports
uses: actions/upload-artifact@v4
with:
name: test-reports-${{ matrix.python-version }}
path: |
report.xml
coverage.xml
build-docs:
runs-on: ubuntu-latest
container: python:latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
pip install --upgrade sphinx
pip install --upgrade -r requirements.txt
- name: Build docs
run: |
make html
mv -f _build/html public
- name: Upload docs
uses: actions/upload-artifact@v4
with:
name: built-docs
path: public
retention-days: 1