Skip to content

ci(updates): the updater replaces Windows, AppImage and install.sh installs with the latest release - #38

Merged
devlato merged 6 commits into
mainfrom
test/updater-on-runners
Oct 20, 2026
Merged

devlato merged 6 commits into
mainfrom
test/updater-on-runners

Conversation

@devlato

@devlato devlato commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Tests the updater where it hadn't run yet: on real Windows and Linux machines, GitHub's runners.

The new workflow updates.yml installs this branch's claudius the ways people do, then runs claudius update --yes with CLAUDIUS_UPDATE_SINCE=0.1.0, so that this build acts older than the latest release. It then checks that the files in place are the release's own:

  • install.sh's folder (Linux): ~/.local/bin and ~/.local/share/claudius/web, as install.sh lays them out. Afterwards claudius and claudius-packs are byte for byte the release archive's, and the web studio matches it.
  • The AppImage (Linux): run unmounted, since the runner has no FUSE; the AppImage still names itself in $APPIMAGE. Afterwards the file's SHA-256 is the one in the release's SHA256SUMS.
  • The Windows installer: this build's installer, labelled 0.1.99 so that the release's installer is a real upgrade, as it is for people (the archive's folder is renamed too, since windows.ps1 reads from it).
    • After update, the release's installer runs once claudius has exited. The job waits until claudius.exe is byte for byte the release's, then runs it.
    • Windows doesn't list a per-user install under the Uninstall key the first version of this check read, so the check uses the program file instead.

One change to the updater: on Windows it now keeps the installer's log next to the download (<msi>.log, through msiexec /l*v). The job prints it if the update doesn't take, and it's there for people whose update doesn't take.

It runs on pull requests that change the updater, the packaging or the Windows installer, and by hand. The Mac app's update was already checked end to end in #31.

How I checked it

This pull request ran the workflow itself:

  • install.sh's folder and the AppImage: pass.
  • The Windows installer: pass. claudius 0.1.0: looking for a newer release, then updated to claudius 0.2.0; the installed claudius.exe then matched the release's and printed claudius 0.2.0.

actionlint as well.

@devlato
devlato enabled auto-merge (squash) October 19, 2026 16:45
@devlato
devlato merged commit 837ff63 into main Oct 20, 2026
26 checks passed
@devlato
devlato deleted the test/updater-on-runners branch October 20, 2026 01:45
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