Skip to content

feat(installer): add opt-in -Version dev-build and -ZipPath to install.ps1 - #86

Merged
mcoliver merged 2 commits into
mainfrom
feat/installer-dev-build
Oct 2, 2026
Merged

mcoliver merged 2 commits into
mainfrom
feat/installer-dev-build

Conversation

@mcoliver

@mcoliver mcoliver commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Two opt-in ways to install a build other than the latest release on Windows:

  • -Version dev-build installs the development pre-release built from main. This failed before: the script built the URL UTV-dev-build-windows-x64.zip, but the asset is UTV-dev-windows-x64.zip.
  • -ZipPath <file> installs from a zip on disk, e.g. a CI build artifact from a PR. It also accepts the zip-in-a-zip that the GitHub web page serves for artifacts, and leaves the user's file in place.
& ([scriptblock]::Create((irm https://openutv.com/install.ps1))) -Version dev-build
.\install.ps1 -ZipPath .\UTV-windows-x64.zip

Default path is unchanged

irm https://openutv.com/install.ps1 | iex passes no parameters and takes none of the new branches. The release-resolution section of the old and new scripts was run side by side: with no arguments, -Version 2026.9 and -Version 2026.8, both produce the same version and download URL.

Installer test workflow

installer-test.yml runs the real installer on a Windows runner in four modes (default, dev-build, zip-path, nested-zip) whenever scripts/install.ps1 changes, and checks the installed files exist. It uses -SkipDeps, so the dependency MSI step is not covered.

🤖 Generated with Claude Code

…l.ps1

-Version dev-build installs the development pre-release. It failed before
because the asset name (UTV-dev-windows-x64.zip) does not contain the tag.
-ZipPath installs from a zip on disk, such as a CI build artifact, including
the zip-in-a-zip the GitHub web page serves for artifacts.

The default path (no parameters) and explicit release versions resolve to
the same download as before.

A new workflow runs the installer on a Windows runner in each mode whenever
scripts/install.ps1 changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Signed-off-by: Michael Oliver <mcoliver@gmail.com>
Adding or editing an unrelated workflow (e.g. the installer test) triggered a
full three-platform build. Also end the installer test step with exit 0:
robocopy's non-zero success code was failing it after a successful install.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Signed-off-by: Michael Oliver <mcoliver@gmail.com>
@mcoliver
mcoliver merged commit d22d81b into main Oct 2, 2026
9 checks passed
@mcoliver mcoliver mentioned this pull request Oct 2, 2026
1 task done
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