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
[ci] Shorten CI names and hoist matrix defaults.
Check names like "Native Builds / ubu24-x86-gcc12-clang-repl-21-cppyy"
wrap on phones and bury the meaningful tokens in boilerplate, and the
matrix rows carry identical scaffolding that crowds out the fields
that actually distinguish one row from the next.
Renames:
- workflow: "Native Builds" -> "CI", "Emscripten" -> "WASM"
- native: drop "-clang-repl-" infix, spell runtime as "llvm<N>",
"-vg" suffix for Valgrind jobs, "out-of-process" -> "oop"
- wasm: "<os>-<arch>-emscr-llvm<rt>"
Build_and_Test_CppInterOp previously detected wasm jobs via
endsWith(matrix.name, '-emscripten'); switch the six call sites to
an explicit matrix.wasm flag set on every wasm entry.
Native-side default hoisting:
- llvm_enable_projects, llvm_targets_to_build, and python-version
move to `${{ matrix.X || 'default' }}` fallbacks in Build_LLVM
and the setup-python step.
- cling-version moves to a job-level env and is read via a
matrix->env fallback in Build_LLVM and in Save_PR_Info's
CLING_HASH computation (git ls-remote against the tag). The
latter feeds the cache key; missing the fallback makes
CLING_HASH expand to the empty string on cling rows and shifts
the key, busting every cling cache.
- root-llvm-tag stays on each cling row because the cache key
reads matrix.root-llvm-tag literally, but its literal is pinned
once via a YAML anchor (&root_llvm_tag) on the first cling row
and referenced via *root_llvm_tag on the other three.
- Simple rows collapse to flow-style one-liners.
Wasm-side default hoisting (emscripten.yml, deploy-pages.yml):
- LLVM_ENABLE_PROJECTS, LLVM_TARGETS_TO_BUILD, EMSDK_VER, and
BUILD_STATIC_LIBRARY move to workflow-level env. The four
inline cmake blocks and the emsdk activate/install lines read
env.* directly; deploy-pages sets its own BUILD_STATIC_LIBRARY
value ('Off').
- Build_and_Test_CppInterOp migrates matrix.emsdk_ver and
matrix.build_static_library to env.*, keeping the action in
sync with both workflow callers.
- clang-runtime stays on each wasm row (cache key reads
matrix.clang-runtime) but the literal is pinned via a YAML
anchor (&clang_rt) on the first wasm row and referenced via
*clang_rt on the other three.
- micromamba_shell_init is derived inline from runner.os instead
of being a per-row matrix field.
- Wasm rows collapse to flow-style one-liners.
Build_and_Test_cppyy used to gate its numba install with
matrix.python-version != "3.14", which worked only because every
cppyy row literally set python-version: '3.14'. Dropping the field
(now supplied by the workflow default) made the substitution expand
to the empty string and the gate misfired, tripping the numba build
on Python 3.14 where it is unsupported. Replace the matrix-field
check with a runtime python -c 'sys.version_info' read so the gate
tracks the interpreter actually in use.
Cache keys, expanded cmake args, and python versions are unchanged.
0 commit comments