79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
name: "Testing Pull Request"
|
|
|
|
on:
|
|
pull_request_target:
|
|
branches:
|
|
- "master"
|
|
- "dev"
|
|
|
|
jobs:
|
|
unittests: #################################################################
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows-latest, macos-latest, ubuntu-latest]
|
|
python-version: [3.9, '3.10', '3.11', '3.12', '3.13']
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install Python dependencies
|
|
run: |
|
|
python3 -m pip install --upgrade pip
|
|
python3 -m pip install .[test]
|
|
|
|
- name: Test with pytest
|
|
run: |
|
|
python3 -m pytest
|
|
|
|
linter: ####################################################################
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Run Black formatter (check mode)
|
|
uses: psf/black@stable
|
|
with:
|
|
src: "./pina"
|
|
|
|
testdocs: ##################################################################
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Python dependencies
|
|
run: python3 -m pip install .[doc]
|
|
|
|
- name: Build Documentation
|
|
run: |
|
|
make html SPHINXOPTS+='-W'
|
|
working-directory: docs/
|
|
|
|
coverage: ##################################################################
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Python dependencies
|
|
run: |
|
|
python3 -m pip install --upgrade pip
|
|
python3 -m pip install .[test]
|
|
|
|
- name: Generate coverage report
|
|
run: |
|
|
python3 -m pytest --cov-report term --cov-report xml:cobertura.xml --cov=pina
|
|
|
|
- name: Produce the coverage report
|
|
uses: insightsengineering/coverage-action@v2
|
|
with:
|
|
path: ./cobertura.xml
|
|
threshold: 80.123
|
|
fail: true
|
|
publish: true
|
|
coverage-summary-title: "Code Coverage Summary"
|