| name | github-release |
| description | Guide for publishing Waddle GitHub releases. Use when creating release tags, editing release workflows, changing electron-updater behavior, or verifying auto-update artifacts. |
Publishing GitHub Releases
Waddle auto-updates through electron-updater. A GitHub Release is not valid for auto-update unless it includes the updater metadata and blockmap files generated by electron-builder.
Required Files
Every GitHub Release that should update installed Waddle apps must include:
make/*.yml
make/*.blockmap
- the platform installers produced for the release, such as
.dmg, .zip, .exe, .msi, .AppImage, .deb, .rpm, and .snap
Do not publish a release if the .yml or .blockmap files are missing. Installed apps may download metadata from https://github.com/<owner>/<repo>/releases/latest/download; without those files, users will not reliably see the Update button.
Configuration Rules
- Keep
generateUpdatesFilesForAllChannels: true in electron-builder.config.cjs.
- Keep the GitHub updater URL ending in
latest/download when GITHUB_REPOSITORY or WADDLE_UPDATE_GITHUB_REPOSITORY is used.
- Keep
.github/workflows/build-helper.yml release uploads for both make/*.yml and make/*.blockmap.
- Preserve the product behavior where updates download in the background and the UI shows
Update only when the updater status is ready.
Verification
Before tagging or pushing a release workflow change, run:
npx vitest run github-release-workflow.test.ts frontend/app/tab/updatebanner.test.ts
npx tsc --noEmit --pretty false
After the GitHub Actions build finishes, inspect the GitHub Release assets and confirm .yml and .blockmap files are attached before announcing the release.