ci: upload system-tests results to Test Optimization and add tracer-release nightly#3660
ci: upload system-tests results to Test Optimization and add tracer-release nightly#3660
Conversation
Run the official system-tests reusable workflow daily at 4 AM GMT using dev mode against the latest commit on the default branch. Co-authored-by: Cursor <cursoragent@cursor.com>
|
✨ Fix all issues with BitsAI or with Cursor
|
Co-authored-by: Cursor <cursoragent@cursor.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3660 +/- ##
==========================================
- Coverage 62.21% 62.11% -0.11%
==========================================
Files 141 141
Lines 13387 13387
Branches 1753 1753
==========================================
- Hits 8329 8315 -14
- Misses 4260 4273 +13
- Partials 798 799 +1 see 3 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add after_script to .system_tests base job to upload JUnit results to Datadog Test Optimization using the existing upload script - Add tracer-release scenario group to configure_system_tests on schedule and master runs - Remove separate GitHub Actions nightly workflow Made-with: Cursor
The silent wrapper's grep returns exit code 1 when no summary lines are found, causing the after_script to fail. Use the non-silent version with || true to prevent after_script failures. Made-with: Cursor
Replace the generic upload-junit-to-datadog.sh with a custom after_script that: - Uses --service system-tests (not dd-trace-php-tests) - References logs directly from system-tests/logs*/ - Uses the datadog-ci standalone binary (no npm needed) - Uses Python for JSON/zip (guaranteed available in the image) - Provides explicit error messages instead of silent exit 0 Made-with: Cursor
Benchmarks [ tracer ]Benchmark execution time: 2026-03-05 12:42:20 Comparing candidate commit a65519d in PR branch Found 5 performance improvements and 9 performance regressions! Performance is the same for 180 metrics, 0 unstable metrics. scenario:MessagePackSerializationBench/benchMessagePackSerialization
scenario:MessagePackSerializationBench/benchMessagePackSerialization-opcache
scenario:PDOBench/benchPDOBaseline-opcache
scenario:PHPRedisBench/benchRedisBaseline
scenario:PHPRedisBench/benchRedisOverhead
scenario:SamplingRuleMatchingBench/benchRegexMatching1
scenario:SamplingRuleMatchingBench/benchRegexMatching1-opcache
scenario:SamplingRuleMatchingBench/benchRegexMatching2
scenario:SamplingRuleMatchingBench/benchRegexMatching2-opcache
scenario:SamplingRuleMatchingBench/benchRegexMatching3
scenario:SamplingRuleMatchingBench/benchRegexMatching3-opcache
scenario:SamplingRuleMatchingBench/benchRegexMatching4
scenario:SamplingRuleMatchingBench/benchRegexMatching4-opcache
scenario:SymfonyBench/benchSymfonyDdprof-opcache
|
9a812c9 to
578e0b6
Compare
|
For this to work two things need to be done: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a65519dc59
ℹ️ 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".
|
|
||
| jobs: | ||
| system-tests: | ||
| uses: DataDog/system-tests/.github/workflows/system-tests.yml@main |
There was a problem hiding this comment.
Pin reusable workflow ref before passing API key secrets
This job passes DD_API_KEY/TEST_OPTIMIZATION_API_KEY into a reusable workflow referenced by mutable @main, so any upstream change on DataDog/system-tests immediately executes here with access to those secrets. In the event of an upstream compromise or an unintended change, secrets can be exposed without any commit in this repository; pinning to an immutable commit SHA avoids that supply-chain risk.
Useful? React with 👍 / 👎.
| /tmp/datadog-ci junit upload \ | ||
| system-tests/logs*/reportJunit.xml \ |
There was a problem hiding this comment.
Check junit upload exit status before declaring completion
Because this block runs with set +e, datadog-ci junit upload can fail (for example on transient network/auth/API errors) and the script will still continue to print Upload complete. That creates a false-success signal while silently dropping test results from Test Optimization; explicitly checking the upload command status and logging a failure path would prevent this blind spot.
Useful? React with 👍 / 👎.
Description
Two changes to the system-tests CI integration:
Upload all system-tests results to Test Optimization — adds an
after_scriptto the.system_testsbase job that copies JUnit XML files and uploads them via the existingsilent-upload-junit-to-datadog.shscript.Add
tracer-releasenightly — create a new system-tests workflow that uses the official system-tests reusable workflow to run the tracer-release scenario group on master.This is meant to replace the system-tests-dashboard nightly.
Reviewer checklist