Skip to content

[v3.1 PR-3] Install scripts write .aspire-route.json sidecar; move PR install path to ~/.aspire/installs/pr-<N>/ #16740

@radical

Description

@radical

Design changes: 1 (install-script side), 4 — see agreed-design-v3.md §4 Required changes.
Tracker: #16737
Replaces: #15951 (close-and-redo — install path is ~/.aspire/installs/pr-<N>/ in v3.1, not ~/.aspire/dogfood/pr-<N>/)

"Change N" numbers below refer to entries in the design doc's §4 table, not GitHub issues.

Scope

  • eng/scripts/get-aspire-cli.{sh,ps1}: after install, write .aspire-route.json next to the binary with { "route": "script", "selfUpdate": "in-process" }. Stop writing global channel.
  • eng/scripts/get-aspire-cli-pr.{sh,ps1}: install to ~/.aspire/installs/pr-<N>/ instead of ~/.aspire/bin/. Write { "route": "pr", "selfUpdate": "delegate" }. PR number is parsed from InformationalVersion at runtime; not stored in JSON.
  • Aspire.Acquisition.Tests (Add comprehensive test coverage for CLI acquisition scripts #15995, merged): extend script tests to assert sidecar contents and PR install path.

Acceptance

  • After get-aspire-cli.sh, ~/.aspire/bin/.aspire-route.json exists with the script-route schema.
  • After get-aspire-cli-pr.sh -p 12345, ~/.aspire/installs/pr-12345/aspire exists; ~/.aspire/bin/aspire is untouched.
  • ~/.aspire/aspire.config.json#channel is no longer written by either script.

Open decisions blocking

Risk

Medium — user-visible PR install path change. Coordinate with release notes; consider keeping ~/.aspire/bin/aspire as a deprecated alias for one release.

Dependencies

None (sidecar schema agreed in §1 item 1).

Metadata

Metadata

Assignees

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