Skip to content

ci: run all implemented debugger scenarios on PRs - #4397

Open
p-datadog wants to merge 2 commits into
masterfrom
ci/run-debugger-scenarios-on-prs
Open

p-datadog wants to merge 2 commits into
masterfrom
ci/run-debugger-scenarios-on-prs

Conversation

@p-datadog

@p-datadog p-datadog commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Description

Every PR now runs all seven system-tests debugger scenarios that have active PHP tests, in three jobs on three PHP configurations. Before this change, PRs ran one debugger scenario, DEBUGGER_PROBES_SNAPSHOT_WITH_SCM, on apache-mod-8.0 and php-fpm-8.5 (#4385). The other debugger scenarios ran only in the master tracer-release jobs, so debugger regressions surfaced after merge. A recent probe-installation regression on thread-safe (ZTS) Apache builds reached master this way.

The debugger scenarios now run in one job per configuration:

Job Scenarios Duration before Duration after
apache-mod-8.0 (existing matrix entry) DEBUGGER_PROBES_SNAPSHOT_WITH_SCM, DEBUGGER_EXPRESSION_LANGUAGE, DEBUGGER_INPRODUCT_ENABLEMENT 8.4 min 14.4 min
php-fpm-8.5 (existing matrix entry) DEBUGGER_PROBES_SNAPSHOT_WITH_SCM, DEBUGGER_TELEMETRY, DEBUGGER_EXCEPTION_REPLAY 8.3 min 9.9 min
apache-mod-8.0-zts (new job) DEBUGGER_PROBES_SNAPSHOT, DEBUGGER_PII_REDACTION — 13.5 min

The apache-mod-8.0-zts job adds debugger coverage of a thread-safe PHP build to PRs.

A TESTSUITE matrix value can now name several scenarios. The job script runs them in sequence through a shared generator helper. When a scenario fails, the job runs the remaining scenarios and then fails with the list of failed scenarios.

Impact on CI execution time

Pipeline completion time stays the same. The system-tests stage ends when its longest job, System Tests: [parametric], finishes after about 22 minutes. The debugger jobs run in parallel with it and finish within 10 to 15 minutes.

Runner time grows by about 21 minutes per pipeline. The two extended matrix entries add 6 and 1.5 minutes, and the new zts job adds 13.5 minutes.

This change touches only CI configuration.

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

Task: run every php debugger scenario that has active tests at least
once per PR, with one debugger job per DI-relevant config, per user
requirements typed in session (the Debugger/DI test coverage rules).

The existing #4385 SCM matrix entries on apache-mod-8.0 and php-fpm-8.5
become multi-scenario entries carrying their config's scenario set
(apache-mod-8.0: SCM, EXPRESSION_LANGUAGE, INPRODUCT_ENABLEMENT;
php-fpm-8.5: SCM, TELEMETRY, EXCEPTION_REPLAY), and one job is added on
apache-mod-8.0-zts (PROBES_SNAPSHOT, PII_REDACTION) so the threaded SAPI
is covered. Matrix scripts switch to the tracer-release loop so a
TESTSUITE value can list multiple scenarios; single-scenario values
behave as before. The scenarios whose php tests are all manifest-skipped
(CAPTURE_TIMEOUT, EVALUATION_TIMEOUT, SYMDB) stay out until implemented;
each becomes a one-word addition to an existing entry when its tests
activate.

Mandated by user: the coverage rules and the design constraints (every
runnable scenario at least once per PR, similar code paths spread across
configs, no scenario in every config, no ten-scenario job, no
per-scenario jobs, CI completion time unchanged, existing segmentation
respected). Own decisions: the scenario-to-config assignment, the
multi-scenario TESTSUITE mechanism, the zts weblog choice
(apache-mod-8.0-zts), keeping EXPRESSION_LANGUAGE off zts due to open
system-tests #8200.
@p-datadog p-datadog added the ci label Oct 28, 2026
@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

✨ Unblock PR with BitsAI

❌ Errors

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

🚦 14 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | test appsec extension: [7.2, amd64, debug-zts] — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DDCI - DataDog/dd-trace-php | test appsec extension: [7.0, arm64, debug]

View more details · View in DDCI

DataDog/apm-reliability/dd-trace-php | publish docker image for system tests

View more details · View in GitLab

View all 14 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: 76.44% (-0.06%)

Useful? React with 👍 / 👎

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

Task: the user flagged the scenario loop that the previous commit pasted
into three jobs; remove the duplication.

system_tests_run_scenarios() in generate-package.php emits the loop
step, following the generator's idiom for shared script snippets
(dockerhub_login() in generate-common.php). All four call sites use it,
including the pre-existing tracer-release job loop from dbf442b. The
rendered pipeline YAML is unchanged.

Mandated by: the global code-duplication rule (extract shared helpers)
and user approval in session. Own decisions: the helper name, its
placement in generate-package.php (the only generator using it), and the
parameter taking shell words.
@p-datadog

Copy link
Copy Markdown
Member Author

@codex review

@p-datadog

Copy link
Copy Markdown
Member Author

@autotest review

@p-datadog
p-datadog requested a balanced review from Copilot October 28, 2026 18:10
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T18:24:45.984083Z a0ba64c Draft marked ready
🔒 Security Review ✅ Completed 2026-10-28T18:26:44.796719Z a0ba64c Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are identified for the expanded debugger system-test coverage.

No open issues 🎉

What changed in this PR

Expands debugger system-test coverage on pull requests so regressions can be caught before merge, including in the threaded PHP SAPI.

Changes:

  • Groups eight implemented debugger scenarios across the existing Apache and PHP-FPM configurations and a new Apache ZTS job.
  • Extracts a shared scenario runner that executes every scenario and reports accumulated failures.
  • Reuses the runner in the existing sharded release jobs.
File Description
.gitlab/​generate-package.php Expands debugger job coverage and centralizes sequential scenario execution with failure reporting.

Review effort: Balanced

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: a0ba64c095

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Bits couldn’t fix the CI

🟢 Investigated · 🔴 Fix failed · ⚪ Validate · ⚪ Ready

BitsAI did not provide a summary for this run. See the linked Datadog session for details.

View in Datadog

⚙️Settings

CI auto-fix for future failures: Enabled · Disable

Reviewed commit a0ba64c
Was this helpful? React 👍 or 👎 · Any feedback? Reach out in #deveng-pr-agent

@datadog-datadog-prod-us1-2 datadog-datadog-prod-us1-2 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: PASS

More details

Grouped scenario execution continues after individual failures and reports the failed scenario names, preserving CI failure detection. Generated YAML validation and focused shell simulations support the change; full system-tests execution remains unverified.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit a0ba64c

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: a0ba64c095

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@p-datadog
p-datadog marked this pull request as ready for review October 28, 2026 18:21
@p-datadog
p-datadog requested review from a team as code owners October 28, 2026 18:21

@datadog-datadog-prod-us1-2 datadog-datadog-prod-us1-2 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: PASS

More details

The generated CI runner continues through later scenarios after a failure and reports the accumulated failures at the end. The specialist’s configuration and shell checks support the intended behavior; full containerized system tests were not run.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit a0ba64c

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants