@datadog/datadog-ci 2.40.3 → 2.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/README.md +1 -0
  2. package/dist/commands/deployment/cli.js +2 -1
  3. package/dist/commands/deployment/cli.js.map +1 -1
  4. package/dist/commands/deployment/correlate.d.ts +18 -0
  5. package/dist/commands/deployment/correlate.js +154 -0
  6. package/dist/commands/deployment/correlate.js.map +1 -0
  7. package/dist/commands/dsyms/utils.js +2 -4
  8. package/dist/commands/dsyms/utils.js.map +1 -1
  9. package/dist/commands/elf-symbols/elf.d.ts +5 -3
  10. package/dist/commands/elf-symbols/elf.js +18 -16
  11. package/dist/commands/elf-symbols/elf.js.map +1 -1
  12. package/dist/commands/elf-symbols/helpers.js +1 -1
  13. package/dist/commands/elf-symbols/interfaces.d.ts +6 -2
  14. package/dist/commands/elf-symbols/upload.d.ts +3 -0
  15. package/dist/commands/elf-symbols/upload.js +46 -22
  16. package/dist/commands/elf-symbols/upload.js.map +1 -1
  17. package/dist/commands/sarif/renderer.d.ts +1 -1
  18. package/dist/commands/sarif/renderer.js +5 -2
  19. package/dist/commands/sarif/renderer.js.map +1 -1
  20. package/dist/commands/sarif/upload.d.ts +1 -0
  21. package/dist/commands/sarif/upload.js +12 -35
  22. package/dist/commands/sarif/upload.js.map +1 -1
  23. package/dist/commands/sarif/validation.d.ts +15 -0
  24. package/dist/commands/sarif/validation.js +78 -0
  25. package/dist/commands/sarif/validation.js.map +1 -0
  26. package/dist/commands/sbom/upload.d.ts +1 -0
  27. package/dist/commands/sbom/upload.js +6 -14
  28. package/dist/commands/sbom/upload.js.map +1 -1
  29. package/dist/commands/synthetics/batch.js +3 -2
  30. package/dist/commands/synthetics/batch.js.map +1 -1
  31. package/dist/commands/synthetics/compatibility.d.ts +2 -2
  32. package/dist/commands/synthetics/compatibility.js +26 -26
  33. package/dist/commands/synthetics/compatibility.js.map +1 -1
  34. package/dist/commands/synthetics/interfaces.d.ts +3 -2
  35. package/dist/commands/synthetics/interfaces.js.map +1 -1
  36. package/dist/commands/synthetics/reporters/junit.d.ts +1 -0
  37. package/dist/commands/synthetics/reporters/junit.js +1 -0
  38. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  39. package/dist/commands/synthetics/run-tests-command.d.ts +1 -0
  40. package/dist/commands/synthetics/run-tests-command.js +25 -17
  41. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  42. package/dist/commands/synthetics/utils/internal.d.ts +4 -0
  43. package/dist/commands/synthetics/utils/internal.js +37 -2
  44. package/dist/commands/synthetics/utils/internal.js.map +1 -1
  45. package/dist/commands/synthetics/utils/public.d.ts +3 -0
  46. package/dist/commands/synthetics/utils/public.js +3 -0
  47. package/dist/commands/synthetics/utils/public.js.map +1 -1
  48. package/dist/helpers/git/get-git-data.d.ts +2 -0
  49. package/dist/helpers/git/get-git-data.js +11 -1
  50. package/dist/helpers/git/get-git-data.js.map +1 -1
  51. package/dist/helpers/tags.d.ts +2 -1
  52. package/dist/helpers/tags.js +3 -2
  53. package/dist/helpers/tags.js.map +1 -1
  54. package/package.json +14 -12
  55. package/dist/__tests__/cli.test.d.ts +0 -1
  56. package/dist/__tests__/cli.test.js +0 -41
  57. package/dist/__tests__/cli.test.js.map +0 -1
  58. package/dist/commands/cloud-run/__tests__/fixtures.d.ts +0 -2
  59. package/dist/commands/cloud-run/__tests__/fixtures.js +0 -12
  60. package/dist/commands/cloud-run/__tests__/fixtures.js.map +0 -1
  61. package/dist/commands/cloud-run/__tests__/flare.test.d.ts +0 -1
  62. package/dist/commands/cloud-run/__tests__/flare.test.js +0 -557
  63. package/dist/commands/cloud-run/__tests__/flare.test.js.map +0 -1
  64. package/dist/commands/deployment/__tests__/mark.test.d.ts +0 -1
  65. package/dist/commands/deployment/__tests__/mark.test.js +0 -47
  66. package/dist/commands/deployment/__tests__/mark.test.js.map +0 -1
  67. package/dist/commands/dora/__tests__/deployment.test.d.ts +0 -1
  68. package/dist/commands/dora/__tests__/deployment.test.js +0 -201
  69. package/dist/commands/dora/__tests__/deployment.test.js.map +0 -1
  70. package/dist/commands/dsyms/__tests__/upload.test.d.ts +0 -1
  71. package/dist/commands/dsyms/__tests__/upload.test.js +0 -346
  72. package/dist/commands/dsyms/__tests__/upload.test.js.map +0 -1
  73. package/dist/commands/dsyms/__tests__/utils.test.d.ts +0 -1
  74. package/dist/commands/dsyms/__tests__/utils.test.js +0 -103
  75. package/dist/commands/dsyms/__tests__/utils.test.js.map +0 -1
  76. package/dist/commands/elf-symbols/__tests__/elf.test.d.ts +0 -1
  77. package/dist/commands/elf-symbols/__tests__/elf.test.js +0 -813
  78. package/dist/commands/elf-symbols/__tests__/elf.test.js.map +0 -1
  79. package/dist/commands/elf-symbols/__tests__/upload.test.d.ts +0 -1
  80. package/dist/commands/elf-symbols/__tests__/upload.test.js +0 -249
  81. package/dist/commands/elf-symbols/__tests__/upload.test.js.map +0 -1
  82. package/dist/commands/flutter-symbols/__tests__/upload.test.d.ts +0 -1
  83. package/dist/commands/flutter-symbols/__tests__/upload.test.js +0 -617
  84. package/dist/commands/flutter-symbols/__tests__/upload.test.js.map +0 -1
  85. package/dist/commands/gate/__tests__/evaluate.test.d.ts +0 -1
  86. package/dist/commands/gate/__tests__/evaluate.test.js +0 -398
  87. package/dist/commands/gate/__tests__/evaluate.test.js.map +0 -1
  88. package/dist/commands/gate/__tests__/scope.test.d.ts +0 -1
  89. package/dist/commands/gate/__tests__/scope.test.js +0 -29
  90. package/dist/commands/gate/__tests__/scope.test.js.map +0 -1
  91. package/dist/commands/git-metadata/__tests__/git.test.d.ts +0 -1
  92. package/dist/commands/git-metadata/__tests__/git.test.js +0 -132
  93. package/dist/commands/git-metadata/__tests__/git.test.js.map +0 -1
  94. package/dist/commands/git-metadata/__tests__/gitdb.test.d.ts +0 -1
  95. package/dist/commands/git-metadata/__tests__/gitdb.test.js +0 -1386
  96. package/dist/commands/git-metadata/__tests__/gitdb.test.js.map +0 -1
  97. package/dist/commands/git-metadata/__tests__/library.test.d.ts +0 -1
  98. package/dist/commands/git-metadata/__tests__/library.test.js +0 -118
  99. package/dist/commands/git-metadata/__tests__/library.test.js.map +0 -1
  100. package/dist/commands/git-metadata/__tests__/upload.test.d.ts +0 -1
  101. package/dist/commands/git-metadata/__tests__/upload.test.js +0 -52
  102. package/dist/commands/git-metadata/__tests__/upload.test.js.map +0 -1
  103. package/dist/commands/junit/__tests__/id.test.d.ts +0 -1
  104. package/dist/commands/junit/__tests__/id.test.js +0 -24
  105. package/dist/commands/junit/__tests__/id.test.js.map +0 -1
  106. package/dist/commands/junit/__tests__/upload.test.d.ts +0 -1
  107. package/dist/commands/junit/__tests__/upload.test.js +0 -495
  108. package/dist/commands/junit/__tests__/upload.test.js.map +0 -1
  109. package/dist/commands/lambda/__tests__/fixtures.d.ts +0 -51
  110. package/dist/commands/lambda/__tests__/fixtures.js +0 -146
  111. package/dist/commands/lambda/__tests__/fixtures.js.map +0 -1
  112. package/dist/commands/lambda/__tests__/flare.test.d.ts +0 -1
  113. package/dist/commands/lambda/__tests__/flare.test.js +0 -730
  114. package/dist/commands/lambda/__tests__/flare.test.js.map +0 -1
  115. package/dist/commands/lambda/__tests__/functions/commons.test.d.ts +0 -1
  116. package/dist/commands/lambda/__tests__/functions/commons.test.js +0 -791
  117. package/dist/commands/lambda/__tests__/functions/commons.test.js.map +0 -1
  118. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.d.ts +0 -1
  119. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js +0 -386
  120. package/dist/commands/lambda/__tests__/functions/instrument.part1.test.js.map +0 -1
  121. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.d.ts +0 -1
  122. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js +0 -721
  123. package/dist/commands/lambda/__tests__/functions/instrument.part2.test.js.map +0 -1
  124. package/dist/commands/lambda/__tests__/functions/uninstrument.test.d.ts +0 -1
  125. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js +0 -513
  126. package/dist/commands/lambda/__tests__/functions/uninstrument.test.js.map +0 -1
  127. package/dist/commands/lambda/__tests__/functions/versionChecker.test.d.ts +0 -1
  128. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js +0 -33
  129. package/dist/commands/lambda/__tests__/functions/versionChecker.test.js.map +0 -1
  130. package/dist/commands/lambda/__tests__/instrument.test.d.ts +0 -1
  131. package/dist/commands/lambda/__tests__/instrument.test.js +0 -1511
  132. package/dist/commands/lambda/__tests__/instrument.test.js.map +0 -1
  133. package/dist/commands/lambda/__tests__/loggroup.test.d.ts +0 -1
  134. package/dist/commands/lambda/__tests__/loggroup.test.js +0 -340
  135. package/dist/commands/lambda/__tests__/loggroup.test.js.map +0 -1
  136. package/dist/commands/lambda/__tests__/prompt.test.d.ts +0 -1
  137. package/dist/commands/lambda/__tests__/prompt.test.js +0 -206
  138. package/dist/commands/lambda/__tests__/prompt.test.js.map +0 -1
  139. package/dist/commands/lambda/__tests__/tags.test.d.ts +0 -1
  140. package/dist/commands/lambda/__tests__/tags.test.js +0 -305
  141. package/dist/commands/lambda/__tests__/tags.test.js.map +0 -1
  142. package/dist/commands/lambda/__tests__/uninstrument.test.d.ts +0 -1
  143. package/dist/commands/lambda/__tests__/uninstrument.test.js +0 -722
  144. package/dist/commands/lambda/__tests__/uninstrument.test.js.map +0 -1
  145. package/dist/commands/measure/__tests__/measure.test.d.ts +0 -1
  146. package/dist/commands/measure/__tests__/measure.test.js +0 -110
  147. package/dist/commands/measure/__tests__/measure.test.js.map +0 -1
  148. package/dist/commands/react-native/__tests__/codepush.test.d.ts +0 -1
  149. package/dist/commands/react-native/__tests__/codepush.test.js +0 -161
  150. package/dist/commands/react-native/__tests__/codepush.test.js.map +0 -1
  151. package/dist/commands/react-native/__tests__/interfaces.test.d.ts +0 -1
  152. package/dist/commands/react-native/__tests__/interfaces.test.js +0 -33
  153. package/dist/commands/react-native/__tests__/interfaces.test.js.map +0 -1
  154. package/dist/commands/react-native/__tests__/upload.test.d.ts +0 -1
  155. package/dist/commands/react-native/__tests__/upload.test.js +0 -238
  156. package/dist/commands/react-native/__tests__/upload.test.js.map +0 -1
  157. package/dist/commands/react-native/__tests__/utils.test.d.ts +0 -1
  158. package/dist/commands/react-native/__tests__/utils.test.js +0 -27
  159. package/dist/commands/react-native/__tests__/utils.test.js.map +0 -1
  160. package/dist/commands/react-native/__tests__/xcode.test.d.ts +0 -1
  161. package/dist/commands/react-native/__tests__/xcode.test.js +0 -465
  162. package/dist/commands/react-native/__tests__/xcode.test.js.map +0 -1
  163. package/dist/commands/sarif/__tests__/upload.test.d.ts +0 -1
  164. package/dist/commands/sarif/__tests__/upload.test.js +0 -228
  165. package/dist/commands/sarif/__tests__/upload.test.js.map +0 -1
  166. package/dist/commands/sbom/__tests__/payload.test.d.ts +0 -1
  167. package/dist/commands/sbom/__tests__/payload.test.js +0 -262
  168. package/dist/commands/sbom/__tests__/payload.test.js.map +0 -1
  169. package/dist/commands/sbom/__tests__/validation.test.d.ts +0 -1
  170. package/dist/commands/sbom/__tests__/validation.test.js +0 -41
  171. package/dist/commands/sbom/__tests__/validation.test.js.map +0 -1
  172. package/dist/commands/sourcemaps/__tests__/upload.test.d.ts +0 -1
  173. package/dist/commands/sourcemaps/__tests__/upload.test.js +0 -270
  174. package/dist/commands/sourcemaps/__tests__/upload.test.js.map +0 -1
  175. package/dist/commands/sourcemaps/__tests__/utils.test.d.ts +0 -1
  176. package/dist/commands/sourcemaps/__tests__/utils.test.js +0 -31
  177. package/dist/commands/sourcemaps/__tests__/utils.test.js.map +0 -1
  178. package/dist/commands/stepfunctions/__tests__/awsCommands.test.d.ts +0 -1
  179. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js +0 -192
  180. package/dist/commands/stepfunctions/__tests__/awsCommands.test.js.map +0 -1
  181. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.d.ts +0 -6
  182. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js +0 -45
  183. package/dist/commands/stepfunctions/__tests__/fixtures/aws-resources.js.map +0 -1
  184. package/dist/commands/stepfunctions/__tests__/fixtures/cli.d.ts +0 -5
  185. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js +0 -19
  186. package/dist/commands/stepfunctions/__tests__/fixtures/cli.js.map +0 -1
  187. package/dist/commands/stepfunctions/__tests__/helpers.test.d.ts +0 -1
  188. package/dist/commands/stepfunctions/__tests__/helpers.test.js +0 -205
  189. package/dist/commands/stepfunctions/__tests__/helpers.test.js.map +0 -1
  190. package/dist/commands/stepfunctions/__tests__/instrument.test.d.ts +0 -1
  191. package/dist/commands/stepfunctions/__tests__/instrument.test.js +0 -431
  192. package/dist/commands/stepfunctions/__tests__/instrument.test.js.map +0 -1
  193. package/dist/commands/stepfunctions/__tests__/uninstrument.test.d.ts +0 -1
  194. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js +0 -166
  195. package/dist/commands/stepfunctions/__tests__/uninstrument.test.js.map +0 -1
  196. package/dist/commands/synthetics/__tests__/api.test.d.ts +0 -1
  197. package/dist/commands/synthetics/__tests__/api.test.js +0 -422
  198. package/dist/commands/synthetics/__tests__/api.test.js.map +0 -1
  199. package/dist/commands/synthetics/__tests__/cli.test.d.ts +0 -1
  200. package/dist/commands/synthetics/__tests__/cli.test.js +0 -1325
  201. package/dist/commands/synthetics/__tests__/cli.test.js.map +0 -1
  202. package/dist/commands/synthetics/__tests__/fixtures.d.ts +0 -149
  203. package/dist/commands/synthetics/__tests__/fixtures.js +0 -507
  204. package/dist/commands/synthetics/__tests__/fixtures.js.map +0 -1
  205. package/dist/commands/synthetics/__tests__/mobile.test.d.ts +0 -1
  206. package/dist/commands/synthetics/__tests__/mobile.test.js +0 -376
  207. package/dist/commands/synthetics/__tests__/mobile.test.js.map +0 -1
  208. package/dist/commands/synthetics/__tests__/reporters/default.test.d.ts +0 -1
  209. package/dist/commands/synthetics/__tests__/reporters/default.test.js +0 -354
  210. package/dist/commands/synthetics/__tests__/reporters/default.test.js.map +0 -1
  211. package/dist/commands/synthetics/__tests__/reporters/junit.test.d.ts +0 -1
  212. package/dist/commands/synthetics/__tests__/reporters/junit.test.js +0 -353
  213. package/dist/commands/synthetics/__tests__/reporters/junit.test.js.map +0 -1
  214. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.d.ts +0 -1
  215. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js +0 -232
  216. package/dist/commands/synthetics/__tests__/reporters/mobile/app-upload.test.js.map +0 -1
  217. package/dist/commands/synthetics/__tests__/run-tests-lib.test.d.ts +0 -1
  218. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js +0 -735
  219. package/dist/commands/synthetics/__tests__/run-tests-lib.test.js.map +0 -1
  220. package/dist/commands/synthetics/__tests__/test.test.d.ts +0 -1
  221. package/dist/commands/synthetics/__tests__/test.test.js +0 -33
  222. package/dist/commands/synthetics/__tests__/test.test.js.map +0 -1
  223. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.d.ts +0 -1
  224. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js +0 -21
  225. package/dist/commands/synthetics/__tests__/tunnel/crypto.test.js.map +0 -1
  226. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.d.ts +0 -1
  227. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js +0 -80
  228. package/dist/commands/synthetics/__tests__/tunnel/tunnel.test.js.map +0 -1
  229. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.d.ts +0 -1
  230. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js +0 -109
  231. package/dist/commands/synthetics/__tests__/tunnel/websocket.test.js.map +0 -1
  232. package/dist/commands/synthetics/__tests__/utils/internal.test.d.ts +0 -1
  233. package/dist/commands/synthetics/__tests__/utils/internal.test.js +0 -186
  234. package/dist/commands/synthetics/__tests__/utils/internal.test.js.map +0 -1
  235. package/dist/commands/synthetics/__tests__/utils/public.test.d.ts +0 -1
  236. package/dist/commands/synthetics/__tests__/utils/public.test.js +0 -1526
  237. package/dist/commands/synthetics/__tests__/utils/public.test.js.map +0 -1
  238. package/dist/commands/tag/__tests__/tag.test.d.ts +0 -1
  239. package/dist/commands/tag/__tests__/tag.test.js +0 -75
  240. package/dist/commands/tag/__tests__/tag.test.js.map +0 -1
  241. package/dist/commands/trace/__tests__/trace.test.d.ts +0 -1
  242. package/dist/commands/trace/__tests__/trace.test.js +0 -145
  243. package/dist/commands/trace/__tests__/trace.test.js.map +0 -1
  244. package/dist/commands/unity-symbols/__tests__/upload.test.d.ts +0 -1
  245. package/dist/commands/unity-symbols/__tests__/upload.test.js +0 -369
  246. package/dist/commands/unity-symbols/__tests__/upload.test.js.map +0 -1
  247. package/dist/helpers/__tests__/app.test.d.ts +0 -1
  248. package/dist/helpers/__tests__/app.test.js +0 -31
  249. package/dist/helpers/__tests__/app.test.js.map +0 -1
  250. package/dist/helpers/__tests__/ci.test.d.ts +0 -1
  251. package/dist/helpers/__tests__/ci.test.js +0 -252
  252. package/dist/helpers/__tests__/ci.test.js.map +0 -1
  253. package/dist/helpers/__tests__/fixtures.d.ts +0 -33
  254. package/dist/helpers/__tests__/fixtures.js +0 -71
  255. package/dist/helpers/__tests__/fixtures.js.map +0 -1
  256. package/dist/helpers/__tests__/flare.test.d.ts +0 -1
  257. package/dist/helpers/__tests__/flare.test.js +0 -226
  258. package/dist/helpers/__tests__/flare.test.js.map +0 -1
  259. package/dist/helpers/__tests__/fs.test.d.ts +0 -1
  260. package/dist/helpers/__tests__/fs.test.js +0 -189
  261. package/dist/helpers/__tests__/fs.test.js.map +0 -1
  262. package/dist/helpers/__tests__/plist.test.d.ts +0 -1
  263. package/dist/helpers/__tests__/plist.test.js +0 -43
  264. package/dist/helpers/__tests__/plist.test.js.map +0 -1
  265. package/dist/helpers/__tests__/prompt.test.d.ts +0 -1
  266. package/dist/helpers/__tests__/prompt.test.js +0 -71
  267. package/dist/helpers/__tests__/prompt.test.js.map +0 -1
  268. package/dist/helpers/__tests__/retry.test.d.ts +0 -1
  269. package/dist/helpers/__tests__/retry.test.js +0 -99
  270. package/dist/helpers/__tests__/retry.test.js.map +0 -1
  271. package/dist/helpers/__tests__/tags.test.d.ts +0 -1
  272. package/dist/helpers/__tests__/tags.test.js +0 -71
  273. package/dist/helpers/__tests__/tags.test.js.map +0 -1
  274. package/dist/helpers/__tests__/upload.test.d.ts +0 -1
  275. package/dist/helpers/__tests__/upload.test.js +0 -231
  276. package/dist/helpers/__tests__/upload.test.js.map +0 -1
  277. package/dist/helpers/__tests__/user-provided-git.test.d.ts +0 -1
  278. package/dist/helpers/__tests__/user-provided-git.test.js +0 -119
  279. package/dist/helpers/__tests__/user-provided-git.test.js.map +0 -1
  280. package/dist/helpers/__tests__/utils.test.d.ts +0 -1
  281. package/dist/helpers/__tests__/utils.test.js +0 -429
  282. package/dist/helpers/__tests__/utils.test.js.map +0 -1
  283. package/dist/helpers/__tests__/validation.test.d.ts +0 -1
  284. package/dist/helpers/__tests__/validation.test.js +0 -25
  285. package/dist/helpers/__tests__/validation.test.js.map +0 -1
  286. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.d.ts +0 -1
  287. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js +0 -103
  288. package/dist/helpers/git/__tests__/format-git-sourcemaps-data.test.js.map +0 -1
  289. package/dist/helpers/git/__tests__/format-git-span-data.test.d.ts +0 -1
  290. package/dist/helpers/git/__tests__/format-git-span-data.test.js +0 -121
  291. package/dist/helpers/git/__tests__/format-git-span-data.test.js.map +0 -1
  292. package/dist/helpers/git/__tests__/get-git-data.test.d.ts +0 -1
  293. package/dist/helpers/git/__tests__/get-git-data.test.js +0 -72
  294. package/dist/helpers/git/__tests__/get-git-data.test.js.map +0 -1
