summaryrefslogtreecommitdiff
path: root/scripts/environment.js
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/environment.js')
-rwxr-xr-xscripts/environment.js5
1 files changed, 2 insertions, 3 deletions
diff --git a/scripts/environment.js b/scripts/environment.js
index 0468be3720..cb533a74a8 100755
--- a/scripts/environment.js
+++ b/scripts/environment.js
@@ -7,6 +7,7 @@ const github = require('@octokit/rest')();
const {execSync} = require('child_process');
const pr = process.env['CIRCLE_PULL_REQUEST'];
+const head = process.env['CIRCLE_SHA1'] || 'HEAD';
if (pr) {
const number = +pr.match(/\/(\d+)\/?$/)[1];
return github.pullRequests.get({
@@ -15,17 +16,15 @@ if (pr) {
number
}).then(({data}) => {
const base = data.base.ref;
- const head = process.env['CIRCLE_SHA1'];
const mergeBase = execSync(`git merge-base origin/${base} ${head}`).toString().trim();
console.log(`export CIRCLE_TARGET_BRANCH=${base}`);
console.log(`export CIRCLE_MERGE_BASE=${mergeBase}`);
});
} else {
- const head = process.env['CIRCLE_SHA1'];
for (const sha of execSync(`git rev-list --max-count=10 ${head}`).toString().trim().split('\n')) {
const base = execSync(`git branch -r --contains ${sha} origin/master origin/release-*`).toString().split('\n')[0].trim().replace(/^origin\//, '');
- if (base) {
+ if (base.match(/^(master|release-[a-z]+)$/)) {
const mergeBase = execSync(`git merge-base origin/${base} ${head}`).toString().trim();
console.log(`export CIRCLE_TARGET_BRANCH=${base}`);
console.log(`export CIRCLE_MERGE_BASE=${mergeBase}`);