fix: nsis/portable Windows targets silently overwrote each other #7

Merged
mohlec merged 1 commit from fix/nsis-portable-filename-collision into slash/main 2026-07-13 22:12:43 +00:00
Owner

Answers the missing-installer mystery: nsis and portable both resolved to the identical filename under the shared artifactName template (upstream's own win.target is zip+msi -- different extensions, so this collision never surfaced there). Whichever target finished second silently overwrote the first every single build.

Confirmed via local reproduction on git.ncwcom.com: both targets logged the same output path during their respective build steps.

  • Added distinct nsis/portable artifactName overrides (-setup.exe / -portable.exe)
  • CI's Save artifacts glob also excluded win-unpacked/*.exe -- the internal non-functional Electron binary stub was being swept up alongside real outputs and uploaded as if it were a release asset (that's the size-mismatch file from earlier).
Answers the missing-installer mystery: nsis and portable both resolved to the identical filename under the shared artifactName template (upstream's own win.target is zip+msi -- different extensions, so this collision never surfaced there). Whichever target finished second silently overwrote the first every single build. Confirmed via local reproduction on git.ncwcom.com: both targets logged the same output path during their respective build steps. - Added distinct nsis/portable artifactName overrides (-setup.exe / -portable.exe) - CI's Save artifacts glob also excluded win-unpacked/*.exe -- the internal non-functional Electron binary stub was being swept up alongside real outputs and uploaded as if it were a release asset (that's the size-mismatch file from earlier).
fix: nsis/portable Windows targets silently overwrote each other
All checks were successful
Build Slash Desktop / build-macos (pull_request) Has been skipped
Build Slash Desktop / build-windows (pull_request) Successful in 2m49s
Build Slash Desktop / build-linux (pull_request) Successful in 6m52s
3c8f9de46e
Root cause of the missing 'Setup' installer: nsis and portable are
CI-only targets (--win nsis portable), not part of upstream's own
default win.target ('zip', 'msi' -- different extensions, never
collide). The top-level artifactName template was never designed for
two same-extension Windows targets running together, so both nsis and
portable resolved to the IDENTICAL filename
(release/6.2.2/slash-desktop-6.2.2-win-x64.exe). Whichever target
finished building second silently clobbered the first on disk -- no
installer was ever 'missing', it was being overwritten every single
build.

Confirmed via a local reproduction on git.ncwcom.com (same Wine
cross-build setup as CI): both targets logged the exact same output
path during 'building target=nsis file=...' and 'building
target=portable file=...'.

Fixes:
- Added nsis: {artifactName: '...-setup.exe'} and
  portable: {artifactName: '...-portable.exe'} overrides so each
  target gets a distinct filename
- CI's Save artifacts glob (find release -maxdepth 2 -name '*.exe')
  also excluded win-unpacked/*.exe -- the internal, non-functional
  Electron binary stub (afterpack.js's own output name, e.g. Slash.exe)
  was being swept up by that same broad glob and uploaded as if it
  were a real release asset, alongside the actual installer/portable
  builds.
mohlec merged commit 3a9965e6c4 into slash/main 2026-07-13 22:12:43 +00:00
mohlec deleted branch fix/nsis-portable-filename-collision 2026-07-13 22:12:44 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
slash/slash-desktop!7
No description provided.