Skip to content

Commit

Permalink
ci(danger): add danger.js
Browse files Browse the repository at this point in the history
  • Loading branch information
sgtcoolguy committed Feb 10, 2020
1 parent c708120 commit 2d17cc8
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions dangerfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/* global danger, fail, message */

// requires
const junit = require('@seadub/danger-plugin-junit').default;
const dependencies = require('@seadub/danger-plugin-dependencies').default;
const moduleLint = require('@seadub/danger-plugin-titanium-module').default;
const fs = require('fs');
const path = require('path');
const ENV = process.env;

// Add links to artifacts we've stuffed into the ENV.ARTIFACTS variable
async function linkToArtifacts() {
if (ENV.ARTIFACTS && (ENV.BUILD_STATUS === 'SUCCESS' || ENV.BUILD_STATUS === 'UNSTABLE')) {
const artifacts = ENV.ARTIFACTS.split(';');
if (artifacts.length !== 0) {
const artifactsListing = '- ' + artifacts.map(a => danger.utils.href(`${ENV.BUILD_URL}artifact/${a}`, a)).join('\n- ');
message(`:floppy_disk: Here are the artifacts produced:\n${artifactsListing}`);
}
}
}

async function checkLintLog() {
const lintLog = path.join(__dirname, 'lint.log');
if (!fs.existsSync(lintLog)) {
return;
}
const contents = fs.readFileSync(lintLog, 'utf8');
fail('`npm run lint` failed, please check messages below for output.');
message(`:bomb: Here's the output of \`npm run lint\`:\n\`\`\`${contents}\`\`\``);
}

async function main() {
// do a bunch of things in parallel
// Specifically, anything that collects what labels to add or remove has to be done first before...
await Promise.all([
junit({ pathToReport: './TESTS-*.xml' }),
dependencies({ type: 'npm' }),
linkToArtifacts(),
checkLintLog(),
moduleLint(),
]);
}
main()
.then(() => process.exit(0))
.catch(err => {
fail(err.toString());
process.exit(1);
});

0 comments on commit 2d17cc8

Please sign in to comment.