Skip to content

Commit

Permalink
Add release to sentry also
Browse files Browse the repository at this point in the history
  • Loading branch information
muffinista committed Feb 8, 2019
1 parent d4e2977 commit 746f12b
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 63 deletions.
24 changes: 0 additions & 24 deletions bin/create-sentry-release.sh

This file was deleted.

94 changes: 56 additions & 38 deletions bin/generate-release.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
#!/usr/bin/env node

/* eslint-disable no-console */
require("dotenv").config();

const SentryCli = require("@sentry/cli");
const Octokit = require("@octokit/rest");
const path = require("path");
const { exec } = require("child_process");

var pjson = require(path.join(__dirname, "..", "package.json"));
const pjson = require(path.join(__dirname, "..", "package.json"));

let opts = {
auth: process.env.GITHUB_AUTH_TOKEN
auth: `token ${process.env.GITHUB_AUTH_TOKEN}`
};

const octokit = new Octokit(opts);
Expand All @@ -16,39 +18,55 @@ let owner = "muffinista";
let repo = "before-dawn";
let tag_name = `v${pjson.version}`;
let draft = true;
let releaseName = `${pjson.productName} ${pjson.version}`;

let release = {
owner,
repo,
tag_name,
draft
};
const sentryCli = new SentryCli("./sentry.properties");

async function main() {
let release = {
owner: owner,
repo: repo,
tag_name: tag_name,
target_commitish: "master",
name: tag_name,
body: "description",
draft: draft
};

console.log(`checking ${owner}/${repo} for ${tag_name}`);

let result = await octokit.repos.getLatestRelease({owner, repo});
if ( result.data.tag_name === tag_name ) {
console.log("release already created!");
return;
}

console.log(release);
result = await octokit.repos.createRelease(release);

console.log(result);

// Create a release

console.log("Create new release on sentry");
await sentryCli.execute(["releases", "new", releaseName], true);

console.log("Add commits to release");
await sentryCli.execute(["releases", "set-commits", "--auto", releaseName], true);

console.log("Upload sourcemaps")
await sentryCli.execute(["releases", "files", releaseName, "upload-sourcemaps", "output"], true);

console.log("Finalize release");
await sentryCli.execute(["releases", "finalize", releaseName], true);

console.log("Set new deploy");
await sentryCli.execute(["releases", "deploys", releaseName, "new", "--env", "production"], true);

//# upload symbols
//bin/sentry-symbols.js
}

main().catch(e => console.error(e));

// eslint-disable-next-line no-console
console.log(`checking ${owner}/${repo} for ${tag_name}`);

octokit.repos.getLatestRelease({owner, repo}).
then((result) => {
if ( result.data.tag_name != tag_name ) {
octokit.repos.createRelease(release).then((result) => {
// eslint-disable-next-line no-console
console.log(result);

exec("bin/create-sentry-release.sh", (err, stdout, stderr) => {
if (err) {
// node couldn't execute the command
return;
}

// eslint-disable-next-line no-console
console.log(`stdout: ${stdout}`);
// eslint-disable-next-line no-console
console.log(`stderr: ${stderr}`);
});
});
}
else {
// eslint-disable-next-line no-console
console.log("release already created!");
}
});
/* eslint-enable no-console */
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"test": "yarn compile && xvfb-maybe mocha test test/**",
"test-lib": "nyc --reporter=html mocha test test/lib/** test/main/**",
"run-local": "yarn compile && electron output/main.js",
"release": "yarn dist"
"release": "yarn dist",
"publish-release": "yarn bin/generate-release.js && yarn bin/sentry-symbols.js"
},
"repository": {
"type": "git",
Expand Down Expand Up @@ -66,6 +67,7 @@
"copy-webpack-plugin": "^4.6.0",
"css-loader": "^2.1.0",
"devtron": "^1.4.0",
"dotenv": "^6.2.0",
"electron": "~> 4.0.3",
"electron-builder": "20.38.5",
"electron-debug": "^2.1.0",
Expand Down

0 comments on commit 746f12b

Please sign in to comment.