Skip to content

release: version the Windows setup asset name for the launcher - #118

Merged
its-janghoon merged 1 commit into
developfrom
chore/setup-asset-name
Oct 16, 2026
Merged

its-janghoon merged 1 commit into
developfrom
chore/setup-asset-name

Conversation

@its-janghoon

Copy link
Copy Markdown
Member

What's done

  • The Windows Inno Setup installer is now published as redrob-code-<version>-windows-x64-setup.exe (e.g. redrob-code-0.6.8-windows-x64-setup.exe) instead of redrob-code-x64-setup.exe. This is the <repo>-<version>-<os>-<arch>-setup.exe shape Redrob Launcher's parse_asset_name accepts, and it matches the MSIs and portable zips released beside it.
  • installer/windows/redrob-code.iss: OutputBaseFilename uses {#AppVersion}, which the workflow already passes via /DAppVersion.
  • .github/workflows/release.yml: the post-build existence check, REDROB_WINDOWS_INSTALLER (signing list) and the release-windows artifact upload reference the versioned name. Signing is unchanged otherwise -- it still receives a path list.
  • packages/redrob/src/installation/index.ts: the "installed by the Windows installer" upgrade hint names the versioned file for the target version.
  • The two existing tests that pinned the old name are updated (no new tests).
  • The v0.6.8 release asset was renamed in place to the new name (and SHA256SUMS.txt adjusted if it listed it) so the latest release already matches.

What's not done

  • The redrob-<platform>.zip|tar.gz CLI archives keep their names on purpose: the install script, packages/redrob/script/publish.ts (AUR PKGBUILD + Homebrew formula URLs) and packages/redrob/script/launcher-assets.ts (the launcher packer, which reads them as input) all depend on them.
  • No end-to-end Windows release run; the next release exercises the renamed path.

What to review

  • release.yml lines around REDROB_WINDOWS_INSTALLER, the $setup check and the release-windows upload: the three places must agree on the exact file name, and needs.version.outputs.version is the same value passed to ISCC as AppVersion.
  • Whether anything downstream (website / console download buttons) hard-codes redrob-code-x64-setup.exe; nothing in this repo does.

Intentions

Make every Redrob Code release asset parseable by the launcher and by a human reading the release page, so the version in the file name equals the tag and the Windows setup exe stops being the one unversioned outlier.

The Inno Setup installer was published as `redrob-code-x64-setup.exe`, the
one release asset without a version or an OS token. It now follows the
`<repo>-<version>-<os>-<arch>-setup.exe` shape Redrob Launcher parses, e.g.
`redrob-code-0.6.8-windows-x64-setup.exe`, like the MSIs and portable zips
beside it.

- installer/windows/redrob-code.iss: OutputBaseFilename takes {#AppVersion},
  which the workflow already passes as /DAppVersion.
- release.yml: the existence check, the signing list and the artifact upload
  reference the versioned name; signing still reads the same path list.
- installation/index.ts: the upgrade hint names the versioned file.
- The two existing tests that pinned the old name are updated.

The `redrob-<platform>.zip|tar.gz` CLI archives are untouched: the install
script, publish.ts (AUR/Homebrew) and the launcher-assets packer read them.
@its-janghoon

Copy link
Copy Markdown
Member Author

Self-review: the only behavioural change is the file name the Inno Setup build emits and the three workflow references to it (existence check, signing list, artifact upload), all driven by the same needs.version.outputs.version that ISCC receives as AppVersion, so they cannot drift apart. The MSIs already used this shape. Both touched tests pass locally with bun test (13 pass). The CLI archives redrob-<platform>.* are intentionally untouched because install, publish.ts and launcher-assets.ts read them by name.

@its-janghoon
its-janghoon merged commit 107694e into develop Oct 16, 2026
28 of 29 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