Follow-up to #236 (the CI workflow).
Gap
The suites job installs pyarrow with pip3 install ... pyarrow, which fails the step only if pip3 itself returns nonzero. It does not catch the case that causes silent coverage loss: pip3 exits 0 but the suites' python3 cannot import the module (wrong interpreter, partial install, PATH skew). When that happens arrow_import.sh:29 sets have_pyarrow=0, the foreign-producer cross-check at :77 (and the equivalents in the other Arrow/Parquet suites) is skipped, and the suite still passes green -- the exact silent-skip the workflow argues against, one layer down.
Fix
One line after the install, so "pyarrow present" is asserted by the same interpreter the suites use and a mismatch fails the job loudly:
- run: python3 -c 'import pyarrow; print("pyarrow", pyarrow.__version__)'
Not a blocker for #236 (which is the repo's first CI and worth landing on its own); this is the follow-up so a green suites job genuinely means the Arrow/Parquet cross-checks ran.
Raised in the #236 review.
Follow-up to #236 (the CI workflow).
Gap
The
suitesjob installs pyarrow withpip3 install ... pyarrow, which fails the step only ifpip3itself returns nonzero. It does not catch the case that causes silent coverage loss:pip3exits 0 but the suites'python3cannot import the module (wrong interpreter, partial install, PATH skew). When that happensarrow_import.sh:29setshave_pyarrow=0, the foreign-producer cross-check at:77(and the equivalents in the other Arrow/Parquet suites) is skipped, and the suite still passes green -- the exact silent-skip the workflow argues against, one layer down.Fix
One line after the install, so "pyarrow present" is asserted by the same interpreter the suites use and a mismatch fails the job loudly:
Not a blocker for #236 (which is the repo's first CI and worth landing on its own); this is the follow-up so a green suites job genuinely means the Arrow/Parquet cross-checks ran.
Raised in the #236 review.