Skip to content

Commit 5cb2ac3

Browse files
committed
add codeowners validation and ensure teams for all tests
1 parent 5d8737d commit 5cb2ac3

4 files changed

Lines changed: 51 additions & 35 deletions

File tree

.github/workflows/project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4343
- uses: ./.github/actions/node/latest
4444
- uses: ./.github/actions/install
45-
- run: npm run lint
45+
- run: npm run lint && npm run lint:codeowners
4646

4747
verify-exercised-tests:
4848
runs-on: ubuntu-latest

CODEOWNERS

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
* @DataDog/dd-trace-js
2-
1+
# AppSec
32
/integration-tests/appsec/ @DataDog/asm-js
43
/packages/dd-trace/src/appsec/ @DataDog/asm-js
54
/packages/dd-trace/test/appsec/ @DataDog/asm-js
@@ -8,19 +7,30 @@
87
/packages/dd-trace/src/aiguard/ @DataDog/asm-js
98
/packages/dd-trace/test/aiguard/ @DataDog/asm-js
109

10+
/packages/dd-trace/*/standalone @DataDog/asm-js
11+
12+
# Dynamic Instrumentation
1113
/integration-tests/debugger/ @DataDog/debugger-nodejs
1214
/packages/datadog-code-origin/ @DataDog/debugger-nodejs
1315
/packages/datadog-plugin-*/**/code_origin.* @DataDog/debugger-nodejs
1416
/packages/dd-trace/src/debugger/ @DataDog/debugger-nodejs
1517
/packages/dd-trace/test/debugger/ @DataDog/debugger-nodejs
1618

19+
# Serverless
1720
/packages/dd-trace/src/lambda/ @DataDog/serverless-aws @DataDog/apm-serverless
1821
/packages/dd-trace/test/lambda/ @DataDog/serverless-aws @DataDog/apm-serverless
1922

23+
# IDM
24+
/packages/datadog-esbuild @Datadog/apm-idm-js
2025
/packages/datadog-plugin-*/ @Datadog/apm-idm-js
2126
/packages/datadog-instrumentations/ @Datadog/apm-idm-js
2227
/packages/ddtrace/src/plugins/ @Datadog/apm-idm-js
2328
/packages/ddtrace/test/plugins/ @Datadog/apm-idm-js
29+
/packages/dd-trace/src/service-naming/ @Datadog/apm-idm-js
30+
/packages/dd-trace/test/service-naming/ @Datadog/apm-idm-js
31+
32+
# Test Optimization
33+
/ci @DataDog/ci-app-libraries
2434

2535
/packages/dd-trace/src/ci-visibility/ @DataDog/ci-app-libraries
2636
/packages/datadog-plugin-jest/ @DataDog/ci-app-libraries
@@ -58,9 +68,6 @@
5868
/integration-tests/opentelemetry/ @DataDog/apm-sdk-capabilities-js
5969
/integration-tests/remote_config.spec.js @DataDog/apm-sdk-capabilities-js
6070

61-
/packages/dd-trace/src/service-naming/ @Datadog/apm-idm-js
62-
/packages/dd-trace/test/service-naming/ @Datadog/apm-idm-js
63-
6471
# LLM Observability
6572
/packages/datadog-instrumentations/src/ai.js @DataDog/ml-observability
6673
/packages/datadog-instrumentations/src/anthropic.js @DataDog/ml-observability
@@ -120,3 +127,14 @@
120127
/.github/workflows/profiling.yml @DataDog/profiling-js
121128
/.github/workflows/system-tests.yml @DataDog/asm-js
122129
/.github/workflows/test-optimization.yml @DataDog/ci-app-libraries
130+
131+
# Profiling
132+
/packages/dd-trace/*/profiling @DataDog/profiling-js
133+
134+
# Language Platform
135+
/packages/datadog-core @DataDog/lang-platform-js
136+
/packages/datadog-shimmer @DataDog/lang-platform-js
137+
/packages/dd-trace/*/crashtracking @DataDog/lang-platform-js
138+
/packages/dd-trace/test/ritm-tests @DataDog/lang-platform-js
139+
/packages/dd-trace/test/ritm.spec.js @DataDog/lang-platform-js
140+
/packages/dd-trace/test/setup @DataDog/lang-platform-js

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"lint": "node scripts/check_licenses.js && node scripts/check-no-coverage-artifacts.js && eslint . --concurrency=auto --max-warnings 0",
1717
"lint:fix": "node scripts/check_licenses.js && node scripts/check-no-coverage-artifacts.js && eslint . --concurrency=auto --max-warnings 0 --fix",
1818
"lint:inspect": "npx @eslint/config-inspector@latest",
19+
"lint:codeowners": "github-codeowners audit -u -c CODEOWNERS | grep -q .spec.js && exit 1 || grep .spec.js",
1920
"release:proposal": "node scripts/release/proposal",
2021
"services": "node ./scripts/install_plugin_modules && node packages/dd-trace/test/setup/services",
2122
"test": "echo '\nError: The root \"npm test\" command is intentionally disabled.\n\nInstead, run specific test suites:\n - npm run test:trace:core\n - npm run test:appsec\n - etc.\n\nOr run individual test files:\n npx mocha path/to/test.spec.js\n\nSee CONTRIBUTING.md (Testing section) for more details.\n' && exit 1",
@@ -151,6 +152,7 @@
151152
"@msgpack/msgpack": "^3.1.3",
152153
"@openfeature/core": "^1.8.1",
153154
"@openfeature/server-sdk": "~1.20.0",
155+
"@snyk/github-codeowners": "^1.1.0",
154156
"@stylistic/eslint-plugin": "^5.7.1",
155157
"@types/mocha": "^10.0.10",
156158
"@types/node": "^18.19.106",

