ci: expose vendored QBE to the compiler via BLAISE_QBE

The compiler shells out to 'qbe' and resolves it via the BLAISE_QBE env
var, then PATH (uToolchain.ResolveQBE). The QBE= make variable passed by
rolling-bootstrap.sh only covers the script's own direct qbe calls, not
the compiler's internal invocation when building the RTL. On the runner
qbe is built at vendor/qbe/qbe but not on PATH, so the RTL build failed
with 'qbe error (exit 127)' on the very first replay step.

Set BLAISE_QBE (and prepend vendor/qbe to PATH) after building QBE so all
subsequent steps can find it.
This commit is contained in:
Graeme Geldenhuys 2026-06-16 17:33:25 +01:00
parent 16e29f2fc8
commit 85e2f28b0c

View file

@ -59,6 +59,19 @@ jobs:
- name: Build QBE
run: make -C vendor/qbe
# --------------------------------------------------------------------
# 3b. Make the freshly-built QBE discoverable by the *compiler itself*.
# The compiler shells out to `qbe` and resolves it via the BLAISE_QBE
# env var first, then PATH (see uToolchain.ResolveQBE). The QBE= make
# variable only covers rolling-bootstrap.sh's direct qbe calls, NOT
# the compiler's internal invocation when building the RTL — so
# without this the RTL build fails with "qbe error (exit 127)".
# --------------------------------------------------------------------
- name: Expose QBE to the compiler
run: |
echo "BLAISE_QBE=$PWD/vendor/qbe/qbe" >> "$GITHUB_ENV"
echo "$PWD/vendor/qbe" >> "$GITHUB_PATH"
# --------------------------------------------------------------------
# 4. Restore the carry-forward cache: the previous successful master run
# stashes its -pre binary + a marker file recording the commit SHA it