Skip to content

Conversation

@cbeauchesne
Copy link
Contributor

@cbeauchesne cbeauchesne commented Oct 13, 2025

What does this PR do?

  • Adds junit report on mocha based tests an system-tests, then report them to datadog

Changes

  • change .mocharc.yml to .mocharc.js
  • Add multi-reporter and spec + junit export, with node version in filename (note, the config of mocha is not trivial, I failed to add all conf in .mocharc.js and I had to add an extra conf file 😢 )
  • Report system-tests to Datadog fca1709
  • Report all tests to Datadog

Extra : adds .tap/* in gitignore (not related to this PR, I can remove it if needed)

Good to know : #1367

Not in this PR

  • tap: There is no version that support both nyc (dropped in v18 in favor of c8) and junit (introduced in v18). The used version is quite old, so it may be a good idea to update it. Though, using two different coverage tool is not an option, so this part must be addressed in a different PR. This current Pr will focus on mocha and system-tests. Side note, do we want this? mocha seems to be the target.
  • test:eslint-rules -> only lint, will see later if needed

Motivation

Additional Notes

@github-actions
Copy link

github-actions bot commented Oct 13, 2025

Overall package size

Self size: 12.82 MB
Deduped: 115.43 MB
No deduping: 117.64 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.2.1 | 20.64 MB | 20.65 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.11.1 | 9.96 MB | 10.34 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.4 | 2.95 MB | 5.73 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @opentelemetry/resources | 1.9.1 | 306.54 kB | 1.74 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api-logs | 0.205.0 | 201.51 kB | 1.42 MB | | @opentelemetry/api | 1.9.0 | 1.22 MB | 1.22 MB | | jsonpath-plus | 10.3.0 | 617.18 kB | 1.08 MB | | import-in-the-middle | 1.15.0 | 127.66 kB | 856.24 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 kB | | @datadog/openfeature-node-server | 0.1.0-preview.10 | 95.11 kB | 401.46 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | source-map | 0.7.6 | 185.63 kB | 185.63 kB | | pprof-format | 2.2.1 | 163.06 kB | 163.06 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 7.0.5 | 63.38 kB | 63.38 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.3 | 23.74 kB | 23.74 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |

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

@codecov
Copy link

codecov bot commented Oct 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.12%. Comparing base (7f63420) to head (7e13a47).
⚠️ Report is 15 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6649   +/-   ##
=======================================
  Coverage   84.11%   84.12%           
=======================================
  Files         503      505    +2     
  Lines       21006    21027   +21     
=======================================
+ Hits        17670    17689   +19     
- Misses       3336     3338    +2     

☔ View full report in Codecov by Sentry.
📢 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.

@pr-commenter
Copy link

pr-commenter bot commented Oct 13, 2025

Benchmarks

Benchmark execution time: 2025-10-17 19:35:03

Comparing candidate commit 7e13a47 in PR branch cbeauchesne/junit with baseline commit 7f63420 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 1602 metrics, 68 unstable metrics.

@cbeauchesne cbeauchesne force-pushed the cbeauchesne/junit branch 8 times, most recently from aa03584 to 0915d20 Compare October 14, 2025 07:54
@datadog-official

This comment has been minimized.

@cbeauchesne cbeauchesne force-pushed the cbeauchesne/junit branch 4 times, most recently from f8a5057 to 7761623 Compare October 17, 2025 18:30
@cbeauchesne cbeauchesne marked this pull request as ready for review October 17, 2025 19:01
@cbeauchesne cbeauchesne requested review from a team as code owners October 17, 2025 19:01
@cbeauchesne cbeauchesne requested review from khanayan123 and removed request for a team October 17, 2025 19:01
Copy link
Member

@rochdev rochdev left a comment

Choose a reason for hiding this comment

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

LGTM. It would be nice to be able to make it so that codecov+junit can be defined in only one place as a reusable action, but unless there is a way to pass secrets more easily I guess there wouldn't be much to gain.

@cbeauchesne cbeauchesne merged commit b4c21ae into master Oct 17, 2025
758 checks passed
@cbeauchesne cbeauchesne deleted the cbeauchesne/junit branch October 17, 2025 20:02
dd-octo-sts bot pushed a commit that referenced this pull request Oct 18, 2025
* Add junit job for mocha

* mocha multi reporter

* Licences

* yarn dependencies:dedupe

* Activate push to test optimization on system-tests

* Introduce and deploy push-junit

* Use good env var names

* Add --service dd-trace-js-tests

* fix lint

* Use good secret

* Remove push-junit

* Use DataDog/junit-upload-github-action

* push platform tests to test optim

* Set api key for system-tests

* mocha configuration

* Deploy on all jobs

* Fix typo

* Lint

* fix esbuild cwd

* Removes a leftover in gitignore
@dd-octo-sts dd-octo-sts bot mentioned this pull request Oct 18, 2025
juan-fernandez pushed a commit that referenced this pull request Oct 22, 2025
* Add junit job for mocha

* mocha multi reporter

* Licences

* yarn dependencies:dedupe

* Activate push to test optimization on system-tests

* Introduce and deploy push-junit

* Use good env var names

* Add --service dd-trace-js-tests

* fix lint

* Use good secret

* Remove push-junit

* Use DataDog/junit-upload-github-action

* push platform tests to test optim

* Set api key for system-tests

* mocha configuration

* Deploy on all jobs

* Fix typo

* Lint

* fix esbuild cwd

* Removes a leftover in gitignore
jordan-wong pushed a commit that referenced this pull request Oct 28, 2025
* Add junit job for mocha

* mocha multi reporter

* Licences

* yarn dependencies:dedupe

* Activate push to test optimization on system-tests

* Introduce and deploy push-junit

* Use good env var names

* Add --service dd-trace-js-tests

* fix lint

* Use good secret

* Remove push-junit

* Use DataDog/junit-upload-github-action

* push platform tests to test optim

* Set api key for system-tests

* mocha configuration

* Deploy on all jobs

* Fix typo

* Lint

* fix esbuild cwd

* Removes a leftover in gitignore
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.

4 participants