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
`rakupp upgrade` needs nothing installed, which is the whole point of it
CI has been red on all three platforms since the installer batch landed, and it
never reproduced here. `t/regression/rakupp-upgrade.raku` failed with
Could not find Digest::SHA256::Native in: …
for seven of its rows, `--check` included — that is, `rakupp upgrade` died
before deciding anything at all.
`tools/upgrade.raku` opened with `use Digest::SHA256::Native`, which is an
ECOSYSTEM DISTRIBUTION. The engine answers `Digest::Native` itself (DATA-PLAN
P3, `kDataNativeModules` in src/Interpreter.cpp) and that is the name this
wanted: the comment three lines above the `use` says the checksum is "the
ENGINE's own SHA-256, so nothing beyond curl and tar has to exist on the box".
It was one word away from being true.
Proven rather than assumed — with the module store hidden, so the CI condition
is reproduced:
HOME=<empty> rakupp -e 'use Digest::Native; say sha256-hex("abc")'
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad # correct
HOME=<empty> rakupp -e 'use Digest::SHA256::Native; say sha256-hex("abc")'
Cannot locate native library … (incompatible architecture)
and `rakupp upgrade --check` now reaches its real answer ("this is a build tree,
not an install") instead of dying on the `use`.
Why it hid: this machine has BOTH distributions installed, so the regression
case passed locally every time while failing everywhere else. The failure detail
was in the CI log all along — the runner echoes a failing case's `FAIL:` lines —
and I had grepped the wrong side of the `not ok`.
`rakupp upgrade` is the advertised way to update a rakupp installed by the
one-liner, so this was broken for every user who did not happen to have an
unrelated ecosystem module. It ships in v3.28.0's notes as a fix, not as a
regression, because v3.27.0 is where it landed.
Gates: t/run.raku 868/868, t/install/run.raku 137 ok. Roast and perf were not
re-run — the change is to an embedded tool script, not to a code path either
of them exercises.