package/README.md CHANGED
@@ -104,6 +104,7 @@ The following are **beta** commands, you can enable them with with `DD_BETA_COMM
104
104
 
105
105
  #### `deployment`
106
106
  - `mark`: Mark a CI job as a [deployment](src/commands/deployment). [📚](https://docs.datadoghq.com/continuous_delivery/)
107
+ - `correlate`: [Correlate](src/commands/deployment/) GitOps CD deployments with application repositories CI pipelines. [📚](https://docs.datadoghq.com/continuous_delivery/deployments/argocd#correlate-deployments-with-ci-pipelines)
107
108
 
108
109
  #### `dora`
109
110
  - `deployment`: Send a new deployment event for [DORA Metrics](src/commands/dora) to Datadog. [📚](https://docs.datadoghq.com/dora_metrics/)
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const correlate_1 = require("./correlate");
3
4
  const mark_1 = require("./mark");
4
- module.exports = [mark_1.DeploymentMarkCommand];
5
+ module.exports = [mark_1.DeploymentMarkCommand, correlate_1.DeploymentCorrelateCommand];
5
6
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/deployment/cli.ts"],"names":[],"mappings":";;AAAA,iCAA4C;AAE5C,MAAM,CAAC,OAAO,GAAG,CAAC,4BAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/deployment/cli.ts"],"names":[],"mappings":";;AAAA,2CAAsD;AACtD,iCAA4C;AAE5C,MAAM,CAAC,OAAO,GAAG,CAAC,4BAAqB,EAAE,sCAA0B,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Command } from 'clipanion';
2
+ /**
3
+ * This command collects environment variables and git information to correlate commits from the
4
+ * source code repository to the configuration repository. This allows to connect pipelines triggering
5
+ * changes on the configuration repository to deployments from gitOps CD providers
6
+ */
7
+ export declare class DeploymentCorrelateCommand extends Command {
8
+ static paths: string[][];
9
+ static usage: import("clipanion").Usage;
10
+ private cdProviderParam;
11
+ private configurationRepo;
12
+ private dryRun;
13
+ private config;
14
+ private logger;
15
+ execute(): Promise<1 | undefined>;
16
+ private sendCorrelationData;
17
+ private validateTags;
18
+ }
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DeploymentCorrelateCommand = void 0;
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const clipanion_1 = require("clipanion");
18
+ const simple_git_1 = __importDefault(require("simple-git"));
19
+ const ci_1 = require("../../helpers/ci");
20
+ const get_git_data_1 = require("../../helpers/git/get-git-data");
21
+ const logger_1 = require("../../helpers/logger");
22
+ const retry_1 = require("../../helpers/retry");
23
+ const tags_1 = require("../../helpers/tags");
24
+ const utils_1 = require("../../helpers/utils");
25
+ /**
26
+ * This command collects environment variables and git information to correlate commits from the
27
+ * source code repository to the configuration repository. This allows to connect pipelines triggering
28
+ * changes on the configuration repository to deployments from gitOps CD providers
29
+ */
30
+ class DeploymentCorrelateCommand extends clipanion_1.Command {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.cdProviderParam = clipanion_1.Option.String('--provider');
34
+ this.configurationRepo = clipanion_1.Option.String('--config-repo');
35
+ this.dryRun = clipanion_1.Option.Boolean('--dry-run', false);
36
+ this.config = {
37
+ apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
38
+ };
39
+ this.logger = new logger_1.Logger((s) => this.context.stdout.write(s), logger_1.LogLevel.INFO);
40
+ }
41
+ execute() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ if (!this.config.apiKey) {
44
+ this.logger.error(`Neither ${chalk_1.default.red.bold('DATADOG_API_KEY')} nor ${chalk_1.default.red.bold('DD_API_KEY')} is in your environment.`);
45
+ return 1;
46
+ }
47
+ if (!this.cdProviderParam) {
48
+ this.logger.error('Missing CD provider. It must be provided with --provider');
49
+ return 1;
50
+ }
51
+ this.cdProviderParam = this.cdProviderParam.toLowerCase();
52
+ const tags = (0, ci_1.getCISpanTags)() || {};
53
+ if (!this.validateTags(tags)) {
54
+ return 1;
55
+ }
56
+ let envVars = {};
57
+ if (tags[tags_1.CI_ENV_VARS]) {
58
+ envVars = JSON.parse(tags[tags_1.CI_ENV_VARS]);
59
+ delete tags[tags_1.CI_ENV_VARS];
60
+ }
61
+ const ciEnv = Object.assign(Object.assign({}, tags), envVars);
62
+ const git = (0, simple_git_1.default)({
63
+ baseDir: process.cwd(),
64
+ binary: 'git',
65
+ maxConcurrentProcesses: 2, // max 2 git commands at the same time
66
+ });
67
+ const currentBranch = yield (0, get_git_data_1.gitCurrentBranch)(git);
68
+ if (!currentBranch) {
69
+ this.logger.error('Could not get current branch');
70
+ return 1;
71
+ }
72
+ let localCommitShas;
73
+ if (this.configurationRepo) {
74
+ localCommitShas = yield (0, get_git_data_1.gitLocalCommitShas)(git, currentBranch);
75
+ }
76
+ else {
77
+ ;
78
+ [this.configurationRepo, localCommitShas] = yield Promise.all([
79
+ (0, get_git_data_1.gitRepositoryURL)(git),
80
+ (0, get_git_data_1.gitLocalCommitShas)(git, currentBranch),
81
+ ]);
82
+ }
83
+ if (this.configurationRepo === undefined || this.configurationRepo === '') {
84
+ this.logger.error('Could not retrieve repository URL, check out a repository or provide it with --config-repo');
85
+ return 1;
86
+ }
87
+ yield this.sendCorrelationData(ciEnv[tags_1.CI_PROVIDER_NAME], localCommitShas, ciEnv, this.config.apiKey);
88
+ });
89
+ }
90
+ sendCorrelationData(ciProvider, configCommitShas, ciEnv, apiKey) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const correlateEvent = {
93
+ type: 'ci_app_deployment_correlate',
94
+ attributes: {
95
+ ci_provider: ciProvider,
96
+ cd_provider: this.cdProviderParam,
97
+ config_repo_url: this.configurationRepo,
98
+ config_commit_shas: configCommitShas,
99
+ ci_env: ciEnv,
100
+ },
101
+ };
102
+ if (this.dryRun) {
103
+ this.logger.info(`[DRYRUN] Sending correlation event\n data: ` + JSON.stringify(correlateEvent, undefined, 2));
104
+ return;
105
+ }
106
+ const site = process.env.DATADOG_SITE || process.env.DD_SITE || 'datadoghq.com';
107
+ const baseAPIURL = `https://${(0, utils_1.getApiHostForSite)(site)}`;
108
+ const request = (0, utils_1.getRequestBuilder)({ baseUrl: baseAPIURL, apiKey });
109
+ const doRequest = () => request({
110
+ data: {
111
+ data: correlateEvent,
112
+ },
113
+ method: 'post',
114
+ url: '/api/v2/ci/deployments/correlate',
115
+ });
116
+ try {
117
+ yield (0, retry_1.retryRequest)(doRequest, {
118
+ maxTimeout: 30000,
119
+ minTimeout: 5000,
120
+ onRetry: (e, attempt) => {
121
+ this.logger.warn(`[attempt ${attempt}] Could not send deployment correlation data. Retrying...: ${e.message}\n`);
122
+ },
123
+ retries: 5,
124
+ });
125
+ }
126
+ catch (error) {
127
+ this.logger.error(`Failed to send deployment correlation data: ${error.message}`);
128
+ }
129
+ });
130
+ }
131
+ validateTags(tags) {
132
+ if (!tags[tags_1.GIT_REPOSITORY_URL]) {
133
+ this.logger.error('Could not extract the source code repository URL from the CI environment variables');
134
+ return false;
135
+ }
136
+ if (!tags[tags_1.GIT_SHA]) {
137
+ this.logger.error('Could not extract the commit SHA from the CI environment variables');
138
+ return false;
139
+ }
140
+ return true;
141
+ }
142
+ }
143
+ exports.DeploymentCorrelateCommand = DeploymentCorrelateCommand;
144
+ DeploymentCorrelateCommand.paths = [['deployment', 'correlate']];
145
+ DeploymentCorrelateCommand.usage = clipanion_1.Command.Usage({
146
+ category: 'CI Visibility',
147
+ description: 'Correlate GitOps CD deployments with CI pipelines.',
148
+ details: `
149
+ This command will correlate the pipeline with a GitOps CD deployment.\n
150
+ See README for additional details.
151
+ `,
152
+ examples: [['Correlate an Argo CD deployment', 'datadog-ci deployment correlate --provider argocd']],
153
+ });
154
+ //# sourceMappingURL=correlate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correlate.js","sourceRoot":"","sources":["../../../src/commands/deployment/correlate.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ exports.pluralize = exports.getBaseIntakeUrl = exports.executeLipo = exports.exe
16
16
  const fs_1 = require("fs");
17
17
  const os_1 = require("os");
18
18
  const path_1 = __importDefault(require("path"));
19
- const rimraf_1 = require("rimraf");
19
+ const rimraf_1 = __importDefault(require("rimraf"));
20
20
  const utils_1 = require("../../helpers/utils");
21
21
  const isZipFile = (filepath) => __awaiter(void 0, void 0, void 0, function* () {
22
22
  try {
@@ -36,9 +36,7 @@ const createUniqueTmpDirectory = () => __awaiter(void 0, void 0, void 0, functio
36
36
  return directoryPath;
37
37
  });
38
38
  exports.createUniqueTmpDirectory = createUniqueTmpDirectory;
39
- const deleteDirectory = (directoryPath) => __awaiter(void 0, void 0, void 0, function* () {
40
- yield (0, rimraf_1.rimraf)(directoryPath);
41
- });
39
+ const deleteDirectory = (directoryPath) => __awaiter(void 0, void 0, void 0, function* () { return new Promise((resolve, reject) => (0, rimraf_1.default)(directoryPath, () => resolve())); });
42
40
  exports.deleteDirectory = deleteDirectory;
43
41
  const zipDirectoryToArchive = (directoryPath, archivePath) => __awaiter(void 0, void 0, void 0, function* () {
44
42
  const cwd = path_1.default.dirname(directoryPath);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/dsyms/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,2BAAyB;AACzB,gDAAuB;AAEvB,mCAA6B;AAE7B,+CAAsD;AAE/C,MAAM,SAAS,GAAG,CAAO,QAAgB,EAAE,EAAE;IAClD,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,aAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE3C,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAA;KAC7D;IAAC,OAAO,KAAK,EAAE;QACd,2CAA2C;QAC3C,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA,CAAA;AATY,QAAA,SAAS,aASrB;AAEM,MAAM,wBAAwB,GAAG,GAA0B,EAAE;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAA;IAC3D,MAAM,aAAa,GAAG,IAAA,iBAAS,EAAC,IAAA,WAAM,GAAE,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjE,MAAM,aAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IAEtD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA,CAAA;AANY,QAAA,wBAAwB,4BAMpC;AAEM,MAAM,eAAe,GAAG,CAAO,aAAqB,EAAiB,EAAE;IAC5E,MAAM,IAAA,eAAM,EAAC,aAAa,CAAC,CAAA;AAC7B,CAAC,CAAA,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAEM,MAAM,qBAAqB,GAAG,CAAO,aAAqB,EAAE,WAAmB,EAAE,EAAE;IACxF,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACvC,MAAM,aAAa,GAAG,cAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAClD,MAAM,IAAA,eAAO,EAAC,WAAW,WAAW,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA,CAAA;AAJY,QAAA,qBAAqB,yBAIjC;AAEM,MAAM,uBAAuB,GAAG,CAAO,WAAmB,EAAE,aAAqB,EAAE,EAAE;IAC1F,MAAM,aAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IACtD,MAAM,IAAA,eAAO,EAAC,aAAa,WAAW,SAAS,aAAa,GAAG,CAAC,CAAA;AAClE,CAAC,CAAA,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAEM,MAAM,gBAAgB,GAAG,CAAO,QAAgB,EAA6C,EAAE,kDACpG,OAAA,IAAA,eAAO,EAAC,qBAAqB,QAAQ,GAAG,CAAC,CAAA,GAAA,CAAA;AAD9B,QAAA,gBAAgB,oBACc;AAEpC,MAAM,WAAW,GAAG,CACzB,UAAkB,EAClB,IAAY,EACZ,aAAqB,EACsB,EAAE,kDAAC,OAAA,IAAA,eAAO,EAAC,SAAS,UAAU,WAAW,IAAI,aAAa,aAAa,GAAG,CAAC,CAAA,GAAA,CAAA;AAJ3G,QAAA,WAAW,eAIgG;AAEjH,MAAM,gBAAgB,GAAG,CAAC,WAAoB,EAAE,EAAE;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAA;KAC3C;SAAM,IAAI,WAAW,EAAE;QACtB,OAAO,2BAA2B,GAAG,WAAW,CAAA;KACjD;IAED,OAAO,wCAAwC,CAAA;AACjD,CAAC,CAAA;AARY,QAAA,gBAAgB,oBAQ5B;AAEM,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE;IACxE,IAAI,EAAE,IAAI,CAAC,EAAE;QACX,OAAO,GAAG,EAAE,IAAI,MAAM,EAAE,CAAA;KACzB;IAED,OAAO,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAA;AAC5B,CAAC,CAAA;AANY,QAAA,SAAS,aAMrB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/dsyms/utils.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,10 @@ export type ElfFileMetadata = {
10
10
  gnuBuildId: string;
11
11
  goBuildId: string;
12
12
  fileHash: string;
13
- type: string;
13
+ elfType: string;
14
14
  hasDebugInfo: boolean;
15
- hasSymbols: boolean;
15
+ hasDynamicSymbolTable: boolean;
16
+ hasSymbolTable: boolean;
16
17
  hasCode: boolean;
17
18
  error?: Error;
18
19
  };
@@ -93,7 +94,8 @@ export declare const isSupportedArch: (arch: string) => boolean;
93
94
  export declare const isSupportedElfType: (type: string) => boolean;
94
95
  export declare const getSectionInfo: (sections: SectionHeader[]) => {
95
96
  hasDebugInfo: boolean;
96
- hasSymbols: boolean;
97
+ hasSymbolTable: boolean;
98
+ hasDynamicSymbolTable: boolean;
97
99
  hasCode: boolean;
98
100
  };
99
101
  export declare const getElfFileMetadata: (filename: string) => Promise<ElfFileMetadata>;
@@ -64,14 +64,6 @@ const SUPPORTED_ARCHS = [
64
64
  elf_constants_1.MACHINE_TYPES_DESCRIPTION[elf_constants_1.MachineType.EM_ARM],
65
65
  ];
66
66
  const SUPPORTED_ELF_TYPES = [elf_constants_1.ELF_TYPES_DESCRIPTION[elf_constants_1.ElfFileType.ET_DYN], elf_constants_1.ELF_TYPES_DESCRIPTION[elf_constants_1.ElfFileType.ET_EXEC]];
67
- const BFD_TARGET_FOR_ARCH = {
68
- [elf_constants_1.MACHINE_TYPES_DESCRIPTION[elf_constants_1.MachineType.EM_AARCH64]]: 'elf64-littleaarch64',
69
- [elf_constants_1.MACHINE_TYPES_DESCRIPTION[elf_constants_1.MachineType.EM_X86_64]]: 'elf64-x86_64',
70
- };
71
- const GENERIC_BFD_TARGET_FOR_ARCH = {
72
- [elf_constants_1.MACHINE_TYPES_DESCRIPTION[elf_constants_1.MachineType.EM_AARCH64]]: 'elf64-little',
73
- [elf_constants_1.MACHINE_TYPES_DESCRIPTION[elf_constants_1.MachineType.EM_X86_64]]: 'elf64-little',
74
- };
75
67
  const getBFDTargetForArch = (arch, littleEndian, elfClass) => {
76
68
  if (arch === elf_constants_1.MACHINE_TYPES_DESCRIPTION[elf_constants_1.MachineType.EM_X86_64]) {
77
69
  return `elf${elfClass}-x86-64`;
@@ -293,9 +285,10 @@ const isSupportedElfType = (type) => {
293
285
  exports.isSupportedElfType = isSupportedElfType;
294
286
  const getSectionInfo = (sections) => {
295
287
  const hasDebugInfo = sections.some((section) => section.name === '.debug_info');
296
- const hasSymbols = sections.some((section) => section.name === '.symtab');
288
+ const hasSymbolTable = sections.some((section) => section.name === '.symtab');
289
+ const hasDynamicSymbolTable = sections.some((section) => section.name === '.dynsym');
297
290
  const hasCode = sections.some((section) => section.name === '.text' && section.sh_type === elf_constants_1.SectionHeaderType.SHT_PROGBITS);
298
- return { hasDebugInfo, hasSymbols, hasCode };
291
+ return { hasDebugInfo, hasSymbolTable, hasDynamicSymbolTable, hasCode };
299
292
  };
300
293
  exports.getSectionInfo = getSectionInfo;
301
294
  const getElfFileMetadata = (filename) => __awaiter(void 0, void 0, void 0, function* () {
@@ -308,9 +301,10 @@ const getElfFileMetadata = (filename) => __awaiter(void 0, void 0, void 0, funct
308
301
  gnuBuildId: '',
309
302
  goBuildId: '',
310
303
  fileHash: '',
311
- type: '',
304
+ elfType: '',
312
305
  hasDebugInfo: false,
313
- hasSymbols: false,
306
+ hasSymbolTable: false,
307
+ hasDynamicSymbolTable: false,
314
308
  hasCode: false,
315
309
  };
316
310
  let fileHandle;
@@ -322,23 +316,31 @@ const getElfFileMetadata = (filename) => __awaiter(void 0, void 0, void 0, funct
322
316
  metadata.littleEndian = elfHeader.littleEndian;
323
317
  metadata.elfClass = elfHeader.elfClass === elf_constants_1.ElfClass.ELFCLASS64 ? 64 : 32;
324
318
  metadata.arch = elf_constants_1.MACHINE_TYPES_DESCRIPTION[elfHeader.e_machine];
325
- metadata.type = elf_constants_1.ELF_TYPES_DESCRIPTION[elfHeader.e_type];
319
+ metadata.elfType = elf_constants_1.ELF_TYPES_DESCRIPTION[elfHeader.e_type];
326
320
  }
327
321
  metadata.error = error;
328
322
  metadata.isElf = isElf;
329
- if (!isElf || error || !(0, exports.isSupportedArch)(metadata.arch) || !(0, exports.isSupportedElfType)(metadata.type)) {
323
+ if (!isElf || error || !(0, exports.isSupportedArch)(metadata.arch) || !(0, exports.isSupportedElfType)(metadata.elfType)) {
330
324
  return metadata;
331
325
  }
332
326
  const sectionHeaders = yield (0, exports.readElfSectionHeaderTable)(reader, elfHeader);
333
327
  const { gnuBuildId, goBuildId } = yield (0, exports.getBuildIds)(reader, sectionHeaders, elfHeader);
334
- const { hasDebugInfo, hasSymbols, hasCode } = (0, exports.getSectionInfo)(sectionHeaders);
328
+ const { hasDebugInfo, hasSymbolTable, hasDynamicSymbolTable, hasCode } = (0, exports.getSectionInfo)(sectionHeaders);
335
329
  let fileHash = '';
336
330
  if (hasCode) {
337
331
  // Only compute file hash if the file has code:
338
332
  // if the file has no code, it is likely a debug info file and its hash is useless
339
333
  fileHash = yield (0, exports.computeFileHash)(filename);
340
334
  }
341
- Object.assign(metadata, { fileHash, gnuBuildId, goBuildId, hasDebugInfo, hasSymbols, hasCode });
335
+ Object.assign(metadata, {
336
+ fileHash,
337
+ gnuBuildId,
338
+ goBuildId,
339
+ hasDebugInfo,
340
+ hasSymbolTable,
341
+ hasDynamicSymbolTable,
342
+ hasCode,
343
+ });
342
344
  }
343
345
  catch (error) {
344
346
  metadata.error = error;
@@ -1 +1 @@
1
- {"version":3,"file":"elf.js","sourceRoot":"","sources":["../../../src/commands/elf-symbols/elf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elf.js","sourceRoot":"","sources":["../../../src/commands/elf-symbols/elf.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const getElfRequestBuilder = (apiKey, cliVersion, site) => (0, utils_1.getReques
17
17
  apiKey,
18
18
  baseUrl: (0, base_intake_url_1.getBaseSourcemapIntakeUrl)(site),
19
19
  headers: new Map([
20
- ['DD-EVP-ORIGIN', 'datadog-ci elf-symbols'],
20
+ ['DD-EVP-ORIGIN', 'datadog-ci_elf-symbols'],
21
21
  ['DD-EVP-ORIGIN-VERSION', cliVersion],
22
22
  ]),
23
23
  overrideUrl: 'api/v2/srcmap',
@@ -2,13 +2,17 @@ export declare const TYPE_ELF_DEBUG_INFOS = "elf_symbol_file";
2
2
  export declare const VALUE_NAME_ELF_DEBUG_INFOS = "elf_symbol_file";
3
3
  export declare const ELF_DEBUG_INFOS_FILENAME = "elf_symbol_file";
4
4
  export interface MappingMetadata {
5
- arch?: string;
6
5
  cli_version: string;
6
+ origin_version: string;
7
+ arch: string;
8
+ origin: string;
7
9
  git_commit_sha?: string;
8
10
  git_repository_url?: string;
9
- platform?: string;
10
11
  gnu_build_id: string;
11
12
  go_build_id: string;
12
13
  file_hash: string;
14
+ symbol_source: string;
15
+ filename: string;
13
16
  type: string;
17
+ overwrite: boolean;
14
18
  }
@@ -7,6 +7,8 @@ export declare class UploadCommand extends Command {
7
7
  private configPath;
8
8
  private maxConcurrency;
9
9
  private repositoryUrl;
10
+ private acceptDynamicSymbolTableAsSymbolSource;
11
+ private replaceExisting;
10
12
  private symbolsLocations;
11
13
  private cliVersion;
12
14
  private config;
@@ -15,6 +17,7 @@ export declare class UploadCommand extends Command {
15
17
  private getApiKeyValidator;
16
18
  private getGitDataPayload;
17
19
  private getGitMetadata;
20
+ private getElfSymbolSource;
18
21
  private getMappingMetadata;
19
22
  private getMetricsLogger;
20
23
  private getElfSymbolFiles;
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.UploadCommand = void 0;
39
39
  const fs_1 = __importDefault(require("fs"));
40
+ const path_1 = __importDefault(require("path"));
40
41
  const clipanion_1 = require("clipanion");
41
42
  const glob_1 = __importDefault(require("glob"));
42
43
  const apikey_1 = require("../../helpers/apikey");
@@ -61,6 +62,8 @@ class UploadCommand extends clipanion_1.Command {
61
62
  this.configPath = clipanion_1.Option.String('--config');
62
63
  this.maxConcurrency = clipanion_1.Option.String('--max-concurrency', '20', { validator: validation.isInteger() });
63
64
  this.repositoryUrl = clipanion_1.Option.String('--repository-url');
65
+ this.acceptDynamicSymbolTableAsSymbolSource = clipanion_1.Option.Boolean('--upload-dynamic-symbols', false);
66
+ this.replaceExisting = clipanion_1.Option.Boolean('--replace-existing', false);
64
67
  this.symbolsLocations = clipanion_1.Option.Rest({ required: 1 });
65
68
  this.cliVersion = version_1.version;
66
69
  this.config = {
@@ -136,17 +139,33 @@ class UploadCommand extends clipanion_1.Command {
136
139
  return undefined;
137
140
  });
138
141
  }
139
- getMappingMetadata(gnuBuildId, goBuildId, fileHash, arch) {
142
+ getElfSymbolSource(elfFileMetadata) {
143
+ if (elfFileMetadata.hasDebugInfo) {
144
+ return 'debug_info';
145
+ }
146
+ if (elfFileMetadata.hasSymbolTable) {
147
+ return 'symbol_table';
148
+ }
149
+ if (elfFileMetadata.hasDynamicSymbolTable) {
150
+ return 'dynamic_symbol_table';
151
+ }
152
+ return 'none';
153
+ }
154
+ getMappingMetadata(elfFileMetadata) {
140
155
  var _a, _b;
141
156
  return {
142
- arch,
143
- gnu_build_id: gnuBuildId,
144
- go_build_id: goBuildId,
145
- file_hash: fileHash,
146
157
  cli_version: this.cliVersion,
158
+ origin_version: this.cliVersion,
159
+ origin: 'datadog-ci',
160
+ arch: elfFileMetadata.arch,
161
+ gnu_build_id: elfFileMetadata.gnuBuildId,
162
+ go_build_id: elfFileMetadata.goBuildId,
163
+ file_hash: elfFileMetadata.fileHash,
147
164
  git_commit_sha: (_a = this.gitData) === null || _a === void 0 ? void 0 : _a.hash,
148
165
  git_repository_url: (_b = this.gitData) === null || _b === void 0 ? void 0 : _b.remote,
149
- platform: 'elf',
166
+ symbol_source: this.getElfSymbolSource(elfFileMetadata),
167
+ filename: path_1.default.basename(elfFileMetadata.filename),
168
+ overwrite: this.replaceExisting,
150
169
  type: interfaces_1.TYPE_ELF_DEBUG_INFOS,
151
170
  };
152
171
  }
@@ -182,41 +201,43 @@ class UploadCommand extends clipanion_1.Command {
182
201
  };
183
202
  }
184
203
  const filesMetadata = [];
185
- for (const path of paths) {
186
- const pathStat = yield fs_1.default.promises.lstat(path);
204
+ for (const p of paths) {
205
+ const pathStat = yield fs_1.default.promises.lstat(p);
187
206
  if (pathStat.isDirectory()) {
188
207
  // check if directory is readable and if not emit a warning
189
208
  // eslint-disable-next-line no-bitwise
190
- yield fs_1.default.promises.access(path, fs_1.default.constants.R_OK | fs_1.default.constants.X_OK).catch(() => {
191
- reportFailure(`Skipped directory ${path} because it is not readable`);
209
+ yield fs_1.default.promises.access(p, fs_1.default.constants.R_OK | fs_1.default.constants.X_OK).catch(() => {
210
+ reportFailure(`Skipped directory ${p} because it is not readable`);
192
211
  });
193
212
  }
194
213
  else if (pathStat.isFile()) {
195
214
  // check that path is a file and is an ELF file
196
- const metadata = yield (0, elf_1.getElfFileMetadata)(path);
215
+ const metadata = yield (0, elf_1.getElfFileMetadata)(p);
197
216
  // handle all possible failures
198
217
  if (!metadata.isElf) {
199
- reportFailure(`Input location ${path} is not an ELF file`);
218
+ reportFailure(`Input location ${p} is not an ELF file`);
200
219
  continue;
201
220
  }
202
221
  if (metadata.error) {
203
- reportFailure(`Error reading ELF file ${path}: ${metadata.error.message}`);
222
+ reportFailure(`Error reading ELF file ${p}: ${metadata.error.message}`);
204
223
  continue;
205
224
  }
206
- if (!(0, elf_1.isSupportedElfType)(metadata.type)) {
207
- reportFailure(`Skipped ${path} because its not an executable, nor a shared library`);
225
+ if (!(0, elf_1.isSupportedElfType)(metadata.elfType)) {
226
+ reportFailure(`Skipped ${p} because its not an executable, nor a shared library`);
208
227
  continue;
209
228
  }
210
229
  if (!(0, elf_1.isSupportedArch)(metadata.arch)) {
211
- reportFailure(`Skipped ${path} because it has an unsupported architecture (${metadata.arch})`);
230
+ reportFailure(`Skipped ${p} because it has an unsupported architecture (${metadata.arch})`);
212
231
  continue;
213
232
  }
214
233
  if (!(metadata.gnuBuildId || metadata.goBuildId || metadata.fileHash)) {
215
- reportFailure(`Skipped ${path} because it has no build id`);
234
+ reportFailure(`Skipped ${p} because it has no build id`);
216
235
  continue;
217
236
  }
218
- if (!metadata.hasDebugInfo && !metadata.hasSymbols) {
219
- reportFailure(`Skipped ${path} because it has no debug info, nor symbols`);
237
+ if (!metadata.hasDebugInfo &&
238
+ !metadata.hasSymbolTable &&
239
+ (!metadata.hasDynamicSymbolTable || !this.acceptDynamicSymbolTableAsSymbolSource)) {
240
+ reportFailure(`Skipped ${p} because it has no debug info, nor symbols`);
220
241
  continue;
221
242
  }
222
243
  filesMetadata.push(metadata);
@@ -233,7 +254,10 @@ class UploadCommand extends clipanion_1.Command {
233
254
  const buildId = (0, elf_1.getBuildId)(metadata);
234
255
  const existing = buildIds.get(buildId);
235
256
  if (existing) {
236
- if ((metadata.hasDebugInfo && !existing.hasDebugInfo) || (metadata.hasSymbols && !existing.hasSymbols)) {
257
+ if ((metadata.hasDebugInfo && !existing.hasDebugInfo) ||
258
+ (metadata.hasSymbolTable && !existing.hasSymbolTable) ||
259
+ (metadata.hasDynamicSymbolTable && !existing.hasDynamicSymbolTable) // this probably should never happen
260
+ ) {
237
261
  // if we have a duplicate build_id, we keep the one with debug info and symbols
238
262
  this.context.stderr.write((0, renderer_1.renderWarning)(`Duplicate build_id found: ${buildId} in ${metadata.filename} and ${existing.filename} - skipping ${existing.filename} because it has no debug info or symbols`));
239
263
  buildIds.set(buildId, metadata);
@@ -259,7 +283,7 @@ class UploadCommand extends clipanion_1.Command {
259
283
  const tmpDirectory = yield (0, utils_2.createUniqueTmpDirectory)();
260
284
  try {
261
285
  const results = yield (0, concurrency_1.doWithMaxConcurrency)(this.maxConcurrency, elfFilesMetadata, (fileMetadata) => __awaiter(this, void 0, void 0, function* () {
262
- const metadata = this.getMappingMetadata(fileMetadata.gnuBuildId, fileMetadata.goBuildId, fileMetadata.fileHash, fileMetadata.arch);
286
+ const metadata = this.getMappingMetadata(fileMetadata);
263
287
  const outputFilename = (0, elf_1.getOutputFilenameFromBuildId)((0, elf_1.getBuildId)(fileMetadata));
264
288
  const outputFilePath = (0, utils_1.buildPath)(tmpDirectory, outputFilename);
265
289
  yield (0, elf_1.copyElfDebugInfo)(fileMetadata.filename, outputFilePath, fileMetadata, false);
@@ -370,7 +394,7 @@ class UploadCommand extends clipanion_1.Command {
370
394
  exports.UploadCommand = UploadCommand;
371
395
  UploadCommand.paths = [['elf-symbols', 'upload']];
372
396
  UploadCommand.usage = clipanion_1.Command.Usage({
373
- category: 'RUM',
397
+ category: 'Profiling',
374
398
  description: 'Upload Elf debug info files to Datadog.',
375
399
  details: `
376
400
  This command will upload debug info from all Elf files found recursively in the given location in order to symbolicate profiles