@interaktiv/dia-scripts
Version:
CLI toolbox with common scripts for most sort of projects at DIA
44 lines (37 loc) • 1.3 kB
JavaScript
;
const spawn = require('cross-spawn');
const {
getConcurrentlyArgs,
getGitOriginUrl,
hasFile,
isOptedIn,
parseEnv,
resolveBin,
resolveSelf
} = require('../utils');
(function () {
const autorelease = parseEnv('CI', false) && process.env.BITBUCKET_BRANCH === 'master' && parseEnv('BITBUCKET_PR_ID', null) == null;
const reportCoverage = hasFile('coverage') && (parseEnv('SKIP_CODECOV', true) === false || isOptedIn('reportcoverage'));
if (autorelease === false && reportCoverage === false) {
console.log('No need to autorelease or report coverage. Skipping pipelines-after-success script...');
process.exit(0);
return;
}
const diaScripts = resolveSelf();
let repoOrigin = parseEnv('REPO_ORIGIN', null);
if (repoOrigin == null) {
repoOrigin = getGitOriginUrl({
cwd: process.cwd(),
env: process.env
});
}
const result = spawn.sync(resolveBin('concurrently'), getConcurrentlyArgs({
codecov: reportCoverage ? `echo installing codecov ☂️ && npx --package codecov@3 --call 'echo running codecov ☂️ && codecov'` : null,
release: autorelease ? `${diaScripts} release --repository-url ${repoOrigin}` : null
}, {
killOthers: false
}), {
stdio: 'inherit'
});
process.exit(result.status);
})();