ci: fix build failure on doc only changes (#22075)

* ci: fix build failure on doc only changes

* ci: fix doc-only check when CI fires on branch before PR is created
This commit is contained in:
John Kleinschmidt 2020-02-07 12:58:47 -05:00 committed by GitHub
parent e2a5de9248
commit 45591e31ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 7 deletions

View file

@ -848,7 +848,7 @@ step-check-for-doc-only-change: &step-check-for-doc-only-change
command: | command: |
cd src/electron cd src/electron
node script/yarn install --frozen-lockfile node script/yarn install --frozen-lockfile
if node script/doc-only-change.js --prNumber=$CIRCLE_PR_NUMBER --prURL=$CIRCLE_PULL_REQUEST; then if node script/doc-only-change.js --prNumber=$CIRCLE_PR_NUMBER --prURL=$CIRCLE_PULL_REQUEST --prBranch=$CIRCLE_BRANCH; then
#PR is doc only change; save file with value true to indicate doc only change #PR is doc only change; save file with value true to indicate doc only change
echo "true" > .skip-ci-build echo "true" > .skip-ci-build
else else
@ -884,7 +884,7 @@ step-ts-compile: &step-ts-compile
command: | command: |
cd src cd src
ninja -C out/Default electron:default_app_js -j $NUMBER_OF_NINJA_PROCESSES ninja -C out/Default electron:default_app_js -j $NUMBER_OF_NINJA_PROCESSES
ninja -C out/Default electron:atom_js2c -j $NUMBER_OF_NINJA_PROCESSES ninja -C out/Default electron:electron_js2c -j $NUMBER_OF_NINJA_PROCESSES
# Lists of steps. # Lists of steps.
steps-lint: &steps-lint steps-lint: &steps-lint

View file

@ -9,7 +9,11 @@ async function checkIfDocOnlyChange () {
try { try {
let pullRequestNumber = args.prNumber let pullRequestNumber = args.prNumber
if (!pullRequestNumber || isNaN(pullRequestNumber)) { if (!pullRequestNumber || isNaN(pullRequestNumber)) {
if (args.prBranch) { if (args.prURL) {
// CircleCI doesn't provide the PR number for branch builds, but it does provide the PR URL
const pullRequestParts = args.prURL.split('/')
pullRequestNumber = pullRequestParts[pullRequestParts.length - 1]
} else if (args.prBranch) {
// AppVeyor doesn't provide a PR number for branch builds - figure it out from the branch // AppVeyor doesn't provide a PR number for branch builds - figure it out from the branch
const prsForBranch = await octokit.pulls.list({ const prsForBranch = await octokit.pulls.list({
owner: 'electron', owner: 'electron',
@ -23,10 +27,6 @@ async function checkIfDocOnlyChange () {
// If there are 0 PRs or more than one PR on a branch, just assume that this is more than a doc change // If there are 0 PRs or more than one PR on a branch, just assume that this is more than a doc change
process.exit(1) process.exit(1)
} }
} else if (args.prURL) {
// CircleCI doesn't provide the PR number for branch builds, but it does provide the PR URL
const pullRequestParts = args.prURL.split('/')
pullRequestNumber = pullRequestParts[pullRequestParts.length - 1]
} }
} }
const filesChanged = await octokit.pulls.listFiles({ const filesChanged = await octokit.pulls.listFiles({