Skip to content

CI

CI #46

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
schedule:
- cron: "0 13 * * 1" # Every Monday at 9AM EST
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"
cache-dependency-path: pyproject.toml
- name: Test pre-commit hooks
run: |
python -m pip install --upgrade pip
pip install pre-commit
pre-commit run -a
validate-types-and-docstrings:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"
cache-dependency-path: pyproject.toml
- name: Setup environment
run: |
python -m pip install --upgrade pip
pip install ".[tests,dev]"
- name: mypy type validation
run: |
mypy src
- name: darglint docstring validation
run: |
darglint src --strictness=short --ignore-raise=ValueError
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: "pip"
cache-dependency-path: pyproject.toml
- name: Setup environment
run: |
python -m pip install --upgrade pip
pip install ".[tests,dev]"
- name: Run Python tests
run: |
pytest --cov=agjax tests
test_docs:
runs-on: ubuntu-latest
needs: [pre-commit]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: "pip"
cache-dependency-path: pyproject.toml
- name: Install dependencies
run: make dev
- name: Test documentation
run: make docs