Skip to content

Align Windows installer validation with the R2 release distribution #284

Description

@Teakowa

Goal

Make the Windows first-party installer and its distribution validation use WrightKit's R2-backed release surface consistently with install.sh.

Context

install.sh now resolves and downloads Wright releases from https://releases.wrightkit.dev, including latest/version and immutable versioned release paths. install.ps1 and its test fixture still model GitHub Releases/GitHub API URLs, so the Windows path no longer exercises the same supported distribution contract.

Scope

  • Make install.ps1 use the WrightKit R2 release surface by default.
  • Resolve latest through the R2 latest/version contract rather than the GitHub Releases API.
  • Use the same R2 path shapes as the Unix installer for pinned and latest artifacts.
  • Update the Windows installer test fixture to model the R2-backed distribution contract while remaining hermetic and retaining its existing failure-path coverage.

Non-goals

  • Changing release artifact names, target support, or checksums.
  • Adding a second release/distribution pipeline.
  • Replacing hermetic failure-path fixtures with production-network-dependent tests.
  • Changing package-manager distribution channels.

Acceptance criteria

  • A default Windows install no longer depends on GitHub Release asset/API URLs.
  • Pinned Windows installs resolve releases/<version>/... from the WrightKit release base URL.
  • Latest Windows installs resolve latest/version and install from the verified latest/... artifact path.
  • The Windows installer test validates the R2 path contract for pinned, latest, missing-version, checksum-failure, and native post-install smoke behavior.
  • install.sh and install.ps1 share the same public release-distribution contract without introducing a new abstraction layer.

Dependencies / ownership

  • Wright owns first-party installer behavior and distribution validation.
  • Builds on the existing R2 publication contract already used by install.sh.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions