Skip to content

docs+refactor: reframe Mullenbach 2018 from benchmark to inspiration; deprecate compare_to_mullenbach #29

docs+refactor: reframe Mullenbach 2018 from benchmark to inspiration; deprecate compare_to_mullenbach

docs+refactor: reframe Mullenbach 2018 from benchmark to inspiration; deprecate compare_to_mullenbach #29

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
# Manual trigger with an optional debug toggle. Use this when CI failure
# needs inner-loop visibility (pytest verbose + pre-commit --verbose +
# mypy traceback). Matches the --log-level DEBUG contract established
# for the CLI in src/mimic_icd_coder/cli.py.
workflow_dispatch:
inputs:
log_level:
description: "Logging verbosity for this manual run."
type: choice
options: [INFO, DEBUG]
default: INFO
jobs:
lint-and-test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
env:
# Push / pull_request runs always use INFO; workflow_dispatch runs
# honor the user's choice. Consumed by the pytest step below.
LOG_LEVEL: ${{ inputs.log_level || 'INFO' }}
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Pre-commit (lint, format, nbstripout, PHI scan, data safety)
run: |
if [ "$LOG_LEVEL" = "DEBUG" ]; then
pre-commit run --all-files --show-diff-on-failure --verbose
else
pre-commit run --all-files --show-diff-on-failure
fi
- name: Mypy
run: |
if [ "$LOG_LEVEL" = "DEBUG" ]; then
mypy src --show-traceback
else
mypy src
fi
- name: Pytest (synthetic fixtures — no MIMIC data required)
run: |
if [ "$LOG_LEVEL" = "DEBUG" ]; then
pytest -v --log-cli-level=DEBUG
else
pytest -q
fi