First party self-update system
No due date
100% complete
There are some glaring issues with the current self-update setup:
- On macOS,
go-github-selfupdate
updates just the binary inside the Contents/MacOS folder, which prevents the app from running due to (probably) code-sign mismatch. Replacing the entire .app file could resolve this issue. - There is a hard dependency on GitHub. GitHub releases lack internation…
There are some glaring issues with the current self-update setup:
- On macOS,
go-github-selfupdate
updates just the binary inside the Contents/MacOS folder, which prevents the app from running due to (probably) code-sign mismatch. Replacing the entire .app file could resolve this issue. - There is a hard dependency on GitHub. GitHub releases lack internationalization and generally offer less versatility in terms of how updates can be distributed.
Considering all of the above, the solution might look like this:
- A script that builds the application and creates a manifest file based on Git tags. The manifest can then be uploaded to an S3 bucket alongside build artifacts.
- A custom self-update module that replaces
go-github-selfupdate
.