What happened?
direct-backport-push.yml's Discover direct backport targets step considers a backport target green only when every matrix child has conclusion === "success":
return targetJobs.length > 0 && targetJobs.every((job) => job.conclusion === "success");
After #4622, precheck skips build stacks based on PR labels (e.g., a PR without the frontend label skips the frontend stack). The backport caller propagates these toggles, so a legitimately skipped stack appears as conclusion: "skipped" on the corresponding backport (target) / frontend (...) job. The discovery filter then rejects the target and the push is silently skipped, even though the cherry-pick onto release/* would have applied cleanly.
The aggregator job in required-checks.yml already treats skipped as acceptable; the discovery filter should match.
How to reproduce?
- Land a PR with a
release/* label whose label set causes precheck to skip at least one build stack (e.g., a PR without the frontend label).
- Observe the merge to
main triggering Direct Backport Push.
- The
discover job logs Skipping targets without a successful Backport run: release/... and push-backports is skipped.
Concrete example: run 25237976528 for the merge of #4622, where backport (release/v1.1.0-incubating) / frontend (...) was skipped and the push was a no-op.
Version
1.1.0-incubating (Pre-release/Master)
Commit Hash (Optional)
e0547e6
What happened?
direct-backport-push.yml'sDiscover direct backport targetsstep considers a backport target green only when every matrix child hasconclusion === "success":After #4622,
precheckskips build stacks based on PR labels (e.g., a PR without thefrontendlabel skips the frontend stack). The backport caller propagates these toggles, so a legitimately skipped stack appears asconclusion: "skipped"on the correspondingbackport (target) / frontend (...)job. The discovery filter then rejects the target and the push is silently skipped, even though the cherry-pick ontorelease/*would have applied cleanly.The aggregator job in
required-checks.ymlalready treatsskippedas acceptable; the discovery filter should match.How to reproduce?
release/*label whose label set causesprecheckto skip at least one build stack (e.g., a PR without thefrontendlabel).maintriggeringDirect Backport Push.discoverjob logsSkipping targets without a successful Backport run: release/...andpush-backportsis skipped.Concrete example: run 25237976528 for the merge of #4622, where
backport (release/v1.1.0-incubating) / frontend (...)wasskippedand the push was a no-op.Version
1.1.0-incubating (Pre-release/Master)
Commit Hash (Optional)
e0547e6