Skip to content

Build

Build #2818

Workflow file for this run

name: Build
on:
push:
pull_request:
schedule:
# Run at the end of every day
- cron: "0 0 * * *"
jobs:
build:
# Scheduled runs only on the origin org
if: (github.event_name == 'schedule' && github.repository_owner == 'pystatgen') || (github.event_name != 'schedule')
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
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: |
sudo apt update -y
sudo apt install graphviz # Needed for documentation
python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-dev.txt -r requirements-doc.txt
- name: Run pre-commit
uses: pre-commit/[email protected]
- name: Check for Sphinx doc warnings
run: |
cd docs
make html SPHINXOPTS="-W --keep-going -n"
- uses: actions/upload-artifact@v2
if: failure()
with:
name: gwas_tutorial
path: /home/runner/work/sgkit/sgkit/docs/_build/html/reports/examples/gwas_tutorial.err.log
- uses: actions/upload-artifact@v2
if: failure()
with:
name: relatedness_tutorial
path: /home/runner/work/sgkit/sgkit/docs/_build/html/reports/examples/relatedness_tutorial.err.log
- name: Test with pytest
run: |
pytest -v
- name: Test with pytest and coverage (numba jit disabled)
env:
NUMBA_DISABLE_JIT: 1
run: |
pytest -v --cov=sgkit --cov-report=term-missing
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}