I am trying to use electron-updater for a Mac app release. I've built on top of basic-electron-react-boilerplate and added in electron-builder and electron-updater.
My workflow looks like this:
npm run build which is short for webpack --config webpack.build.config.jsnpm run publish which is short for build -p always, which spits out my dmg, zip, latest-mac files, etc and publishes them to a GitHub Release.dmg (an initial release v0.0.1, so no updates available yet)v0.0.2 is uploaded as GitHub Release, reopen v0.0.1 and expect it to update to v0.0.2, which it does not.my main.js:

and my error message:

Any advice would be greatly appreciated! Let me know if you'd like any additional details, like my package.json or otherwise.
Where did you publish your app to? Is the latest-mac.json file publicly accessible?
@tylerlong Thanks for your reply! The npm run publish command publishes latest-mac.json to my GitHub Release, along with many other files, as shown below:

I should also add that this is a private repository, but I do have my GH_TOKEN set as an env variable. Do I need to add any additional permissions for the updater to look into a private repo?
macOS apps has own set of env. terminal env are not available for apps. Please use https://github.com/sindresorhus/shell-env
And I hope that you understand what do you do using private repo for updates. Separate user must be used and private option is set in the GitHub publish options.
Thanks @develar
What do you mean by "I hope you understand what do you do using private repo for updates"? What else do I need to do for private repos besides setting the GH_TOKEN env variable?
Will this address the error I shared above?
What do you mean
API Token allows to do everything. So, you must create special user and limit user access.
Will this address the error I shared above?
shell-env will.
@naheller Have your read https://www.electron.build/auto-update#private-github-update-repo?
(yes, I am going to add note about shell-env to docs).
@develar By "special user", do you mean GitHub user? Many people who will use my app don't have GitHub accounts. This is my first time using auto-update, so I'm not sure about special user access.
I am looking at the page you linked. Is the private option set as follows?

Thanks for your help!
@naheller It seems you don't understand that auto-updater requires token on a user machine to work.
Only for very special cases — not intended and not suitable for all users.
See https://www.electron.build/auto-update#private-github-update-repo
So, just use Digital Ocean Spaces or Amazon S3.
@develar Ah... I see. GitHub Releases would have been perfect, but I will try those other solutions. electron-release-server might be a good option in the meantime for testing.
Thanks for your help
https://github.com/ArekSredzki/electron-release-server is not definitely an option because it requires non static server. Electron updater supports any http server, nothing else is required.
Well, you can just create an empty public repo and use it to release artifacts;)
I could do that with an empty repo? Don't releases need to be tied to a certain branch?

@naheller It will looks a little bit crazy, but works. https://github.com/electron-userland/electron-builder-binaries/releases is an example of such repo.