You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
distcheck: vestigial CLI-binary prerequisite left behind by #738 (skipped integration test, dead CI step, stale README) #972
Found while investigating #961 (closed as not planned). Three artifacts of the same change: #738 dropped dirsql/_binary/ so the wheel's extension module carries the CLI in-process, but the cargo-built dirsql binary is still treated as a prerequisite in three places. One of them silently skips a test.
Problem
python_flow/gate.py records that the prerequisite is gone:
- No binary staging since #738: the wheel's extension module carries the CLI
and the console script calls it in-process, so there is nothing to stage
Confirmed: gate.py never references a binary or target/ anywhere outside that docstring caveat. But:
1. tests/integration/python_flow_test.py skips itself on a prerequisite the flow no longer has. Lines 23–32 locate target/{release,debug}/dirsql and pytest.skip("dirsql CLI binary not built ...") when it is absent. binary is never used again — it is not passed to run(), which takes (_PKG, _REPO). So the test skips whenever no cargo binary happens to be lying around, even though it would pass. This is the one with teeth: a green run where the case never executed.
2. dirsql-python-ci.yml's distcheck job builds a binary nothing consumes. The Build dirsql CLI binary step (cargo build -p dirsql --features cli) runs on every Python PR reaching that job and feeds nothing. The Install Rust / Rust cache steps stay — maturin build compiles the PyO3 extension.
3. internals/distcheck/README.md:29 still says the python flow "stages the cargo-built dirsql binary under dirsql/_binary/".
Also stale in the same README (unrelated cause, #942)
:54 — gated by conventions.yml's internals-distcheck job → internals-distcheck-ci.yml
Drop the binary lookup and its pytest.skip from python_flow_test.py, keeping the maturin guard. Confirm the test then runs (and passes) with no cargo binary present — that is the fix's whole point, so it wants observing rather than assuming.
Delete the Build dirsql CLI binary step from dirsql-python-ci.yml's distcheck job.
Correct the three README lines.
Validation
(1) is a real behavior change to a test tier and needs its skip-to-run transition observed directly. (2) is verified by the Packaging distcheck (python) job staying green without the step — that job runs on any PR touching packages/python, and this issue's PR will touch dirsql-python-ci.yml, which is in its own paths:. (3) is docs.
Note the node flow is unaffected: it genuinely needs the staged host CLI under packages/ts/build/<triple>/, which is why node_flow_test.py's skip guard is still correct.
Activity
test: pin the platforms.py <-> platforms.ts mirror (RED)