diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d62e713321..2ba6cc84db 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,7 +70,7 @@ jobs: (.pullRequests.pageInfo.hasNextPage | type) != "boolean" then error("Invalid GitHub repository connection") else . end | .nameWithOwner as $repo | .pullRequests.nodes[] | - if (.number | type) != "number" or (.headRefName | type) != "string" or + if (.number | type) != "number" or (.headRefName | type) != "string" or (has("headRepository") | not) or (.headRepository != null and (.headRepository.nameWithOwner | type) != "string") then error("Invalid GitHub pull request") else . end | select(.headRepository.nameWithOwner == $repo) | diff --git a/tests/boundary/filesystem/releaseWorkflow.test.ts b/tests/boundary/filesystem/releaseWorkflow.test.ts index b3c2ed2a13..fca652daa8 100644 --- a/tests/boundary/filesystem/releaseWorkflow.test.ts +++ b/tests/boundary/filesystem/releaseWorkflow.test.ts @@ -257,6 +257,18 @@ it.each([ pages: [editorialPage([{ ...finalizedRelease, headRefName: null }])], status: 0, }, + { + name: "missing head repository identity", + pages: [ + editorialPage([ + { + number: finalizedRelease.number, + headRefName: finalizedRelease.headRefName, + }, + ]), + ], + status: 0, + }, { name: "incomplete pagination", pages: [editorialPage([], true)],