Bump component-test to 7e6a137 (post-M1 hardening) - #300
Merged
Conversation
…ed leg The pin advances past two relevant upstream changes: - 9c238fc (failure-detection hardening) binds results envelopes to the suite artifact sha256 and cross-checks it in aggregate. The suite wasms rebuilt against the new SDK, so the lockfiles regenerate (hash-only diffs; the case inventory is unchanged). The composed target needed the new ct-runner --suite-artifact flag (added upstream as 7e6a137 for exactly this): the executed bundle is not the suite artifact the lockfile records, so the runner now binds the suite component it was composed from. - aggregate warnings now render into the matrix, which surfaced the jco drivers naming suites by their hyphenated transpile names while lockfiles use the suite wasm file stem (underscores); the drivers now emit the lockfile identity and the warnings are gone. Verified: gha::rust-checks green; CONFORMANCE_BROWSER=1 gha::conformance-checks green (65712 + 2316 results, 0 failing, 0 validation errors, no warnings); regenerated matrices byte-identical to the committed ones.
…ifacts The bump surfaced that rustc embeds absolute source paths in the suite wasms, so a source-identical build hashes differently per checkout location: the committed lockfiles (generated locally) failed the aggregate artifact-binding check against CI-built results. Filed as polymorph-components/polymorph-test#44 (is the committed hash meant to be authoritative cross-environment, or is binding per-build?). Split the two concerns the binding conflates: inventory drift stays enforced against the committed lockfiles by lock-check (cases and tags; it never compared hashes), while the aggregates bind against a lockfile generated fresh from the artifacts this run actually built and executed - the binding check then means what it says on any machine.
# Conflicts: # conformance/guest-ct/tests.lock
Upstream ruled on polymorph-components/polymorph-test#44: artifact hashes are provenance, never a cross-environment gate (builds are not reproducible - rustc embeds absolute source paths). The aggregate no longer requires envelope-vs-lockfile hash equality, keeping only the reproducibility- independent cross-target agreement warning (all targets in one run should have executed the same build - which they do here: wasmtime and composed stamp the suite wasm, the jco drivers stamp nothing). That removes the reason for the fresh-lock indirection: aggregates now bind against the committed tests.lock files directly, restoring "the diff is the review surface" for exactly what gets aggregated, and the _lock-for-aggregate recipe is deleted. Pin bumped to c90b2f0. Verified locally: CONFORMANCE_BROWSER=1 gha::conformance-checks green in 2m43s - 4 targets / 72,088 shared results + 3 / 2,316 signing, 0 failing, 0 validation errors, matrix-check clean.
Collaborator
Author
|
Scope update after the #44 ruling (artifact hashes are provenance, never a cross-environment gate — resolved upstream in
Local full gate (browser included): 4 targets / 72,088 shared + 3 / 2,316 signing results, 0 failing, 0 validation errors, matrix-check clean, 2m43s. |
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Advances the pin from 52af5d5 (the M1 merge baseline) to component-test HEAD, picking up 11 upstream commits — notably the failure-detection hardening (strict fold, inventory errors, artifact binding), the
component-test-resultscrate extraction, and the fixture/docs work.Adaptations:
ct-runner --suite-artifactflag (added upstream as polymorph-components/polymorph-test@7e6a137 for exactly this gap): the executed bundle can never carry the suite artifact's hash.Verification: rust-checks and the full conformance matrix green locally (65,712 + 2,316 results, 0 failing, 0 validation errors, no warnings); regenerated matrices byte-identical to the committed ones.
Note: the conformance job's artifact + tools caches miss on this PR by design (
.component-test-revis in both keys), so its CI leg pays the full rebuild once (~11 min).