Skip to content

fix(playwright): preserve quarantine across EFD retries - #9892

Merged
juan-fernandez merged 10 commits into
masterfrom
juan-fernandez/fix-playwright-efd-quarantine
Aug 21, 2026
Merged

juan-fernandez merged 10 commits into
masterfrom
juan-fernandez/fix-playwright-efd-quarantine

Conversation

@juan-fernandez

Copy link
Copy Markdown
Collaborator

What does this PR do?

Preserves Test Management quarantine metadata on Playwright tests cloned for Early Flake Detection retries. It also tracks quarantined failures with the same EFD key used for retry-status aggregation, so an all-failing quarantined test does not fail the session.

Motivation

A quarantined test can also be classified as new or modified because Test Management and EFD use independent inputs. The initial Playwright execution retained test_management.is_quarantined, but its EFD retry clones did not, allowing those failures to fail the CI process.

Additional Notes

Verified with:

  • the new Playwright EFD + quarantine regression test
  • the existing Playwright ATR + quarantine sibling test
  • targeted ESLint for both changed files

@dd-octo-sts

dd-octo-sts Bot commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

Overall package size

Self size: 8.27 MB
Deduped: 8.94 MB
No deduping: 8.94 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.3.3 | 125.43 kB | 445.14 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | dc-polyfill | 0.1.11 | 25.74 kB | 25.74 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

@codex review

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

/datadog autotest review

@pr-commenter

pr-commenter Bot commented Aug 20, 2026 •

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2026-08-21 09:38:53

Comparing candidate commit bb8c4c2 in PR branch juan-fernandez/fix-playwright-efd-quarantine with baseline commit e5db61b in branch master.

📊 Benchmarking dashboard

Found 1 performance improvements and 0 performance regressions! Performance is the same for 2283 metrics, 8 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:encoders-0.4-events-native-20

  • 🟩 max_rss_usage [-9.493MB; -3.920MB] or [-6.808%; -2.811%]

Unstable benchmarks

These benchmarks have a confidence interval too wide to call a change; treat them as noise rather than signal.

scenario:debugger-line-probe-with-snapshot-minimal-24

  • unstable max_rss_usage [-13.480MB; +17.647MB] or [-5.539%; +7.252%]

scenario:dogstatsd-with-tags-20

  • unstable cpu_user_time [-408.880ms; +273.764ms] or [-8.501%; +5.692%]
  • unstable execution_time [-405.225ms; +277.004ms] or [-8.296%; +5.671%]
  • unstable throughput [-98823.272op/s; +142990.833op/s] or [-5.748%; +8.317%]

scenario:llmobs-encode-unicode-mixed-20

  • unstable max_rss_usage [-5.405MB; +8.613MB] or [-7.931%; +12.638%]

scenario:plugin-graphql-long-with-depth-and-collapse-off-20

  • unstable max_rss_usage [-29.347MB; +35.428MB] or [-7.393%; +8.926%]

scenario:plugin-graphql-long-with-depth-off-20

  • unstable max_rss_usage [-4.696MB; +9.155MB] or [-3.679%; +7.171%]

scenario:test-optimization-large-suite-20

  • unstable max_rss_usage [-5951.414KB; +7744.747KB] or [-7.137%; +9.287%]

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f578625a02

ℹ️ 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".

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
Comment thread integration-tests/playwright/playwright-test-management.spec.js Outdated

@datadog-ddstaging datadog-ddstaging 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.

Datadog Autotest: FAIL

The new EFD integration test starts Playwright outside the automatic cleanup path. A timeout can leave the child process active and can hang the test suite.

Open Bits AI session

🤖 Datadog Autotest · Commit f578625 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread integration-tests/playwright/playwright-test-management.spec.js Outdated

@datadog-prod-us1-6 datadog-prod-us1-6 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.

Datadog Autotest: PASS

More details

EFD retry copies now keep quarantine data. The code uses the same EFD key for retry status and quarantine status, so quarantined retry failures do not fail the session.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Datadog Autotest · Commit f578625 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

@datadog-prod-us1-6

datadog-prod-us1-6 Bot commented Aug 20, 2026 •

Copy link
Copy Markdown

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
• Patch Coverage: 98.92%
• Overall Coverage: 98.55% (+0.00%)

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

@codecov

codecov Bot commented Aug 20, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.92473% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 98.55%. Comparing base (e5db61b) to head (bb8c4c2).
⚠️ Report is 20 commits behind head on master.

Files with missing lines Patch % Lines
...atadog-instrumentations/src/playwright-reporter.js 99.32% 1 Missing ⚠️
...ackages/datadog-instrumentations/src/playwright.js 96.96% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##           master    #9892    +/-   ##
========================================
  Coverage   98.54%   98.55%            
========================================
  Files         982      983     +1     
  Lines      145161   145482   +321     
  Branches    12781    12617   -164     
========================================
+ Hits       143055   143379   +324     
+ Misses       2106     2103     -3     
Flag Coverage Δ
aiguard 57.11% <ø> (-0.03%) ⬇️
aiguard-integration 55.20% <ø> (-0.01%) ⬇️
apm-bucket-0 57.28% <ø> (-0.03%) ⬇️
apm-bucket-1 62.44% <ø> (-0.03%) ⬇️
apm-bucket-2 61.26% <ø> (-0.03%) ⬇️
apm-bucket-3 58.92% <ø> (-0.03%) ⬇️
apm-capabilities-tracing 62.17% <0.00%> (+<0.01%) ⬆️
apm-integrations-aerospike 55.00% <ø> (-0.03%) ⬇️
apm-integrations-confluentinc-kafka-javascript 60.25% <ø> (-0.03%) ⬇️
apm-integrations-couchbase 55.88% <ø> (-0.03%) ⬇️
apm-integrations-http 61.05% <ø> (-0.03%) ⬇️
apm-integrations-kafkajs 60.76% <ø> (-0.03%) ⬇️
apm-integrations-next 58.54% <ø> (-0.03%) ⬇️
apm-integrations-prisma 58.01% <ø> (-0.03%) ⬇️
appsec 71.23% <ø> (-0.02%) ⬇️
appsec-express_fastify_graphql 68.58% <ø> (-0.02%) ⬇️
appsec-integration 49.59% <18.18%> (+<0.01%) ⬆️
appsec-kafka_ldapjs_lodash 62.53% <ø> (-0.03%) ⬇️
appsec-mongodb-core_mongoose_mysql 66.04% <ø> (-0.02%) ⬇️
appsec-next 55.99% <ø> (-0.02%) ⬇️
appsec-node-serialize_passport_postgres 65.45% <ø> (-0.02%) ⬇️
appsec-sourcing_stripe_template 63.89% <ø> (-0.02%) ⬇️
debugger 63.41% <ø> (+0.09%) ⬆️
instrumentations-bucket-0 50.96% <ø> (-0.03%) ⬇️
instrumentations-bucket-1 58.78% <ø> (-0.03%) ⬇️
instrumentations-bucket-10 60.07% <ø> (-0.03%) ⬇️
instrumentations-bucket-11 60.73% <ø> (-0.03%) ⬇️
instrumentations-bucket-12 50.87% <ø> (-0.03%) ⬇️
instrumentations-bucket-13 51.72% <ø> (-0.03%) ⬇️
instrumentations-bucket-14 50.97% <ø> (-0.03%) ⬇️
instrumentations-bucket-2 52.21% <ø> (-0.03%) ⬇️
instrumentations-bucket-3 52.84% <ø> (-0.03%) ⬇️
instrumentations-bucket-4 57.87% <ø> (-0.03%) ⬇️
instrumentations-bucket-5 48.59% <ø> (-0.03%) ⬇️
instrumentations-bucket-6 59.37% <ø> (-0.03%) ⬇️
instrumentations-bucket-7 51.16% <ø> (-0.03%) ⬇️
instrumentations-bucket-8 57.59% <ø> (-0.03%) ⬇️
instrumentations-bucket-9 56.44% <ø> (-0.03%) ⬇️
instrumentations-instrumentation-couchbase 49.74% <ø> (-0.03%) ⬇️
instrumentations-integration-esbuild 33.87% <18.18%> (+<0.01%) ⬆️
llmobs-ai_anthropic_bedrock 62.02% <ø> (-0.02%) ⬇️
llmobs-bucket-1 60.56% <ø> (-0.02%) ⬇️
llmobs-openai 61.21% <ø> (-0.03%) ⬇️
llmobs-openai-agents_vertex-ai 59.28% <ø> (-0.02%) ⬇️
llmobs-sdk 67.48% <ø> (-0.03%) ⬇️
master-coverage 98.55% <98.92%> (?)
openfeature 55.22% <ø> (-0.01%) ⬇️
openfeature-unit 53.15% <ø> (-0.03%) ⬇️
platform-core_esbuild_instrumentations-misc 40.78% <18.18%> (-0.01%) ⬇️
platform-integration 59.60% <ø> (-0.01%) ⬇️
platform-shimmer_unit-guardrails_webpack 38.44% <18.18%> (-0.01%) ⬇️
plugins-browser-bunyan_bullmq_cassandra 60.65% <ø> (-0.03%) ⬇️
plugins-bucket-0 56.13% <ø> (-0.03%) ⬇️
plugins-bucket-1 53.25% <ø> (-0.01%) ⬇️
plugins-bucket-11 61.04% <ø> (-0.03%) ⬇️
plugins-bucket-18 60.61% <ø> (-0.03%) ⬇️
plugins-bucket-19 58.84% <ø> (-0.03%) ⬇️
plugins-bucket-20 60.75% <ø> (-0.03%) ⬇️
plugins-bucket-4 55.49% <ø> (-0.03%) ⬇️
plugins-cookie_cookie-parser_crypto 50.49% <ø> (-0.03%) ⬇️
plugins-fastify_fetch_fs 59.69% <ø> (-0.05%) ⬇️
plugins-generic-pool_google-cloud-pubsub_grpc 63.21% <ø> (-0.02%) ⬇️
plugins-handlebars_hapi_hono 57.71% <ø> (-0.03%) ⬇️
plugins-ioredis_knex_langgraph 56.18% <ø> (-0.03%) ⬇️
plugins-ldapjs_light-my-request_limitd-client 57.40% <ø> (-0.03%) ⬇️
plugins-lodash_mariadb_memcached 57.11% <ø> (-0.03%) ⬇️
plugins-moleculer_mongodb_mongodb-core 60.53% <ø> (-0.03%) ⬇️
plugins-mongoose_multer_mysql 58.39% <ø> (-0.03%) ⬇️
plugins-mysql2_nats_node-serialize 59.99% <ø> (-0.03%) ⬇️
plugins-opensearch_passport-http_pino 58.26% <ø> (-0.03%) ⬇️
plugins-postgres_process_pug 57.41% <ø> (-0.03%) ⬇️
plugins-redis_router_sequelize 60.60% <ø> (-0.03%) ⬇️
plugins-test-and-upstream-rhea_undici_url 60.19% <ø> (-0.03%) ⬇️
plugins-valkey_vm_winston 56.84% <ø> (-0.03%) ⬇️
plugins-ws 58.38% <ø> (-0.03%) ⬇️
profiling 60.86% <ø> (-0.03%) ⬇️
serverless-aws-sdk-aws-sdk 54.13% <ø> (-0.03%) ⬇️
serverless-aws-sdk-base-inject-field 50.19% <ø> (-0.03%) ⬇️
serverless-aws-sdk-bedrockruntime 53.91% <ø> (-0.03%) ⬇️
serverless-aws-sdk-client 55.40% <ø> (-0.03%) ⬇️
serverless-aws-sdk-dynamodb 54.72% <ø> (-0.03%) ⬇️
serverless-aws-sdk-eventbridge 56.20% <ø> (-0.03%) ⬇️
serverless-aws-sdk-kinesis 58.22% <ø> (-0.03%) ⬇️
serverless-aws-sdk-lambda 56.42% <ø> (-0.03%) ⬇️
serverless-aws-sdk-s3 54.82% <ø> (-0.03%) ⬇️
serverless-aws-sdk-serverless-peer-service 58.79% <ø> (-0.03%) ⬇️
serverless-aws-sdk-sns 59.00% <ø> (-0.03%) ⬇️
serverless-aws-sdk-sqs 59.41% <ø> (-0.03%) ⬇️
serverless-aws-sdk-stepfunctions 54.65% <ø> (-0.03%) ⬇️
serverless-aws-sdk-util 50.70% <ø> (-0.03%) ⬇️
serverless-bucket-0 52.87% <ø> (-0.01%) ⬇️
serverless-bucket-1 58.02% <ø> (-0.03%) ⬇️
test-optimization-cucumber 70.31% <ø> (+0.04%) ⬆️
test-optimization-cypress 64.51% <ø> (+0.11%) ⬆️
test-optimization-jest 71.70% <ø> (+0.02%) ⬆️
test-optimization-mocha 71.75% <ø> (+0.07%) ⬆️
test-optimization-playwright-playwright-atr 59.44% <87.63%> (+0.14%) ⬆️
test-optimization-playwright-playwright-efd 59.58% <87.09%> (+0.14%) ⬆️
test-optimization-playwright-playwright-final-status 59.71% <92.47%> (+0.11%) ⬆️
test-optimization-playwright-playwright-impacted-tests 59.82% <89.24%> (+0.81%) ⬆️
test-optimization-playwright-playwright-reporting 60.83% <88.17%> (+0.17%) ⬆️
test-optimization-playwright-playwright-test-management 60.44% <94.62%> (+0.26%) ⬆️
test-optimization-playwright-playwright-test-span 59.49% <87.63%> (+0.09%) ⬆️
test-optimization-selenium 58.60% <ø> (-0.10%) ⬇️
test-optimization-testopt 57.33% <76.88%> (+0.16%) ⬆️
test-optimization-vitest 72.47% <ø> (+0.11%) ⬆️
test-optimization-vitest-browser 58.45% <18.18%> (+0.03%) ⬆️
test-optimization-webdriverio 64.62% <ø> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

@codex review

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

/datadog autotest review

@datadog-ddstaging datadog-ddstaging 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.

Datadog Autotest: PASS

More details

The PR keeps quarantine metadata on Playwright EFD copies and uses the EFD key for failure counts.
The new commit removes order dependence for mixed retry results,
adds a fail-then-pass case,
and adds process cleanup;
no issue remains open.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Datadog Autotest · Commit 886e166 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 886e1666de

ℹ️ 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".

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated

@datadog-prod-us1-6 datadog-prod-us1-6 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.

Datadog Autotest: FAIL

The PR keeps quarantine data on EFD retry copies and uses one key for retry status. The latest commit also handles a failed first run followed by passing retries. One issue remains: this mixed result can hide an independent beforeAll or afterAll failure and make CI pass.

Open Bits AI session

🤖 Datadog Autotest · Commit 886e166 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

@codex review

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

/datadog autotest review

@datadog-ddstaging datadog-ddstaging 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.

Datadog Autotest: FAIL

The PR keeps quarantine data on Playwright EFD copies
and uses the same EFD key for failure counts. It fixes the earlier process cleanup issue
and mixed retry result handling, but it keeps a hook error after that hook passes on a native retry;
this open issue can fail a session
when only a quarantined test still fails.

Open Bits AI session

🤖 Datadog Autotest · Commit 4e65c79 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4e65c7901a

ℹ️ 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".

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated

@datadog-prod-us1-6 datadog-prod-us1-6 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.

Datadog Autotest: FAIL

The PR preserves quarantine data on EFD copies and uses one key for retry results. It now keeps beforeAll and afterAll failures fatal, but a global teardown failure still bypasses this guard and can make a failed Playwright session pass.

Open Bits AI session

🤖 Datadog Autotest · Commit 4e65c79 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

@codex review

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

/datadog autotest review

@datadog-ddstaging datadog-ddstaging 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.

Datadog Autotest: FAIL

The PR preserves quarantine data on Playwright EFD copies.
It now counts each EFD failure and handles recovered hooks correctly.
It also keeps global teardown failures visible.
The earlier process cleanup and hook-retry issues are fixed.
One issue remains: custom reporters leave the failure count undefined, so quarantined failures still fail the session.

Open Bits AI session

🤖 Datadog Autotest · Commit f5d81da · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f5d81da057

ℹ️ 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".

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
Comment thread packages/datadog-instrumentations/src/playwright.js Outdated

@datadog-prod-us1-6 datadog-prod-us1-6 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.

Datadog Autotest: FAIL

The PR preserves quarantine data on EFD retry copies.
It now keeps suite-hook and global teardown failures fatal.
Multi-project and repeatEach quarantine failures are still undercounted.
Modified EFD clones with native retries are overcounted.
Stdout-only or custom reporters can leave the failure count unset.

Open Bits AI session

🤖 Datadog Autotest · Commit f5d81da · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
Comment thread packages/datadog-instrumentations/src/playwright.js Outdated
@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

@codex review

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

/datadog autotest review

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Reviewed commit: e4620f52de

ℹ️ 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-ddstaging datadog-ddstaging 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.

Datadog Autotest: FAIL

Playwright 1.38 ignores failOnFlakyTests, so the new test expects a failure from a run that passes. A second fixture name mismatch leaves the disabled attempt-to-fix case unconfigured.

Open Bits AI session

🤖 Datadog Autotest · Commit e4620f5 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread integration-tests/playwright/playwright-test-management.spec.js Outdated
Comment thread integration-tests/playwright/playwright-test-management.spec.js Outdated

@datadog-prod-us1-6 datadog-prod-us1-6 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.

Datadog Autotest: FAIL

A v5 backport leaves the Playwright run summary undefined before version 1.38, so quarantine-only failures fail the session. The oldest test matrix also uses an unsupported failOnFlakyTests option.

Open Bits AI session

🤖 Datadog Autotest · Commit e4620f5 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

Comment thread packages/datadog-instrumentations/src/playwright.js
Comment thread integration-tests/playwright.config.js
Comment thread integration-tests/playwright/playwright-test-management.spec.js Outdated
@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

@codex review

@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

/datadog autotest review

@datadog-ddstaging datadog-ddstaging 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.

Datadog Autotest: PASS

More details

The PR keeps quarantine data on Playwright EFD retry copies.
It uses EFD keys to count quarantine failures and set the session result.
The new commit adds attempt-to-fix data to skipped test spans.
It fixes the Playwright version gate and the fixture name mismatch.
No open finding remains.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Datadog Autotest · Commit 9ccdbe6 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Reviewed commit: 9ccdbe672d

ℹ️ 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-prod-us1-6 datadog-prod-us1-6 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.

Datadog Autotest: FAIL

This PR keeps quarantine and attempt-to-fix data on Playwright EFD retries and skipped tests. The latest commit fixes the unsupported failOnFlakyTests case and the wrong fixture name, but Playwright 1.18–1.37 still has no reporter summary, so a v5 backport still lets quarantine-only failures fail the session.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Datadog Autotest · Commit 9ccdbe6 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

@juan-fernandez
juan-fernandez marked this pull request as ready for review August 21, 2026 08:58
@juan-fernandez
juan-fernandez requested review from a team as code owners August 21, 2026 08:58
@juan-fernandez

Copy link
Copy Markdown
Collaborator Author

Regarding #9892 (review):

Playwright 1.18–1.37 is supported by dd-trace v5 for core instrumentation, but not for Test Management or EFD. The capability gates for Playwright quarantine, disable, attempt-to-fix, impacted tests, and EFD are all >=1.38.0 in packages/dd-trace/src/plugins/util/test.js. The Playwright instrumentation also does not request Test Management data below 1.38 (shouldGetTestManagementTests is gated by the same range), and the Test Management integration contexts are gated to 1.38+.

Therefore, a 1.18–1.37 run cannot contain Datadog-quarantined tests: it receives no Test Management data and advertises no quarantine capability. A failed session without a reporter summary should remain failed. Adding a legacy quarantine fallback would be a separate expansion of Test Management support below 1.38, not a v5 backport fix for this PR.

@juan-fernandez
juan-fernandez enabled auto-merge (squash) August 21, 2026 09:00

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9ccdbe672d

ℹ️ 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".

Comment thread packages/datadog-instrumentations/src/playwright-reporter.js Outdated
@juan-fernandez
juan-fernandez merged commit 5a8107d into master Aug 21, 2026
678 of 679 checks passed
@juan-fernandez
juan-fernandez deleted the juan-fernandez/fix-playwright-efd-quarantine branch August 21, 2026 09:46
@dd-octo-sts dd-octo-sts Bot mentioned this pull request Aug 21, 2026
@dd-octo-sts dd-octo-sts Bot mentioned this pull request Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants