Skip to content

Internal build break: verify-cli-archive.ps1 fails on signed-build agents (aspire-managed --help; aspire new aspire-ts-starter restore) #17345

@radical

Description

@radical

The signed build+sign pipeline (microsoft-aspire, definition 1602) has been failing on main since #17274 merged. Two distinct failures from the same PR, both in eng/scripts/verify-cli-archive.ps1.

Repro

Internal: microsoft-aspire pipeline 1602 (batched CI on main). The verifier only ever runs in the post-merge build+sign pipeline; it does not run on GitHub PRs, which is why both regressions reached main.

Failure 1 — aspire-managed --help (fixed by #17341, mitigated)

Test-ExtractedBundleLayout smoke-tested the bundled server with aspire-managed --help and asserted exit 0:

❌ Verification failed: aspire-managed failed with exit code 1.
   Output: Usage: aspire-managed <dashboard|server|nuget> [args...]

Aspire.Managed's entry point (src/Aspire.Managed/Program.cs:22-28,58-62) is a hard args switch on dashboard|server|nuget; anything else — including --help — falls through to ShowUsage() and returns 1.

Failure 2 — aspire new aspire-ts-starter auto-restore hits nuget.org

Test-TypeScriptStarterProject invokes aspire new aspire-ts-starter, which after templating runs an automatic packager-managed AppHost-server bootstrap. That bootstrap performs a NuGet restore for Aspire.Hosting, Aspire.Hosting.JavaScript, Aspire.Hosting.CodeGeneration.TypeScript and their transitive deps. Aspire-owned packages route to the dnceng internal feed (resolved fine), but transitive Microsoft.Extensions.*, Grpc.*, OpenTelemetry.*, Newtonsoft.Json, ModelContextProtocol, … route to https://api.nuget.org/v3/index.json — which the 1ES signed-build agent has no egress to:

ERROR: Unable to load the service index for source https://api.nuget.org/v3/index.json.
  Permission denied (api.nuget.org:443)
  Permission denied

  channel:  daily
  packages: Aspire.Hosting 13.4.0-preview.1.26270.9,
            Aspire.Hosting.JavaScript 13.4.0-preview.1.26270.9,
            Aspire.Hosting.CodeGeneration.TypeScript 13.4.0-preview.1.26270.9
❌ Failed to prepare AppHost server.
❌ Automatic 'aspire restore' failed for the new TypeScript starter project.
❌ 'aspire new aspire-ts-starter' failed with exit code 6

The C# starter check is unaffected because aspire new aspire-starter does not trigger a restore.

Expected

verify-cli-archive.ps1 succeeds end-to-end on the signed-build agents for all three RIDs.

Why both were missed pre-merge

Both checks were added in the same PR (#17274) and were validated against a synthetic fake archive in the acquisition tests. The real-archive verifier only runs in the build+sign pipeline, which never runs on GitHub PRs — so neither incompatibility surfaced until after merge to main.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area ownerstriage:bot-seenAspire triage bot has seen this issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions