fix: a dispatcher release no longer reports a false failure while the package release waits behind other release checks

Merged
HA
7d ago
+96-2

Summary

  • A dispatcher release no longer reports a false failure while the Unity package release waits behind other components' release checks.

User Impact

  • Before: the release-please run checks release pull requests one at a time, newest first, so the package release pull request waited behind the project runner's checks (about 20–25 minutes). The dispatcher release's post-publish job waits 45 minutes for the package pull request's checks, timed out, and filed a release-failure comment, even though the release-please run merged the package release a few minutes later.
  • After: the package release pull request's checks always run first, so post-publish waits for one check run and merges it itself.

Changes

  • orderReleasePRsForChecks moves the unity-package release pull request to the front before the checks loop; every other pull request keeps its listed order.
  • Tests: package-first dispatch, failing package checks still let the next pull request be marked ready, the ordering function (including the combined branch and a listing without a package pull request), and the failure summary now listing the package pull request first.
  • docs/dispatcher-pin-release-order.md: one sentence on why the package pull request goes first.

Verification

  • gofmt -l, go vet ./..., go test ./..., golangci-lint run ./..., golangci-lint fmt --diff ./... in cli/release-automation.
  • Mutations: dropping the reorder call fails the package-first dispatch test and the failure-summary test; stopping the loop after the first failure fails the failing-package test.