From 0e1561127aff55b11ed9e0952e9edfca48b4759d Mon Sep 17 00:00:00 2001 From: child_duckling <19170969+quacksire@users.noreply.github.com> Date: Sun, 20 Mar 2022 21:11:12 -0700 Subject: [PATCH] [autoUpdate] Switch from CircleCI to GitHub Releases --- .circleci/config.yml | 12 +++---- package.json | 2 +- resources/appendCommitToVersion.js | 26 -------------- resources/circle.js | 54 ++++++++++++++++++++++++++++++ src/main/base/utils.ts | 5 ++- 5 files changed, 61 insertions(+), 38 deletions(-) delete mode 100644 resources/appendCommitToVersion.js create mode 100644 resources/circle.js diff --git a/.circleci/config.yml b/.circleci/config.yml index 065296a9..2f3ae690 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -41,8 +41,8 @@ jobs: sudo apt-get install -y wine32 sudo apt install -y gh - run: - name: Append Commit BuildID to Version - command: yarn circle:append-bid + name: Fix Versioning and Add Channel + command: yarn circle:script - run: name: TypeScript Compile command: yarn build @@ -72,12 +72,8 @@ jobs: mv ~/Cider/dist/*.yml ~/Cider/dist/artifacts mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts - store_artifacts: - path: ~/Cider/dist/artifacts - - run: - name : Delete Old Release Tag - command: | - gh release delete "${CIRCLE_BRANCH}-build" -y || true + path: ~/Cider/dist/artifacts - run: name: Publish Release command: | - gh release create "${CIRCLE_BRANCH}-build" --prerelease --target ${CIRCLE_SHA1} --title "Cider Nightly Version ${APP_VERSION} - Build ${CIRCLE_BUILD_NUM} (${CIRCLE_BRANCH})" --generate-notes -R ciderapp/Cider ~/Cider/dist/artifacts/*.deb ~/Cider/dist/artifacts/*.AppImage ~/Cider/dist/artifacts/*.snap ~/Cider/dist/artifacts/*.exe ~/Cider/dist/artifacts/*.yml ~/Cider/dist/artifacts/*.blockmap + gh release create "v${APP_VERSION}" --target ${CIRCLE_SHA1} --title "Cider Version ${APP_VERSION} - Build ${CIRCLE_BUILD_NUM} (${CIRCLE_BRANCH})" --generate-notes -R ciderapp/cider-releases ~/Cider/dist/artifacts/*.deb ~/Cider/dist/artifacts/*.AppImage ~/Cider/dist/artifacts/*.snap ~/Cider/dist/artifacts/*.exe ~/Cider/dist/artifacts/*.yml ~/Cider/dist/artifacts/*.blockmap diff --git a/package.json b/package.json index e0be212c..bcf9a1b4 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "winget": "yarn build && electron-builder --win -c winget.json", "msft": "yarn build && electron-builder -c msft-package.json", "postinstall": "electron-builder install-app-deps", - "circle:append-bid": "node resources/appendCommitToVersion" + "circle:script": "node resources/circle" }, "dependencies": { "@sentry/electron": "^3.0.2", diff --git a/resources/appendCommitToVersion.js b/resources/appendCommitToVersion.js deleted file mode 100644 index 520ae401..00000000 --- a/resources/appendCommitToVersion.js +++ /dev/null @@ -1,26 +0,0 @@ -if (!process.env['CIRCLECI']) { - console.log(`[CIRCLECI SCRIPT] CircleCI not found... Aborting script`) - return -} - -let fs = require('fs') -const { exec } = require("child_process"); - -var data = fs.readFileSync('package.json'); -var package = JSON.parse(data); - -pvers = package.version.match(/\d+\./g) - -// https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables -package.version = `${pvers[0]}${pvers[1]}${process.env['CIRCLE_BUILD_NUM']}` - -exec('echo $APP_VERSION', {env: {'APP_VERSION': package.version}}, function (error, stdout, stderr) -{ - console.log(stdout, stderr, error); -}); - -fs.writeFile('package.json', JSON.stringify(package), err => { - // error checking - if(err) throw err; - console.log(`VERSION CHANGED TO ${package.version}`); -}); diff --git a/resources/circle.js b/resources/circle.js new file mode 100644 index 00000000..258e0077 --- /dev/null +++ b/resources/circle.js @@ -0,0 +1,54 @@ + + +if (!process.env['CIRCLECI']) { + console.log(`[CIRCLECI SCRIPT] CircleCI not found... Aborting script`) + return +} + +let fs = require('fs') + + +var data = fs.readFileSync('package.json'); +var package = JSON.parse(data); + +pvers = package.version.match(/\d+\./g) + + +let channel; +if (process.env['CIRCLE_BRANCH'] === 'lts') { + channel = 'latest' +} else if (process.env['CIRCLE_BRANCH'] === 'main') { + channel = 'beta' +} else if (process.env['CIRCLE_BRANCH'] === 'develop') { + channel = 'alpha' +} else { + channel = process.env['CIRCLE_BRANCH'] // It won't have auto update support +} + + + +// https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables +package.version = `${pvers[0]}${pvers[1]}${pvers[2]}-${channel}.${process.env['CIRCLE_BUILD_NUM']}` +package.build.channel = channel +package.publish = { + "provider": "github", + "repo": "cider-releases", + "owner": "ciderapp", + "vPrefixedTagName": true, + "tag": `v${package.version}`, + "channel": channel, + "releaseType": "release" +} + + +exec('echo $APP_VERSION', {env: {'APP_VERSION': package.version}}, function (error, stdout, stderr) +{ + console.log(stdout, stderr, error); +}); +fs.writeFile('package.json', JSON.stringify(package), err => { + // error checking + if(err) throw err; + console.log(`VERSION CHANGED TO ${package.version}`); + process.exit() +}); + diff --git a/src/main/base/utils.ts b/src/main/base/utils.ts index 294baf13..337e6f79 100644 --- a/src/main/base/utils.ts +++ b/src/main/base/utils.ts @@ -134,14 +134,13 @@ export class utils { bw.win.webContents.send('update-response', "update-error") return; } - const options: any = { provider: 'github', protocol: 'https', - releaseType: utils.getStoreValue('general.update_branch') === "develop" ? "prerelease" : "release", + owner: 'ciderapp', + repo: 'cider-releases', allowDowngrade: true, } - let autoUpdater: any = null if (process.platform === 'win32') { //Windows autoUpdater = await new NsisUpdater(options)