name: Run Notebooks

on:
    - pull_request

jobs:
    run:
        runs-on: ubuntu-latest
        strategy:
            matrix:
                notebook: [
                        "docs/tutorials/notebooks/ehrapy_introduction.ipynb",
                        "docs/tutorials/notebooks/mimic_2_introduction.ipynb",
                        "docs/tutorials/notebooks/mimic_2_survival_analysis.ipynb",
                        # "docs/tutorials/notebooks/mimic_2_fate.ipynb",  # https://github.com/theislab/cellrank/issues/1235
                        "docs/tutorials/notebooks/mimic_2_causal_inference.ipynb",
                        # "docs/tutorials/notebooks/mimic_3_demo.ipynb",
                        # "docs/tutorials/notebooks/medcat.ipynb",
                    ]
        steps:
            - uses: actions/checkout@v4
              with:
                  submodules: "true"
                  token: "${{ secrets.CT_SYNC_TOKEN }}"
            - name: Set up Python
              uses: actions/setup-python@v5
              with:
                  python-version: "3.13"

            - name: Install UV
              run: pip install uv

            - name: Install ehrapy and additional dependencies
              run: uv pip install --system . cellrank nbconvert ipykernel graphviz

            - name: Install scvelo from Github
              run: uv pip install --system git+https://github.com/theislab/scvelo.git

            - name: Run ${{ matrix.notebook }} Notebook
              run: jupyter nbconvert --to notebook --execute ${{ matrix.notebook }}
