1
0
Fork 0
mirror of https://github.com/dorny/test-reporter.git synced 2026-03-21 23:52:12 +01:00

Refactor getCheckRunContext to improve SHA resolution from workflow_run events

This commit is contained in:
Alexandre Zollinger Chohfi 2025-11-07 11:45:11 -08:00 committed by Jozef Izso
parent d0430d00c8
commit 386854a5d3
Failed to extract signature

View file

@ -6,6 +6,8 @@ import * as github from '@actions/github'
import {GitHub} from '@actions/github/lib/utils'
import type {PullRequest, WorkflowRunEvent} from '@octokit/webhooks-types'
type WorkflowRunPR = WorkflowRunEvent['workflow_run']['pull_requests'][number]
export function getCheckRunContext(): {sha: string; runId: number} {
if (github.context.eventName === 'workflow_run') {
core.info('Action was triggered by workflow_run: using SHA and RUN_ID from triggering workflow')
@ -13,8 +15,15 @@ export function getCheckRunContext(): {sha: string; runId: number} {
if (!event.workflow_run) {
throw new Error("Event of type 'workflow_run' is missing 'workflow_run' field")
}
const prs = (event.workflow_run.pull_requests ?? []) as WorkflowRunPR[]
const prShaMatch = prs.find(pr => pr.head?.ref === event.workflow_run.head_branch)?.head?.sha
const prShaFirst = prs[0]?.head?.sha
const sha = prShaMatch ?? prShaFirst ?? event.workflow_run.head_sha
if (!sha) {
throw new Error('Unable to resolve SHA from workflow_run (no PR head.sha or head_sha)')
}
return {
sha: event.workflow_run.head_commit.id,
sha,
runId: event.workflow_run.id
}
}