Repository navigation
feat(release): ship the setup window, with NSIS as the updater's installer (I2) - #48
Merged
Merged
Conversation
…aller A release now carries two installers (spec 15.7, I2): the setup window people download, as Botloft_<version>_x64-setup.exe (the name the README already gives), and the NSIS installer the in-app updater runs, as Botloft_<version>_x64-update.exe with its signature. latest.json points to the second. release.yml builds the setup window after the signed installer. release.mjs gains a `stage` step that copies both under their final names and writes latest.json, so the files can be checked without a release; `publish` stages and uploads. The updater tells an NSIS installer by its bytes, not its name (tauri-plugin-updater 2.13, extract_exe), so the new name is safe. CI now also builds the setup page, so it cannot break only at release time.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The second milestone of the setup window (spec 15.7, I2). A release now carries two installers:
Botloft_<version>_x64-setup.exepnpm bundle:setupBotloft_<version>_x64-update.exeand.sigpnpm bundle(NSIS)latest.json-update.exerelease.mjsrelease.ymlbuilds the setup window right after the signed installer.release.mjsgains astagestep. It copies both installers under their final names intotarget\release\bundle\release\and writeslatest.json, so the files can be checked without creating a release.publishstages, then uploads what is there.vite build --mode setup, so the setup page cannot break only at release time.CLAUDE.mddescribe the new release. The README change lives in docs(readme): a README that shows Botloft #47, to merge with 0.6.0.Why the new name is safe for updates
tauri-plugin-updater2.13 decides how to install from the downloaded bytes, not the file name (extract_exe: any.exeis treated as NSIS), and runs it with the same/P /UPDATE /R. Installed apps, 0.5.0 included, keep updating fromlatest.json.Tests
release.mjs stagelocally, with a stand-in.sigsince the signing key lives in CI:-setup.exe(the setup window, 15.4 MB),-update.exe(byte-identical to the NSIS build), its.sigandlatest.json;latest.jsonpoints to.../releases/download/v0.5.0/Botloft_0.5.0_x64-update.exe.vite build --mode setupand Biome pass.Still to try by hand
latest.jsonpointing to-update.exe.-update.exe.