diff --git a/src/shared/hosted-review-github.test.ts b/src/shared/hosted-review-github.test.ts index 744424025..d01c9307b 100644 --- a/src/shared/hosted-review-github.test.ts +++ b/src/shared/hosted-review-github.test.ts @@ -80,6 +80,17 @@ describe('hostedReviewSummaryFromGitHubPRInfo', () => { expect(summary.checksStatus).toBe('failure') }) + it('treats cancelled checks as failed in hosted review summaries', () => { + const summary = hostedReviewSummaryFromGitHubPRInfo({ + pr: { ...pr, checksStatus: 'success' }, + owner: 'acme', + repo: 'orca', + checks: [{ name: 'ci', status: 'completed', conclusion: 'cancelled', url: null }] + }) + + expect(summary.checksStatus).toBe('failure') + }) + it('distinguishes loaded empty comments from unknown comments', () => { expect( hostedReviewSummaryFromGitHubPRInfo({ diff --git a/src/shared/hosted-review-github.ts b/src/shared/hosted-review-github.ts index 4ed77b715..b9f3f8c2f 100644 --- a/src/shared/hosted-review-github.ts +++ b/src/shared/hosted-review-github.ts @@ -36,7 +36,10 @@ function deriveChecksStatus( return prChecksStatus } const hasFailure = checks.some( - (check) => check.conclusion === 'failure' || check.conclusion === 'timed_out' + (check) => + check.conclusion === 'failure' || + check.conclusion === 'timed_out' || + check.conclusion === 'cancelled' ) if (hasFailure) { return 'failure'