From ed1da7c9a02f8ecc8240c6582719cb95393064e5 Mon Sep 17 00:00:00 2001 From: Mahdi Shafiei Date: Thu, 27 Aug 2026 17:14:47 -0700 Subject: [PATCH] Install the chem extra in the jobs that exercise RDKit Moving rdkit into the chem extra stopped CI installing it, so every test in tests/operators/test_drug_discovery.py and the drug-discovery, molnet and molecular-splitter suites failed with ModuleNotFoundError. The extra is right: installing the package should not pull a chemistry toolkit. The tests that cover that code still need it, so the two jobs that execute them ask for it explicitly. Scoped to those jobs rather than added everywhere. No test file imports rdkit at module level, verified by parsing each one, so collection is unaffected elsewhere; integration and e2e select no rdkit-dependent tests. --- .github/workflows/ci.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4328cea..4148a57 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -124,7 +124,10 @@ jobs: cache-suffix: unit-${{ matrix.shard.id }} # Install genomics extra so pyfaidx / pysam are present for the # error-path tests in tests/sources/test_{fasta,bam}.py. - linux-editable-target: ".[dev,test,genomics]" + # chem carries rdkit, which the drug-discovery, molnet and molecular-splitter + # tests exercise. It is an extra so that installing the package does not pull a + # chemistry toolkit, but the tests that cover it must still have it. + linux-editable-target: ".[dev,test,genomics,chem]" - name: Run unit tests shell: bash @@ -286,7 +289,9 @@ jobs: with: python-version: "3.11" cache-suffix: perf - linux-editable-target: ".[dev,test,benchmark]" + # chem carries rdkit, needed by tests/benchmarks/test_bench_dti.py and + # test_bench_molnet.py. + linux-editable-target: ".[dev,test,benchmark,chem]" - name: Run performance tests shell: bash @@ -335,7 +340,10 @@ jobs: with: python-version: "3.11" cache-suffix: coverage - linux-editable-target: ".[dev,test,genomics]" + # chem carries rdkit, which the drug-discovery, molnet and molecular-splitter + # tests exercise. It is an extra so that installing the package does not pull a + # chemistry toolkit, but the tests that cover it must still have it. + linux-editable-target: ".[dev,test,genomics,chem]" - name: Download all coverage data artifacts uses: actions/download-artifact@v4