Skip to content

Fix pre-existing failure: Lib tests fail to compile: Manifest initializer missing packs - #172

Merged
calvin-archastro merged 1 commit into
mainfrom
factory/tsk_45cSxjRp63Go8z0TsPjTBf-e712b8e3-0f56-484c-8d25-
Oct 21, 2026
Merged

calvin-archastro merged 1 commit into
mainfrom
factory/tsk_45cSxjRp63Go8z0TsPjTBf-e712b8e3-0f56-484c-8d25-

Conversation

@calvin-archastro

@calvin-archastro calvin-archastro commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

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 Manifest test helper in src/cache/signature.rs did not initialize packs. cargo test --offline --lib gha::client reported error[E0063]: missing field packs in initializer of artifact::Manifest at the Manifest { construction in that helper. The failure was already present on the base commit and is outside signing logic: a new packs field was added to artifact::Manifest, but this helper was not updated. Sibling test initializers already supply packs. 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 Manifest without packs, so the lib test target could not compile and signature tests never ran. After, the helper sets packs: Vec::new(). An empty vector is the pre-pack manifest shape. packs is 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(), inside mod tests), with no removals. Projected scope matches that evidence: one path, one hunk, +1/−0.

Scope

  • In: the Manifest test helper in src/cache/signature.rs only.
  • Out: signing, verification, production manifest construction, and other crates. No workflow files were changed.

Risk assessment

Low. The edit is test-only and matches the empty-packs shape already used by sibling helpers. Because empty packs is 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 Manifest from this helper.

Testing

Pipeline checks reported format, lint, and test succeeded (exit code 0). Those outcomes are advisory. Check excerpts are truncated, so they are not complete evidence. The visible test excerpt shows unrelated migration and integration runs (startup, ui, upgrade) and does not name gha::client or valid_signature_hits_and_tamper_or_wrong_key_misses. The patch excerpt proves only that packs: Vec::new() was added; it does not prove tests passed.

The intended canonical coverage is valid_signature_hits_and_tamper_or_wrong_key_misses in src/cache/signature.rs, exercised by cargo test --offline --lib gha::client, under existing cargo test --lib CI. 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::client compiles and that valid_signature_hits_and_tamper_or_wrong_key_misses passes. No other follow-up is indicated by the diff. Truncated check logs leave a verification gap for that specific target.

@calvin-archastro
calvin-archastro requested a review from a team October 21, 2026 04:15
@calvin-archastro
calvin-archastro merged commit 02253bb into main Oct 21, 2026
12 checks passed
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