[autoUpdate] Switch from CircleCI to GitHub Releases

This commit is contained in:
child_duckling 2022-03-20 21:11:12 -07:00
parent 81bb416498
commit 0e1561127a
5 changed files with 61 additions and 38 deletions

View file

@ -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
@ -73,11 +73,7 @@ jobs:
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
- 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

View file

@ -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",

View file

@ -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}`);
});

54
resources/circle.js Normal file
View file

@ -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()
});

View file

@ -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)