Skip to content

fix(ci): verify prepared native OCI execution identity (RUST-CI-045) - #57

Merged
itlezy merged 2 commits into
mainfrom
fix/prepared-image-identity
Nov 12, 2026
Merged

itlezy merged 2 commits into
mainfrom
fix/prepared-image-identity

Conversation

@itlezy

@itlezy itlezy commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

Docker 29 with the containerd image store can report a manifest identity in image inspect .Id. Treating that value as the OCI configuration digest rejects the prepared Linux builder before compilation. Resolve and hash-verify the attested index, native CPU manifest and configuration, then pull, inspect, probe and package through the same immutable native manifest reference.

Validate typed classic/config and containerd/manifest identities, descriptor metadata, CPU/OS, source and recipe labels, all configuration labels and rootfs diff IDs. Record the verified configuration digest separately from the local storage identity and retain bounded public mismatch evidence without configuration environments. Existing attestation, source, non-root, read-only and provenance guards remain in force.

Add a read-only native AMD64/ARM64 Docker 29.6.1/containerd conformance job using the existing pinned Alpine mirror, ahead of image publication. Ordinary local pytest remains mock-only.

Validation: 105 focused Python tests passed locally; one existing Linux-only GNU timeout process-group test skipped on Windows. Normal privacy, hygiene, actionlint and direct-test hooks passed. All exact-head GitHub checks passed, including both Windows baselines and native Linux tests. Real Docker conformance on AMD64 and ARM64 independently verified the manifest/config distinction, matching native descriptor and rootfs, and actual non-root execution on each CPU. No local Docker, Cargo or heavy platform validation ran.

Parent-coordinated workstream prepared-image-identity. A newly produced, attested compiler image from the merged Build source and Rust consumer packaging qualification remain required. No producer dispatch, source pin refresh or merge was performed here.

Refs: emulebb/emulebb-rust#302 (RUST-CI-045)

Threepwood-7 added 2 commits November 12, 2026 06:53
…-045)

Hash-check config bytes and validate classic and containerd local identities
against the attested native manifest before probing or packaging.

Refs: emulebb/emulebb-rust#302
Exercise the shared identity verifier against the existing pinned Alpine
mirror on both native CPUs before publishing prepared compiler images.
Keep Docker out of normal local pytest and retain bounded failure evidence.

Refs: emulebb/emulebb-rust#302
@itlezy
itlezy merged commit 33798d1 into main Nov 12, 2026
16 checks passed
@itlezy
itlezy deleted the fix/prepared-image-identity branch November 12, 2026 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant