yams/scripts/local-ci
Trevon d398556ee5
fix(tests): replace frozen expectations and harden release gates (#323)
* test(search,daemon,storage): assert behaviour instead of frozen literals

Several suites encoded exact internal values that legitimate tuning and
ranking changes are allowed to move: SCIENTIFIC-era profile weights and
rrfK values, corpus-statistic figures, and hardcoded timeout/cancellation
numbers. They failed on every platform after those changes landed, so the
real behaviour regressions they should catch were hidden behind noise.

Replace the frozen literals with contract assertions: weights are finite,
non-negative and normalize, state selection still holds, capability-gated
sources stay zeroed, and hybrid results keep matching canonical hash/path
sets. Deadlines are not widened and the daemon paths they cover are
unchanged.

Also add independent corpus and adapter oracles, deterministic collector
cancellation and late-result gates, and synchronize ServiceManager
shutdown observation, so the tests fail for the behaviour they name.

The portability allowlist keeps its two reviewed raw test-env reads; only
their line numbers moved.

Signed-off-by: trvon <git@trevon.dev>

* ci(tests): summarise Meson failures without flooding the log

A failing test run printed the whole Meson suite output, so the actual
failing test names and their assertion messages were buried and the
uploaded logs were dominated by passing-test chatter.

Add a bounded reporter that extracts the failing test names plus their
surrounding diagnostics, keeps an overall cap on emitted lines, and is
unit-tested against representative Meson output. Wire it into the Tests
workflow so failures stay readable.

Signed-off-by: trvon <git@trevon.dev>

* build(deb): validate candidate identity, mapping and upgrade ordering

The Debian packaging scripts took filenames and versions on trust, so a
misnamed candidate or a wrong package ordering could pass validation while
the real install path was never exercised.

Fail closed on candidate identity, version and architecture, verify the
package-to-source mapping, seed the legacy-only layout, wait on the actual
services, and assert install/upgrade/remove ordering for both Debian and
RPM in an offline container. Cases that cannot be proven on a host are
reported as skipped rather than silently passing.

Signed-off-by: trvon <git@trevon.dev>

---------

Signed-off-by: trvon <git@trevon.dev>
2026-10-19 19:16:57 -06:00
..
cross-compile-smoke.sh ci(cross): add compile-only cross-compile smoke 2026-08-12 20:02:23 -06:00
matrix.sh v0.2.5 2025-08-14 06:34:56 -04:00
native-macos-lane.sh ci(gate): distinguish transient infra from real failures 2026-08-12 20:09:40 -06:00
package-lane.sh fix: stabilize CI release gates 2026-07-03 22:40:05 -04:00
package-validate-checks.sh fix(tests): replace frozen expectations and harden release gates (#323) 2026-10-19 19:16:57 -06:00
package-validate.sh fix(tests): replace frozen expectations and harden release gates (#323) 2026-10-19 19:16:57 -06:00
portability_probe.cpp ci(cross): add compile-only cross-compile smoke 2026-08-12 20:02:23 -06:00
pre-push-ci-gate.sh ci(gate): distinguish transient infra from real failures 2026-08-12 20:09:40 -06:00
push-lane.sh fix: ci stabilizations for release 2026-07-04 09:28:59 -04:00
smolvm-lane.sh refactor: simplify runtime paths and harden retrieval (#61) 2026-07-31 14:16:45 -04:00