Repository navigation
Fix pre-existing failure: Lib tests fail to compile: Manifest initializer missing packs - #172
Merged
calvin-archastro merged 1 commit intoOct 21, 2026
Conversation
…t initializer missing packs
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.
Epic: Aster restores real build artifacts from a shared cache, including the GitHub Actions cache
Task: Fix pre-existing failure: Lib tests fail to compile: Manifest initializer missing packs
Local git hooks skipped: pre-push on the submission push and the publish push. CI is the gate for what those hooks check.
Problem and author intent
Lib tests failed to compile because the
Manifesttest helper insrc/cache/signature.rsdid not initializepacks.cargo test --offline --lib gha::clientreportederror[E0063]: missing field packs in initializer of artifact::Manifestat theManifest {construction in that helper. The failure was already present on the base commit and is outside signing logic: a newpacksfield was added toartifact::Manifest, but this helper was not updated. Sibling test initializers already supplypacks. The intent of this change is only to make that helper compile again, without changing signing behavior or encoded manifest bytes.What changed
Before, the helper built a
Manifestwithoutpacks, so the lib test target could not compile and signature tests never ran. After, the helper setspacks: Vec::new(). An empty vector is the pre-pack manifest shape.packsis annotated#[serde(default, skip_serializing_if = "Vec::is_empty")], so an empty list is omitted on encode and does not change serialized bytes relative to the previous helper output.The frozen diff is one added line in
src/cache/signature.rs(packs: Vec::new(),insidemod tests), with no removals. Projected scope matches that evidence: one path, one hunk, +1/−0.Scope
Manifesttest helper insrc/cache/signature.rsonly.Risk assessment
Low. The edit is test-only and matches the empty-packs shape already used by sibling helpers. Because empty
packsis skipped on serialize, signature fixtures that depend on encoded bytes should stay stable. Residual risk is limited to any test that assumed the struct literal’s field set rather than encoded output; the compile error shows the old literal was already invalid.User impact
None for runtime cache restore or signing. This unblocks compiling the library tests that construct a
Manifestfrom this helper.Testing
Pipeline checks reported
format,lint, andtestsucceeded (exit code 0). Those outcomes are advisory. Check excerpts are truncated, so they are not complete evidence. The visibletestexcerpt shows unrelated migration and integration runs (startup,ui,upgrade) and does not namegha::clientorvalid_signature_hits_and_tamper_or_wrong_key_misses. The patch excerpt proves only thatpacks: Vec::new()was added; it does not prove tests passed.The intended canonical coverage is
valid_signature_hits_and_tamper_or_wrong_key_missesinsrc/cache/signature.rs, exercised bycargo test --offline --lib gha::client, under existingcargo test --libCI. That command and function are not shown in the supplied check logs, so this write-up does not claim they passed here.Follow-ups and known issues
Confirm on a clean base checkout that
cargo test --offline --lib gha::clientcompiles and thatvalid_signature_hits_and_tamper_or_wrong_key_missespasses. No other follow-up is indicated by the diff. Truncated check logs leave a verification gap for that specific target.