Skip to content

Add Datadog code coverage upload#3702

Open
ManuelPalenzuelaDD wants to merge 1 commit intoDataDog:masterfrom
ManuelPalenzuelaDD:add-datadog-coverage
Open

Add Datadog code coverage upload#3702
ManuelPalenzuelaDD wants to merge 1 commit intoDataDog:masterfrom
ManuelPalenzuelaDD:add-datadog-coverage

Conversation

@ManuelPalenzuelaDD
Copy link
Contributor

@ManuelPalenzuelaDD ManuelPalenzuelaDD commented Mar 12, 2026

Summary

We're migrating code coverage reporting from Codecov to Datadog Code Coverage across DataDog repositories. This PR adds Datadog coverage uploads alongside the existing Codecov setup — nothing is removed or changed about your current workflow.

What this PR does

  • Adds a datadog-ci coverage upload step to the "appsec code coverage" GitLab CI job, right after the existing Codecov uploads
  • Both LCOV reports (appsec-extension and appsec-helper) are uploaded to Datadog in addition to Codecov
  • Adds a code-coverage.datadog.yml config file that mirrors your existing codecov.yml ignore paths and PR gate thresholds

What this means for you

  • No changes to your existing workflow — Codecov continues to work exactly as before
  • No CI breakage risk — the Datadog upload is wrapped with || true and continue-on-error so it can never fail your pipeline
  • No action needed — once merged, coverage data will start flowing into Datadog automatically

Once we've validated that Datadog coverage numbers match Codecov, we'll follow up with a separate PR to remove the Codecov integration.

Changes

File Change
.gitlab/generate-appsec.php Added Datadog coverage upload step after existing Codecov uploads
code-coverage.datadog.yml New config mirroring codecov.yml ignore paths and thresholds

If you have any questions about this migration, feel free to ask!

🤖 Generated with Claude Code

Add datadog-ci coverage upload steps to the "appsec code coverage" CI job
to run side-by-side with existing Codecov uploads. Both LCOV reports
(extension and helper) are uploaded to Datadog for coverage parity validation.

Also adds code-coverage.datadog.yml mirroring codecov.yml ignore paths and
PR gate thresholds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ManuelPalenzuelaDD ManuelPalenzuelaDD marked this pull request as ready for review March 12, 2026 14:12
@ManuelPalenzuelaDD ManuelPalenzuelaDD requested a review from a team as a code owner March 12, 2026 14:12
@datadog-prod-us1-6
Copy link

datadog-prod-us1-6 bot commented Mar 12, 2026

⚠️ Tests

Fix all issues with BitsAI or with Cursor

⚠️ Warnings

🧪 1028 Tests failed

testSearchPhpBinaries from integration.DDTrace\Tests\Integration\PHPInstallerTest (Datadog) (Fix with Cursor)
DDTrace\Tests\Integration\PHPInstallerTest::testSearchPhpBinaries
Test code or tested code printed unexpected output: Searching for available php binaries, this operation might take a while.
testSimplePushAndProcess from laravel-58-test.DDTrace\Tests\Integrations\Laravel\V5_8\QueueTest (Datadog) (Fix with Cursor)
Risky Test
phpvfscomposer://tests/vendor/phpunit/phpunit/phpunit:97
testSimplePushAndProcess from laravel-8x-test.DDTrace\Tests\Integrations\Laravel\V8_x\QueueTest (Datadog) (Fix with Cursor)
DDTrace\Tests\Integrations\Laravel\V8_x\QueueTest::testSimplePushAndProcess
Test code or tested code printed unexpected output: spanLinksTraceId: 69b2cff300000000ed6dc72e896e7bcb
tid: 69b2cff300000000
hexProcessTraceId: ed6dc72e896e7bcb
hexProcessSpanId: 5fd638341de45724
processTraceId: 17108549562138524619
processSpanId: 6905768875110192932
View all

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 9ec8cf2 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or 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