@@ -253,8 +253,16 @@ export async function checkReleaseControl(root = resolve(import.meta.dirname, ".
253253 "automatic finalization must ignore canary publisher runs" ,
254254 )
255255 expect (
256- raw [ "release-finalize.yml" ] . includes ( 'select(.event == "workflow_dispatch")' ) ,
257- "finalization must select only stable publisher receipts" ,
256+ raw [ "release-finalize.yml" ] . includes (
257+ 'select(.event == "workflow_dispatch" and .conclusion == "success")' ,
258+ ) ,
259+ "finalization must select only successful stable publisher receipts" ,
260+ )
261+ expect (
262+ raw [ "release-finalize.yml" ] . includes ( "artifacts?per_page=100" ) &&
263+ raw [ "release-finalize.yml" ] . includes ( 'grep -Fqx "$package_receipt"' ) &&
264+ raw [ "release-finalize.yml" ] . includes ( 'grep -Fqx "$crates_receipt"' ) ,
265+ "finalization must select the publisher receipt by its exact source-bound artifact names" ,
258266 )
259267 expect (
260268 raw [ "release-finalize.yml" ] . includes ( "--draft=false" ) ,
@@ -290,7 +298,8 @@ export async function checkReleaseControl(root = resolve(import.meta.dirname, ".
290298 "Go finalization must bind the module to the release source" ,
291299 )
292300 expect (
293- raw [ "release-finalize.yml" ] . includes ( '--name "crates-${version}-${SOURCE_SHA}"' ) ,
301+ raw [ "release-finalize.yml" ] . includes ( 'crates_receipt="crates-${version}-${SOURCE_SHA}"' ) &&
302+ raw [ "release-finalize.yml" ] . includes ( '--name "$crates_receipt"' ) ,
294303 "finalization must consume the publisher-produced crates receipt" ,
295304 )
296305 expect (
0 commit comments