Skip to content

Commit a0c3641

Browse files
committed
ci: 233 runs on three platforms, so three workflows need the pinned trees
The new criterion fired on macOS and was right to. `submodules: recursive` went onto the Linux e2e shards only, and `233_bench_matrix.sh` runs in every job that invokes the whole suite -- of which there are three, not one. That is the same shape as the defect it was added for: a check reasoned about against one job and applied to all of them. Enumerated rather than guessed this time. The three unfiltered `bash tests/e2e/run_all.sh` jobs are ci-linux-e2e, ci-macos-e2e and ci-windows-e2e, and all three now check the trees out. ci-windows-msvc-xlings sets `E2E_ONLY: '239_*.sh'`, so 233 does not run there; ci-linux-e2e's baremetal job and openkal-cross name their tests directly. The failure now says what to do rather than asserting that this job already asks for the submodules -- which would be false for exactly the job that needs to be told.
1 parent d184e91 commit a0c3641

3 files changed

Lines changed: 21 additions & 2 deletions

File tree

.github/workflows/ci-macos-e2e.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,14 @@ jobs:
2828
# NOTE: no MCPP_VERBOSE — the e2e suite asserts mcpp's default quiet
2929
# output (tests 48/53).
3030
steps:
31+
# `submodules: recursive` so tests/e2e/233_bench_matrix.sh can check that
32+
# each `hub`/`body` in bench/matrix.json exists in the tree it names --
33+
# the check reads "submodule not initialised" without them and reports
34+
# nothing, which is how a stale hub path survived (#599). Under 10 MB of
35+
# source across the three pins, and nothing here builds them.
3136
- uses: actions/checkout@v4
37+
with:
38+
submodules: recursive
3239
- uses: ./.github/actions/setup-macos-llvm
3340

3441
- name: Build mcpp from source (self-host)

.github/workflows/ci-windows-e2e.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,14 @@ jobs:
3636
# assert mcpp's DEFAULT (quiet) output — e.g. 48_build_error_output and
3737
# 53_namespaced_cache_label — which forced verbose would break.
3838
steps:
39+
# `submodules: recursive` so tests/e2e/233_bench_matrix.sh can check that
40+
# each `hub`/`body` in bench/matrix.json exists in the tree it names --
41+
# the check reads "submodule not initialised" without them and reports
42+
# nothing, which is how a stale hub path survived (#599). Under 10 MB of
43+
# source across the three pins, and nothing here builds them.
3944
- uses: actions/checkout@v4
45+
with:
46+
submodules: recursive
4047
- uses: ./.github/actions/bootstrap-mcpp
4148

4249
- name: Build mcpp from source (self-host)

tests/e2e/233_bench_matrix.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,8 +356,13 @@ if uninit:
356356
f"— submodule(s) not checked out")
357357
if os.environ.get("CI"):
358358
print("FAIL: bench/matrix.json")
359-
print(f" {msg}; this job asks for `submodules: recursive`, so the "
360-
f"check that catches a stale hub did not run")
359+
print(f" {msg} -- so the check that catches a stale `hub` did not run.")
360+
print(" A job that runs the whole e2e suite needs the pinned trees: add")
361+
print(" - uses: actions/checkout@v4")
362+
print(" with:")
363+
print(" submodules: recursive")
364+
print(" to this job's checkout. Under 10 MB across the three pins, and")
365+
print(" nothing here builds them.")
361366
raise SystemExit(1)
362367
print(f" NOTE: {msg} (`git submodule update --init`)")
363368
PY

0 commit comments

Comments
 (0)