docs+refactor: reframe Mullenbach 2018 from benchmark to inspiration; deprecate compare_to_mullenbach #29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |