CI: Fail on missing preconditions and exceeded boundaries - #1754
Steven Shriver (stshrive) wants to merge 2 commits into
Conversation
We intentionally did not do this. Vulns are point-in-time X sources, not just sources. |
There are two vectors of getting a vuln though. The first is a new dependency that is not in main and has not been scanned yet gets added in a PR without being scanned. The second is a new point-in-time vuln being discovered in a dependency already in main. I think it is worth manually overriding the latter to prevent the former from being inadvertently added to main. |
0198dc0 to
f5b476a
Compare
|
I removed the update to the vuln check execution pattern. This should remedy any concerns about new point-in-time vulns in main blocking PRs. |
f5b476a to
f7bb70b
Compare
Six ways the pipeline reported false success or hung on broken infrastructure. - **Silent container test skipping**: Tests now explicitly fail if `CI` or `REQUIRE_DOCKER` is set (while still skipping on local machines lacking Docker), with the check implemented in `dockerenv` to avoid an import cycle between `storetest` and `atepg`. - **Unbounded trust bundle wait**: Enforced a shared 120-second timeout across both bundles (overridable via `ATE_INSTALL_TRUST_BUNDLE_TIMEOUT`) and added diagnostic dumping of bundles, controller pods, and logs before returning a non-zero exit code. - **Missing sandbox preflight validation**: Added early preflight checks for `SandboxConfig/microvm` that fail fast for missing configs. Missing device diagnostics are deferred to runtime as not to pin to a particular implementation. - **Skipped migration checks on main**: Configured the migration immutability check to run on pushes to main to catch modified migrations at the point of merge. - **Missing job timeouts and concurrency limits**: Defined explicit timeout-minutes (45m and 120m bounds) and added concurrency groups that automatically cancel superseded pull request runs without canceling runs on main.
f7bb70b to
2792343
Compare
This change addresses six ways CI pipeline could report false success or hang on broken infrastructure. Importantly, this change does two things to reduce load on infrastructure:
45m.CIorREQUIRE_DOCKERis set (while still skipping on local machines lacking Docker), with the check implemented indockerenvto avoid an import cycle betweenstoretestandatepg.ATE_INSTALL_TRUST_BUNDLE_TIMEOUT) and added diagnostic dumping of bundles, controller pods, and logs before returning a non-zero exit code./dev/kvmandSandboxConfig/microvmthat fail fast and print actionable remediation instructions.Fixes #1747