@@ -18,12 +18,15 @@ jobs:
1818 env :
1919 BUNDLE_WITHOUT : " secryst"
2020 SKIP_JS : " 1"
21- # The ISC corpus sweep (ISC_SWEEP=1) stays opt-in until the
22- # conformance gap it measures is closed: it currently exposes real
23- # per-map mismatches across the corpus. Run it locally with
24- # ISC_SWEEP=1 INTERSCRIPT_MAPS_PATH=../maps/maps \
25- # rspec spec/interscript_spec.rb
26- # to track that gap; flip it on here once it goes green.
21+ SKIP_PYTHON : " 1"
22+ ISC_SWEEP : " 1"
23+ # The ISC corpus sweep: every map's own tests through every
24+ # supported compiler (Interpreter, Compiler::Ruby), against the
25+ # ../maps sibling from the monorepo checkout. The conformance gap
26+ # it measured is closed (16,482 examples, 0 failures —
27+ # interscript-ruby#779..#786); this is now the CI conformance
28+ # gate for the corpus. The experimental Python bridge is excluded
29+ # (SKIP_PYTHON) until its own corpus conformance work lands.
2730
2831 steps :
2932 - name : Checkout monorepo
@@ -43,14 +46,26 @@ jobs:
4346
4447 - name : Install Python helper and gems
4548 working-directory : ruby
49+ # bash everywhere: the PYBIN substitution is POSIX shell, which
50+ # PowerShell (the windows default) cannot parse. --break-system-
51+ # packages rides out PEP 668 on Homebrew-managed macos Pythons.
52+ shell : bash
4653 run : |
4754 bundle config set --local with jsexec
4855 bundle install
49- # PyCall binds whichever libpython it was built against, which
50- # is not necessarily the python that bare `pip` targets —
51- # install the regex helper into that interpreter.
52- PYBIN=$(bundle exec ruby -e 'require "pycall"; v = PyCall.sys.version[/\d+\.\d+/]; puts "python#{v}"')
53- "$PYBIN" -m pip install regex
56+ if bundle exec ruby -e 'require "pycall"' >/dev/null 2>&1; then
57+ # PyCall binds whichever libpython it was built against, which
58+ # is not necessarily the python that bare `pip` targets —
59+ # install the regex helper into that interpreter.
60+ PYBIN=$(bundle exec ruby -e 'require "pycall"; v = PyCall.sys.version[/\d+\.\d+/]; puts "python#{v}"')
61+ if command -v "$PYBIN" >/dev/null 2>&1; then
62+ "$PYBIN" -m pip install --break-system-packages regex || "$PYBIN" -m pip install regex
63+ else
64+ echo "$PYBIN not on PATH — python helper not installed"
65+ fi
66+ else
67+ echo "pycall not bundled (SKIP_PYTHON) — python helper not installed"
68+ fi
5469
5570 - name : RSpec
5671 working-directory : ruby
0 commit comments