3.8 KiB
Required CI runtime evidence
This record is populated from the consolidated CI / required Gitea job. A
qualifying sample consists of one deliberate cold native/dependency cache run
and four normal warm-cache runs on aarch64-unknown-linux-gnu. Each uploaded
required-gate.json contains per-stage elapsed time, Rust host/target, separate
compiled-Cargo, dependency-download, native, and tool cache hit state,
available peak-memory evidence, and the Skia binary outcome.
The compiled target key includes Rust 1.97.1, the ARM64 GNU target, every Cargo
manifest, Cargo.lock, required feature/policy configuration, and native
installer inputs. CI-driver-only changes reuse the newest generation through a
same-filesystem hard-link migration; Cargo still validates every fingerprint.
To invalidate compiled artifacts, change a keyed build input. A deliberate
cold_cache dispatch removes registry archives/index data, Git database data,
pinned audit tools, OpenJPEG, and Skia. It retains immutable extracted registry
sources and the compiled target so the cold dependency/native measurement does
not manufacture source-mtime rebuilds unrelated to cache correctness.
The pre-consolidation Gitea baseline was 13 automatic workflows and 333 runs. Successful maxima included 22.9 minutes for the native workspace, 32.0 minutes for Skia, 66.6 minutes for artifact audit, and 86.0 minutes for the release matrix. Native code generation had a 13.2-minute median and 18.5-minute maximum; even this one concern could exceed the new complete-gate budget.
| Run | Cache | Elapsed | Result | Evidence |
|---|---|---|---|---|
| 423 | cold (compiled hit; dependency/native/tool miss) | 4:24 | success | required-ci-evidence |
| 424 | warm | 3:56 | success | required-ci-evidence |
| 425 | warm | 3:56 | success | required-ci-evidence |
| 426 | warm | 3:55 | success | required-ci-evidence |
| 427 | warm | 4:12 | success | required-ci-evidence |
The uploaded evidence reports the following internal gate timings. Warm values are the observed minimum and maximum across the four warm runs.
| Stage | Cold seconds | Warm seconds |
|---|---|---|
| static/generated/API | 119.200 | 118.291–119.204 |
| reviewed reports | 0.000 | 0.000 |
| Skia binary proof | 0.343 | 0.250–0.262 |
| compile/test/features | 38.429 | 37.031–37.590 |
| program/API smoke | 2.876 | 2.416–2.526 |
| clippy/docs | 1.243 | 1.032–1.080 |
| policy/evidence | 7.669 | 7.272–7.469 |
| complete internal gate | 201.202 | 197.423–198.555 |
All five consecutive runs used commit 05af8d5edf566fb79770990153d8561a98718ec4
on the ARM64 ubuntu-latest runner. The 4:24 maximum leaves 10:36 of headroom
under the 15-minute job timeout. Branch protection for main enables status
checks with CI / required (push) as its only required context; direct-push
behavior is unchanged. Every evidence record reports aarch64 with Rust
host/target aarch64-unknown-linux-gnu; observed peak cgroup memory is
264,696–264,712 KiB. Every Skia proof installed the pinned archive with SHA-256
dd127f458a5e67a79f3936a8aa19f822fe90a1d6a11b50b5f84df2b0519d909c
and records that no source build started.