yarn.lock

Lines changed: 25 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -707,6 +707,15 @@
707707
"@sinonjs/commons" "^3.0.1"
708708
type-detect "^4.1.0"
709709

710+
"@snyk/github-codeowners@^1.1.0":
711+
version "1.1.0"
712+
resolved "https://registry.yarnpkg.com/@snyk/github-codeowners/-/github-codeowners-1.1.0.tgz#45b99732c3c38b5f5b47e43d2b0c9db67a6d2bcc"
713+
integrity sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==
714+
dependencies:
715+
commander "^4.1.1"
716+
ignore "^5.1.8"
717+
p-map "^4.0.0"
718+
710719
"@stylistic/eslint-plugin@^5.7.1":
711720
version "5.7.1"
712721
resolved "https://registry.yarnpkg.com/@stylistic/eslint-plugin/-/eslint-plugin-5.7.1.tgz#bb108186a0133071b38be5fa705cd262260be8a8"
@@ -1222,6 +1231,11 @@ commander@^10.0.1:
12221231
resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
12231232
integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
12241233

1234+
commander@^4.1.1:
1235+
version "4.1.1"
1236+
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
1237+
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
1238+
12251239
comment-parser@1.4.5:
12261240
version "1.4.5"
12271241
resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.5.tgz#6c595cd090737a1010fe5ff40d86e1d21b7bd6ce"
@@ -2287,7 +2301,7 @@ iconv-lite@^0.7.0, iconv-lite@~0.7.0:
22872301
dependencies:
22882302
safer-buffer ">= 2.1.2 < 3.0.0"
22892303

2290-
ignore@^5.2.0, ignore@^5.3.2:
2304+
ignore@^5.1.8, ignore@^5.2.0, ignore@^5.3.2:
22912305
version "5.3.2"
22922306
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
22932307
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
@@ -3246,6 +3260,13 @@ p-map@^3.0.0:
32463260
dependencies:
32473261
aggregate-error "^3.0.0"
32483262

3263+
p-map@^4.0.0:
3264+
version "4.0.0"
3265+
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
3266+
integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
3267+
dependencies:
3268+
aggregate-error "^3.0.0"
3269+
32493270
p-try@^2.0.0:
32503271
version "2.2.0"
32513272
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@@ -3856,16 +3877,7 @@ streamsearch@^1.1.0:
38563877
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
38573878
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
38583879

3859-
"string-width-cjs@npm:string-width@^4.2.0":
3860-
version "4.2.3"
3861-
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
3862-
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
3863-
dependencies:
3864-
emoji-regex "^8.0.0"
3865-
is-fullwidth-code-point "^3.0.0"
3866-
strip-ansi "^6.0.1"
3867-
3868-
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
3880+
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
38693881
version "4.2.3"
38703882
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
38713883
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -3929,14 +3941,7 @@ string_decoder@~1.1.1:
39293941
dependencies:
39303942
safe-buffer "~5.1.0"
39313943

3932-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
3933-
version "6.0.1"
3934-
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
3935-
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
3936-
dependencies:
3937-
ansi-regex "^5.0.1"
3938-
3939-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
3944+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
39403945
version "6.0.1"
39413946
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
39423947
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -4289,7 +4294,7 @@ workerpool@^9.2.0:
42894294
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.3.4.tgz#f6c92395b2141afd78e2a889e80cb338fe9fca41"
42904295
integrity sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==
42914296

4292-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
4297+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
42934298
version "7.0.0"
42944299
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
42954300
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -4307,15 +4312,6 @@ wrap-ansi@^6.2.0:
43074312
string-width "^4.1.0"
43084313
strip-ansi "^6.0.0"
43094314

4310-
wrap-ansi@^7.0.0:
4311-
version "7.0.0"
4312-
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
4313-
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
4314-
dependencies:
4315-
ansi-styles "^4.0.0"
4316-
string-width "^4.1.0"
4317-
strip-ansi "^6.0.0"
4318-
43194315
wrap-ansi@^8.1.0:
43204316
version "8.1.0"
43214317
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"

0 commit comments

Comments
 (0)