Skip to content

ci: rebase merge-gate required jobs on measured failure data - #4178

Draft
Leiyks wants to merge 1 commit into
masterfrom
leiyks/ci-update-merge-gate-required-jobs
Draft

ci: rebase merge-gate required jobs on measured failure data#4178
Leiyks wants to merge 1 commit into
masterfrom
leiyks/ci-update-merge-gate-required-jobs

Conversation

@Leiyks

@Leiyks Leiyks commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Updates .gitlab/flaky-jobs.txt from a failure-frequency export covering 5006 job failures. The list had been hand-maintained at family granularity since #4028 and was never derived from data.

Re-required — these failures were a CI outage, not flakiness: all six compile * globs, verify windows, and System Tests:*.

Newly exempted — 13 families with at least 2 recorded failures: check libxml2 version, helper-rust integration coverage, appsec code coverage, ASAN Internal api randomized tests:*, Loader test on arm64 alpine, Loader test on arm64 libc:*, linux-php-wordpress-parallel, the three php-wordpress-parallel-* jobs, and test_integrations_{amqp_latest,memcache,ratchet}:*. Flakiness is not version-bound, so each is exempted at family granularity rather than per matrix cell.

Pruned — 88 globs with no evidence behind them: 46 that matched real jobs but recorded zero failures, 8 whose family failed exactly once, and 34 that matched no job in the pipeline at all. That last group is structurally unreachable: the SSI scenario jobs live in a grandchild pipeline in DataDog/apm-reliability/dd-trace-php, which merge-gate.sh never walks (it goes one level deep and hardcodes $CI_PROJECT_ID), and update-latest-versions is a GitHub Actions job.

Six zero-failure globs were kept because they never ran rather than never failed: generate-lib-init-pinned-tag-values (manual, tag-only), package-oci:* and create-multiarch-lib-injection-image ($SKIP_SHARED_PIPELINE-gated), and three php-*-realworld-parallel-* benchmark jobs gated on master/nightly.

Net: 149 → 74 patterns. Jobs that can block a merge: 636 → 1225 of 2098. Replaying the full observation window, the prune would have caused 8 additional gate blocks — all from the count-1 group; the zero-failure group contributes none.

Verification: every surviving and deleted pattern was matched with merge-gate.sh's exact semantics ([[ "$job" == $g ]], unquoted glob, whole-string, case-sensitive) against the 2099 real job names from master pipeline 136253425.

Re-require six compile globs, verify windows, and System Tests:* (a CI
outage, not flakiness). Newly exempt 13 families with measured
failures. Prune 88 globs with no evidence behind them (zero failures,
single-failure, or unreachable jobs). Net: 149 -> 74 patterns; gating
jobs 636 -> 1225 of 2098.
@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Sep 9, 2026

Copy link
Copy Markdown

Pipelines  Tests

Unblock PR with BitsAI

⚠️ Warnings

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 9 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | Loader test on amd64 libc: [7.2, nts] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | check libxml2 version — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | appsec integration tests (ssi): [test8.3-release-ssi]

View more details · View in GitLab

View all 9 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 55.05% (+0.00%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: f4d6974 | Docs | View more details | Give us feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant