Skip to content

stability caveat

stability caveat #7

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
test:
name: Validate data & notebooks (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Validate committed data and notebooks
run: pytest tests/ -q
security:
name: Dependency audit (pip-audit)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
- name: Install project + pip-audit
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pip-audit
- name: Audit installed dependencies
run: pip-audit --desc
continue-on-error: true # advisory-only rollout; remove this line to make CVEs block the build
# Full notebook execution is opt-in: trigger it from the Actions tab
# ("Run workflow"). The case-study / group / individual notebooks read data
# via relative paths; confirm they run top-to-bottom locally, then enable a
# folder at a time here. nbmake executes each notebook from its own directory.
execute-notebooks:
name: Execute notebooks (manual smoke test)
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Execute notebooks
run: pytest --nbmake --nbmake-timeout=900 case-study group individual