fix(ci): merge-queue tolerance for Build (advisory), drops paid-tier batching - #9233
Conversation
Merge Protections🟢 Merge protection satisfied — ready to merge. Show 1 satisfied protection🟢 📃 Configuration Change RequirementsMergify configuration change
|
PR diegosouzapw#7329 (an unrelated cliproxy feature PR) silently reverted two prior Mergify fixes when it touched .mergify.yml from a stale branch: - diegosouzapw#7225's tolerance for the advisory dast-smoke check, which hangs recurrently on GitHub-hosted runners (issue diegosouzapw#7226) and had been dequeuing every queue attempt it touched. - diegosouzapw#7220's removal of batch_size/batch_max_wait_time, which is a paid Mergify tier feature this repo's free plan does not have (the queue command fails outright with it set). Restores both fixes verbatim. No PR has used the queue label since diegosouzapw#7329 landed two weeks ago, so this had gone unnoticed.
The first pass of this fix missed a second piece diegosouzapw#7329 clobbered in the same diff hunk: merge_protections_settings.auto_merge_conditions, the actual mechanism that puts a queue-labeled PR into the queue (the older rules-based autoqueue path it replaced is EOL). Without it, the queue label was a no-op even after restoring the check-failure tolerance and dropping batching. .mergify.yml now matches commit 9875ccf (the last known-good state before diegosouzapw#7329) byte-for-byte, confirmed via sha256.
Evidence review found the prior fix's dast-smoke exception is stale: dast-smoke has failed only twice ever, none since 2026-07-13 (0/30 in the last ~3.3h across many PRs). Meanwhile Build (advisory), added to quality.yml 2026-07-27, has a 100% failure rate on every sampled PR since — confirmed via job logs to be the same class of runner hang (dies mid "Creating an optimized production build", never a real compile error), just in a check dast-smoke's tolerance never covered. Retargets the merge_conditions exception accordingly so the queue can actually tolerate the failure mode it faces today, instead of one that's been dormant for weeks.
392503f to
af54c58
Compare
2e42680
into
diegosouzapw:release/v3.8.50
|
Merged — thanks @wgordon17. Your diagnosis matched an independent measurement I ran while triaging the queue today: of 149 merge-ready candidates, 21 were failing on Also appreciated that you dropped the stale |
…batching (diegosouzapw#9233) * fix(ci): restores dast-smoke queue tolerance, drops batching PR diegosouzapw#7329 (an unrelated cliproxy feature PR) silently reverted two prior Mergify fixes when it touched .mergify.yml from a stale branch: - diegosouzapw#7225's tolerance for the advisory dast-smoke check, which hangs recurrently on GitHub-hosted runners (issue diegosouzapw#7226) and had been dequeuing every queue attempt it touched. - diegosouzapw#7220's removal of batch_size/batch_max_wait_time, which is a paid Mergify tier feature this repo's free plan does not have (the queue command fails outright with it set). Restores both fixes verbatim. No PR has used the queue label since diegosouzapw#7329 landed two weeks ago, so this had gone unnoticed. * fix(ci): restores the auto-enqueue merge_protections_settings block The first pass of this fix missed a second piece diegosouzapw#7329 clobbered in the same diff hunk: merge_protections_settings.auto_merge_conditions, the actual mechanism that puts a queue-labeled PR into the queue (the older rules-based autoqueue path it replaced is EOL). Without it, the queue label was a no-op even after restoring the check-failure tolerance and dropping batching. .mergify.yml now matches commit 0011f0f (the last known-good state before diegosouzapw#7329) byte-for-byte, confirmed via sha256. * fix(ci): retargets queue tolerance from dast-smoke to Build (advisory) Evidence review found the prior fix's dast-smoke exception is stale: dast-smoke has failed only twice ever, none since 2026-07-13 (0/30 in the last ~3.3h across many PRs). Meanwhile Build (advisory), added to quality.yml 2026-07-27, has a 100% failure rate on every sampled PR since — confirmed via job logs to be the same class of runner hang (dies mid "Creating an optimized production build", never a real compile error), just in a check dast-smoke's tolerance never covered. Retargets the merge_conditions exception accordingly so the queue can actually tolerate the failure mode it faces today, instead of one that's been dormant for weeks.
Summary
batch_size/batch_max_wait_time(paid-tier Mergify feature, breaks on the free plan) and fix(ci): merge queue tolerates the advisory dast-smoke check #7225's auto-enqueue mechanism (merge_protections_settings.auto_merge_conditions), both silently reverted two weeks ago by Add cliproxy provider exposure controls and manifest injection #7329 (an unrelated cliproxy PR that touched.mergify.ymlfrom a stale branch)dast-smoketoBuild (advisory): evidence review showeddast-smoke's hang (fix: dast-smoke 'Build CLI bundle' hangs recurrently on GitHub-hosted runners (24-29min, kills the advisory check) #7226) has been dormant for weeks (0/30 recent runs, 2 failures all-time, none since 2026-07-13), whileBuild (advisory)(added to quality.yml 2026-07-27) has a 100% failure rate on every sampled PR since, confirmed via job logs to be the same class of runner hang (dies mid-"Creating an optimized production build", never a real compile error) — just in a check the old tolerance never coveredqueuelabel since Add cliproxy provider exposure controls and manifest injection #7329 landed, so both the original regression and the stale targeting went unnoticed until now