From b71a18d1490099fb5499c0a14fac0edeca6f3f12 Mon Sep 17 00:00:00 2001 From: Graeme Geldenhuys Date: Wed, 24 Jun 2026 12:02:30 +0100 Subject: [PATCH] ci(bootstrap): build vendored QBE so E2E tests can run The bootstrap chain is native-default and needs no QBE, but the E2E test suite still shells out to it (the QBE arm of AssertRunsOnAll plus the toolchain-gated round-trip tests). The workflow never built QBE, so ~218 tests failed with / [qbe] compile+run once the native-default switch landed. Build the vendored QBE after the toolchain step and point BLAISE_QBE at it. --- .github/workflows/bootstrap.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 30cac17..5566872 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -69,6 +69,17 @@ jobs: sudo apt-get update -qq sudo apt-get install -y build-essential unzip + # -------------------------------------------------------------------- + # 3b. Build vendored QBE. The bootstrap chain is native-default and does + # NOT need QBE, but the E2E test suite still shells out to it (the + # QBE backend arm of AssertRunsOnAll, plus the toolchain-gated + # round-trip tests). Without it ~218 tests fail with + # "" / "[qbe] compile+run". It is vendored, so a + # plain `make` builds the binary the tests' BLAISE_QBE fallback finds. + # -------------------------------------------------------------------- + - name: Build vendored QBE + run: make -C vendor/qbe + # -------------------------------------------------------------------- # 4. Restore the carry-forward cache: the previous successful master run # stashes its -pre binary + a marker file recording the commit SHA it @@ -215,6 +226,9 @@ jobs: # bootstrapped -pre binary. Without this they fall back to the # /tmp/fp_blaise* fixpoint binaries (which only exist after a local # fixpoint.sh run) and silently Ignore ~24 tests in CI. + # BLAISE_QBE points the E2E suite at the vendored QBE built above + # (its fallback is vendor/qbe/qbe, but set it explicitly). + BLAISE_QBE="$PWD/vendor/qbe/qbe" \ BLAISE_QBE_COMPILER="$BLAISE" compiler/target/TestRunner # --------------------------------------------------------------------