From 959c538942ca3d3c5f3f0c285466a0bf8644da13 Mon Sep 17 00:00:00 2001 From: ilia Nikiforov Date: Sat, 17 Jan 2026 20:28:22 -0600 Subject: [PATCH 1/3] should fail CI -- installing to a custom dir without setting PYTHONPATH --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d79c4e2..c2ab62b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -55,8 +55,11 @@ jobs: - name: Run pre-setup and install shell: bash -el {0} run: | + mkdir local-python + export PIP_TARGET=$PWD/local-python python pre_setup.py python -m pip install . + chmod -R -w local-python - name: Run tests shell: bash -el {0} From 3f15045b51d114e2f971ff7dd05f2a8707f5b91c Mon Sep 17 00:00:00 2001 From: ilia Nikiforov Date: Sat, 17 Jan 2026 20:32:36 -0600 Subject: [PATCH 2/3] set PYTHONPATH --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c2ab62b..ac0f73e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,6 +57,7 @@ jobs: run: | mkdir local-python export PIP_TARGET=$PWD/local-python + echo "PYTHONPATH=$PYTHONPATH:$PIP_TARGET" >> "$GITHUB_ENV" python pre_setup.py python -m pip install . chmod -R -w local-python From 0c83acfbf5da52bab016617e67f4ab6452dd62e2 Mon Sep 17 00:00:00 2001 From: ilia Nikiforov Date: Sun, 18 Jan 2026 15:37:21 -0600 Subject: [PATCH 3/3] update workflow to avoid reinstalling all dependencies already present in conda env --- .github/workflows/test.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ac0f73e..3e43cc6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -55,13 +55,20 @@ jobs: - name: Run pre-setup and install shell: bash -el {0} run: | - mkdir local-python - export PIP_TARGET=$PWD/local-python - echo "PYTHONPATH=$PYTHONPATH:$PIP_TARGET" >> "$GITHUB_ENV" python pre_setup.py - python -m pip install . + # Install kimvv only into a special directory that we make unwriteable to mimic a system install + # This is to make sure test drivers don't need to write to their own files to run + mkdir local-python + python -m pip install . -t local-python --no-deps chmod -R -w local-python + # Now install any dependencies normally. If we install without --no-deps + # above, it would install ALL dependencies, including reinstalling + # stuff that already exists in the conda env + echo "PYTHONPATH=$PYTHONPATH:$PWD/local-python" >> "$GITHUB_ENV" + python -c "from importlib.metadata import requires; print(' '.join(requires('kimvv')))" | xargs python -m pip install + + - name: Run tests shell: bash -el {0} run: |