Finalize
This commit is contained in:
parent
8635162259
commit
8eac3d701f
2 changed files with 47 additions and 16 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ente",
|
||||
"version": "1.6.64-beta.0",
|
||||
"version": "1.7.0-beta.0",
|
||||
"private": true,
|
||||
"description": "Desktop client for Ente Photos",
|
||||
"repository": "github:ente-io/photos-desktop",
|
||||
|
|
|
@ -16,16 +16,19 @@ export const setupAutoUpdater = (mainWindow: BrowserWindow) => {
|
|||
* [Note: Testing auto updates]
|
||||
*
|
||||
* By default, we skip checking for updates automatically in dev builds.
|
||||
* This is because even if we were to find an update, installing it would
|
||||
* fail because (at least on macOS), the auto update process requires signed
|
||||
* builds.
|
||||
* This is because even if installing updates would fail (at least on macOS)
|
||||
* because auto updates only work for signed builds.
|
||||
*
|
||||
* So an end to end testing for updates requires using a temporary GitHub
|
||||
* repository and signed builds therein.
|
||||
* repository and signed builds therein. More on this later.
|
||||
*
|
||||
* Howvere for partial checks of the UI flow, something like tis can be used
|
||||
* to do a test of the update process (up until the actual installation
|
||||
* itself).
|
||||
* ---------------
|
||||
*
|
||||
* [Note: Testing auto updates - Sanity checks]
|
||||
*
|
||||
* However, for partial checks of the UI flow, something like the following
|
||||
* can be used to do a test of the update process (up until the actual
|
||||
* installation itself).
|
||||
*
|
||||
* Create a `app/dev-app-update.yml` with:
|
||||
*
|
||||
|
@ -39,25 +42,53 @@ export const setupAutoUpdater = (mainWindow: BrowserWindow) => {
|
|||
* In this directory, put `latest-mac.yml` and the DMG file that this YAML
|
||||
* file refers to.
|
||||
*
|
||||
* Alternatively, `dev-app-update.yml` can contain some arbitrary GitHub
|
||||
* repository, e.g.:
|
||||
* Alternatively, `dev-app-update.yml` can point to some arbitrary GitHub
|
||||
* repository too, e.g.:
|
||||
*
|
||||
* provider: github
|
||||
* owner: foo
|
||||
* repo: bar
|
||||
* owner: ente-io
|
||||
* repo: test-desktop-updates
|
||||
*
|
||||
* Finally, we can start the app to trigger the auto update. If we're in dev
|
||||
* mode, we can use the "Check for updates..." menu option to trigger the
|
||||
* Now we can use the "Check for updates..." menu option to trigger the
|
||||
* update flow.
|
||||
*/
|
||||
autoUpdater.forceDevUpdateConfig = isDev;
|
||||
if (isDev) return;
|
||||
|
||||
/**
|
||||
* [Note: Testing auto updates - End to end checks]
|
||||
*
|
||||
* Since end-to-end update testing can only be done with signed builds, the
|
||||
* easiest way is to create temporary builds in a test repository.
|
||||
*
|
||||
* Let us say we have v2.0.0 about to go out. We have builds artifacts for
|
||||
* v2.0.0 also in some draft release in our normal release repository.
|
||||
*
|
||||
* Create a new test repository, say `ente-io/test-desktop-updates`. In this
|
||||
* repository, create a release v2.0.0, attaching the actual build
|
||||
* artifacts. Make this release the latest.
|
||||
*
|
||||
* Now we need to create a old signed build.
|
||||
*
|
||||
* First, modify `package.json` to put in a version number older than the
|
||||
* new version number that we want to test updating to, e.g. `v1.0.0-test`.
|
||||
*
|
||||
* Then uncomment the following block of code. This tells the auto updater
|
||||
* to use `ente-io/test-desktop-updates` to get updates.
|
||||
*
|
||||
* With these two changes (older version and setFeedURL), create a new
|
||||
* release signed build on CI. Install this build - it will check for
|
||||
* updates in the temporary feed URL that we set, and we'll be able to check
|
||||
* the full update flow.
|
||||
*/
|
||||
|
||||
/*
|
||||
autoUpdater.setFeedURL({
|
||||
provider: "github",
|
||||
owner: "mnvr",
|
||||
repo: "test-updates",
|
||||
owner: "ente-io",
|
||||
repo: "test-desktop-updates",
|
||||
});
|
||||
*/
|
||||
|
||||
const oneDay = 1 * 24 * 60 * 60 * 1000;
|
||||
setInterval(() => void checkForUpdatesAndNotify(mainWindow), oneDay);
|
||||
|
|
Loading…
Reference in a new issue