diff --git a/lib/pr_checker.js b/lib/pr_checker.js index e48170ac..d722b607 100644 --- a/lib/pr_checker.js +++ b/lib/pr_checker.js @@ -128,20 +128,26 @@ export default class PRChecker { } } - checkReviewsAndWait(now, checkComments) { + checkReviewsAndWait(now, checkComments, isReleaseProposal) { const { pr, cli, reviewers } = this; const { requestedChanges, approved } = reviewers; + + const dateStr = new Date(pr.createdAt).toUTCString(); + cli.info(`This PR was created on ${dateStr}`); + this.displayReviews(checkComments); + + if (isReleaseProposal) { + cli.info('This PR is a release proposal'); + return approved.length !== 0; + } + const labels = pr.labels.nodes.map((l) => l.name); let isFastTracked = labels.includes('fast-track'); const isCodeAndLearn = labels.includes('code-and-learn'); const isSemverMajor = labels.includes('semver-major'); - - const dateStr = new Date(pr.createdAt).toUTCString(); - cli.info(`This PR was created on ${dateStr}`); - this.displayReviews(checkComments); // NOTE: a semver-major PR with fast-track should have either one of // these labels removed because that doesn't make sense if (isFastTracked) { diff --git a/lib/promote_release.js b/lib/promote_release.js index bdddacbb..090cc521 100644 --- a/lib/promote_release.js +++ b/lib/promote_release.js @@ -248,7 +248,7 @@ export default class ReleasePromotion extends Session { const checker = new PRChecker(cli, data, { prid, owner, repo }, { maxCommits: 0 }); const jenkinsReady = checker.checkJenkinsCI(); const githubCIReady = checker.checkGitHubCI(); - const isApproved = checker.checkReviewsAndWait(new Date(), false); + const isApproved = checker.checkReviewsAndWait(new Date(), false, true); return { githubCIReady,