Skip to content

Commit d1f109e

Browse files
ManuelPalenzuelaDDclaudebwoebi
authored
Add Datadog code coverage upload (#3702)
* Add Datadog code coverage upload alongside Codecov 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> * Fix datadog-ci install path: use /tmp instead of /usr/local/bin The CI runner doesn't have write permissions to /usr/local/bin. Write the binary to /tmp instead. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix datadog-ci version: v2.48.0 → v5.9.1 The coverage upload command is not available in v2.48.0. Updating to v5.9.1 which includes the coverage plugin. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Bob Weinand <bob.weinand@datadoghq.com>
1 parent c3f44f4 commit d1f109e

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

.gitlab/generate-appsec.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,24 @@
429429
echo "Uploading helper coverage to codecov"
430430
cd "$CI_PROJECT_DIR"
431431
codecov -t "$CODECOV_TOKEN" -n appsec-helper -v -f appsec/build/coverage-helper.lcov
432+
- |
433+
echo "Uploading coverage to Datadog"
434+
cd "$CI_PROJECT_DIR"
435+
436+
DATADOG_API_KEY=$(vault kv get --format=json kv/k8s/gitlab-runner/dd-trace-php/datadoghq-api-key | jq -r .data.data.key)
437+
export DATADOG_API_KEY
438+
export DD_SITE="datadoghq.com"
439+
440+
# Install datadog-ci
441+
DATADOG_CI_VERSION="v5.9.1"
442+
curl -L --fail "https://github.com/DataDog/datadog-ci/releases/download/${DATADOG_CI_VERSION}/datadog-ci_linux-x64" --output "/tmp/datadog-ci"
443+
chmod +x /tmp/datadog-ci
444+
445+
echo "Uploading extension coverage to Datadog"
446+
/tmp/datadog-ci coverage upload --format=lcov appsec/build/coverage-ext.lcov || true
447+
448+
echo "Uploading helper coverage to Datadog"
449+
/tmp/datadog-ci coverage upload --format=lcov appsec/build/coverage-helper.lcov || true
432450

433451

434452
"push appsec images":

code-coverage.datadog.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
schema-version: v1
2+
ignore:
3+
- "appsec/build/"
4+
- "appsec/tests/"
5+
- "appsec/third_party/"
6+
gates:
7+
- type: total_coverage_percentage
8+
config:
9+
threshold: auto
10+
- type: patch_coverage_percentage
11+
config:
12+
threshold: 90

0 commit comments

Comments
 (0)