Publish releases from this fork (point auto-update at JeanBaptisteRenard/switchboard) - #39
Merged
JeanBaptisteRenard merged 1 commit intoJun 8, 2026
Conversation
…here The build.yml release pipeline already builds mac/win/linux and creates a GitHub Release on any `v*` tag — but `build.publish` still points at doctly/switchboard. electron-builder bakes that target into the auto-update metadata (latest*.yml / app-update.yml), so a build published from this fork would check doctly for updates instead of this repo. Point `publish.owner` at JeanBaptisteRenard so the generated update metadata matches where the releases actually land. The release job itself already uploads to this repo via `gh release create`, so no workflow change is needed — pushing a `v*` tag now produces a (draft) release with working auto-update. Note: mac/win artifacts will be unsigned unless CSC_LINK / APPLE_* secrets are set on the repo (same as before); Linux AppImage/deb need no signing.
JeanBaptisteRenard
approved these changes
Jun 8, 2026
JeanBaptisteRenard
left a comment
Collaborator
There was a problem hiding this comment.
Reviewed end-to-end (config + the full release pipeline + the auto-update runtime). The one-liner is correct: build.publish.owner governs both the --publish target and the app-update.yml/latest*.yml feed URL baked into the packaged app — pointing it at this repo, which is where build.yml's publish job actually uploads, is exactly right. electron-updater is already fully wired in main.js (checks at T+5s then every 4h), and the latest*.yml metadata files are generated and uploaded. No regression surface for the existing AppImage.
Merging. Two things to flag for when you actually cut the first release (neither blocks this merge):
- Draft releases are invisible to electron-updater — after a
v*tag, the workflow creates a--draftrelease; you must click "Publish" in the GitHub UI to activate the update feed. (Good thing — it's a review gate before users see the update.) notarize: true+ no Apple secrets = the mac build job errors out (not a graceful unsigned fallback), which would block the whole pipeline. I'll send a tiny follow-up flippingnotarizetofalseso the first release can ship unsigned-but-green; you can wire theAPPLE_*secrets later if you want signed mac builds.
Nice catch on the auto-update channel pointing at the wrong repo — thanks! 🙏
This was referenced Jun 8, 2026
Merged
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
One-line change:
build.publish.ownerdoctly→JeanBaptisteRenardinpackage.json.Why
build.ymlis already a full release pipeline — on av*tag it builds mac/win/linux(x64+arm64) and thepublishjob runsgh release create(a draft Release with all binaries attached) in this repo. It's just never been triggered, so there are no releases yet.The gap:
build.publishstill points atdoctly/switchboard. electron-builder bakes that into the auto-update metadata (latest*.yml/app-update.yml), so an app published from this fork would check doctly for updates — wrong. This points the update channel at the repo that actually hosts the releases.After merge
Push a
v*tag (e.g. bumpversionand tagv0.0.31) → the workflow cuts a draft release with installable binaries + correct auto-update. The release-upload itself already targets this repo (gh release createuses the running repo's token), so nothing else is needed.Caveats
CSC_LINK/CSC_KEY_PASSWORD/APPLE_*secrets are set (users get the usual 'unidentified developer' prompt). Linux AppImage/deb need no signing and are clean.publishcorrectly stays doctly); appropriate since this fork is self-maintained and well ahead of upstream.