@datadog/datadog-ci-base 3.21.0 → 3.21.2

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 (230) hide show
  1. package/README.md +2 -2
  2. package/dist/cli.d.ts +41 -0
  3. package/dist/cli.js +46 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/commands/aas/common.d.ts +51 -0
  6. package/dist/commands/aas/common.js +129 -0
  7. package/dist/commands/aas/common.js.map +1 -0
  8. package/dist/commands/aas/instrument.d.ts +18 -0
  9. package/dist/commands/aas/instrument.js +80 -0
  10. package/dist/commands/aas/instrument.js.map +1 -0
  11. package/dist/commands/aas/uninstrument.d.ts +6 -0
  12. package/dist/commands/aas/uninstrument.js +29 -0
  13. package/dist/commands/aas/uninstrument.js.map +1 -0
  14. package/dist/commands/cloud-run/constants.d.ts +3 -0
  15. package/dist/commands/cloud-run/constants.js +24 -0
  16. package/dist/commands/cloud-run/constants.js.map +1 -0
  17. package/dist/commands/cloud-run/flare.d.ts +18 -0
  18. package/dist/commands/cloud-run/flare.js +42 -0
  19. package/dist/commands/cloud-run/flare.js.map +1 -0
  20. package/dist/commands/cloud-run/instrument.d.ts +30 -0
  21. package/dist/commands/cloud-run/instrument.js +88 -0
  22. package/dist/commands/cloud-run/instrument.js.map +1 -0
  23. package/dist/commands/cloud-run/uninstrument.d.ts +15 -0
  24. package/dist/commands/cloud-run/uninstrument.js +53 -0
  25. package/dist/commands/cloud-run/uninstrument.js.map +1 -0
  26. package/dist/commands/deployment/correlate-command.d.ts +17 -0
  27. package/dist/commands/deployment/correlate-command.js +57 -0
  28. package/dist/commands/deployment/correlate-command.js.map +1 -0
  29. package/dist/commands/deployment/correlate-image-command.d.ts +12 -0
  30. package/dist/commands/deployment/correlate-image-command.js +38 -0
  31. package/dist/commands/deployment/correlate-image-command.js.map +1 -0
  32. package/dist/commands/deployment/gate-command.d.ts +21 -0
  33. package/dist/commands/deployment/gate-command.js +119 -0
  34. package/dist/commands/deployment/gate-command.js.map +1 -0
  35. package/dist/commands/deployment/mark-command.d.ts +18 -0
  36. package/dist/commands/deployment/mark-command.js +63 -0
  37. package/dist/commands/deployment/mark-command.js.map +1 -0
  38. package/dist/commands/dora/deployment-command.d.ts +20 -0
  39. package/dist/commands/dora/deployment-command.js +118 -0
  40. package/dist/commands/dora/deployment-command.js.map +1 -0
  41. package/dist/commands/gate/evaluate-command.d.ts +15 -0
  42. package/dist/commands/gate/evaluate-command.js +98 -0
  43. package/dist/commands/gate/evaluate-command.js.map +1 -0
  44. package/dist/commands/git-metadata/api.d.ts +3 -0
  45. package/dist/commands/git-metadata/api.js +13 -0
  46. package/dist/commands/git-metadata/api.js.map +1 -0
  47. package/dist/commands/git-metadata/git.d.ts +18 -0
  48. package/dist/commands/git-metadata/git.js +188 -0
  49. package/dist/commands/git-metadata/git.js.map +1 -0
  50. package/dist/commands/git-metadata/gitdb.d.ts +7 -0
  51. package/dist/commands/git-metadata/gitdb.js +334 -0
  52. package/dist/commands/git-metadata/gitdb.js.map +1 -0
  53. package/dist/commands/git-metadata/index.d.ts +1 -0
  54. package/dist/commands/git-metadata/index.js +18 -0
  55. package/dist/commands/git-metadata/index.js.map +1 -0
  56. package/dist/commands/git-metadata/interfaces.d.ts +10 -0
  57. package/dist/commands/git-metadata/interfaces.js +56 -0
  58. package/dist/commands/git-metadata/interfaces.js.map +1 -0
  59. package/dist/commands/git-metadata/library.d.ts +7 -0
  60. package/dist/commands/git-metadata/library.js +102 -0
  61. package/dist/commands/git-metadata/library.js.map +1 -0
  62. package/dist/commands/git-metadata/renderer.d.ts +7 -0
  63. package/dist/commands/git-metadata/renderer.js +29 -0
  64. package/dist/commands/git-metadata/renderer.js.map +1 -0
  65. package/dist/commands/git-metadata/upload.d.ts +20 -0
  66. package/dist/commands/git-metadata/upload.js +209 -0
  67. package/dist/commands/git-metadata/upload.js.map +1 -0
  68. package/dist/commands/lambda/flare.d.ts +16 -0
  69. package/dist/commands/lambda/flare.js +41 -0
  70. package/dist/commands/lambda/flare.js.map +1 -0
  71. package/dist/commands/lambda/instrument.d.ts +35 -0
  72. package/dist/commands/lambda/instrument.js +60 -0
  73. package/dist/commands/lambda/instrument.js.map +1 -0
  74. package/dist/commands/lambda/uninstrument.d.ts +33 -0
  75. package/dist/commands/lambda/uninstrument.js +58 -0
  76. package/dist/commands/lambda/uninstrument.js.map +1 -0
  77. package/dist/commands/plugin/check-command.d.ts +7 -0
  78. package/dist/commands/plugin/check-command.js +48 -0
  79. package/dist/commands/plugin/check-command.js.map +1 -0
  80. package/dist/commands/sarif/upload-command.d.ts +17 -0
  81. package/dist/commands/sarif/upload-command.js +62 -0
  82. package/dist/commands/sarif/upload-command.js.map +1 -0
  83. package/dist/commands/sbom/upload-command.d.ts +15 -0
  84. package/dist/commands/sbom/upload-command.js +46 -0
  85. package/dist/commands/sbom/upload-command.js.map +1 -0
  86. package/dist/commands/stepfunctions/instrument.d.ts +15 -0
  87. package/dist/commands/stepfunctions/instrument.js +55 -0
  88. package/dist/commands/stepfunctions/instrument.js.map +1 -0
  89. package/dist/commands/stepfunctions/uninstrument.d.ts +14 -0
  90. package/dist/commands/stepfunctions/uninstrument.js +56 -0
  91. package/dist/commands/stepfunctions/uninstrument.js.map +1 -0
  92. package/dist/commands/synthetics/deploy-tests-command.d.ts +16 -0
  93. package/dist/commands/synthetics/deploy-tests-command.js +79 -0
  94. package/dist/commands/synthetics/deploy-tests-command.js.map +1 -0
  95. package/dist/commands/synthetics/import-tests-command.d.ts +15 -0
  96. package/dist/commands/synthetics/import-tests-command.js +77 -0
  97. package/dist/commands/synthetics/import-tests-command.js.map +1 -0
  98. package/dist/commands/synthetics/run-tests-command.d.ts +28 -0
  99. package/dist/commands/synthetics/run-tests-command.js +158 -0
  100. package/dist/commands/synthetics/run-tests-command.js.map +1 -0
  101. package/dist/commands/synthetics/upload-application-command.d.ts +16 -0
  102. package/dist/commands/synthetics/upload-application-command.js +77 -0
  103. package/dist/commands/synthetics/upload-application-command.js.map +1 -0
  104. package/dist/commands/tag/cli.d.ts +1 -0
  105. package/dist/commands/tag/cli.js +5 -0
  106. package/dist/commands/tag/cli.js.map +1 -0
  107. package/dist/commands/tag/tag-command.d.ts +20 -0
  108. package/dist/commands/tag/tag-command.js +162 -0
  109. package/dist/commands/tag/tag-command.js.map +1 -0
  110. package/dist/constants.d.ts +39 -0
  111. package/dist/constants.js +105 -0
  112. package/dist/constants.js.map +1 -0
  113. package/dist/helpers/api.d.ts +5 -0
  114. package/dist/helpers/api.js +16 -0
  115. package/dist/helpers/api.js.map +1 -0
  116. package/dist/helpers/apikey.d.ts +15 -0
  117. package/dist/helpers/apikey.js +85 -0
  118. package/dist/helpers/apikey.js.map +1 -0
  119. package/dist/helpers/app.d.ts +5 -0
  120. package/dist/helpers/app.js +38 -0
  121. package/dist/helpers/app.js.map +1 -0
  122. package/dist/helpers/base-intake-url.d.ts +1 -0
  123. package/dist/helpers/base-intake-url.js +14 -0
  124. package/dist/helpers/base-intake-url.js.map +1 -0
  125. package/dist/helpers/ci.d.ts +71 -0
  126. package/dist/helpers/ci.js +671 -0
  127. package/dist/helpers/ci.js.map +1 -0
  128. package/dist/helpers/concurrency.d.ts +1 -0
  129. package/dist/helpers/concurrency.js +45 -0
  130. package/dist/helpers/concurrency.js.map +1 -0
  131. package/dist/helpers/config.d.ts +5 -0
  132. package/dist/helpers/config.js +3 -0
  133. package/dist/helpers/config.js.map +1 -0
  134. package/dist/helpers/env.d.ts +6 -0
  135. package/dist/helpers/env.js +50 -0
  136. package/dist/helpers/env.js.map +1 -0
  137. package/dist/helpers/errors.d.ts +2 -0
  138. package/dist/helpers/errors.js +7 -0
  139. package/dist/helpers/errors.js.map +1 -0
  140. package/dist/helpers/file-finder.d.ts +20 -0
  141. package/dist/helpers/file-finder.js +203 -0
  142. package/dist/helpers/file-finder.js.map +1 -0
  143. package/dist/helpers/filereader.d.ts +21 -0
  144. package/dist/helpers/filereader.js +59 -0
  145. package/dist/helpers/filereader.js.map +1 -0
  146. package/dist/helpers/fips.d.ts +1 -0
  147. package/dist/helpers/fips.js +24 -0
  148. package/dist/helpers/fips.js.map +1 -0
  149. package/dist/helpers/flare.d.ts +51 -0
  150. package/dist/helpers/flare.js +238 -0
  151. package/dist/helpers/flare.js.map +1 -0
  152. package/dist/helpers/formatting.d.ts +5 -0
  153. package/dist/helpers/formatting.js +13 -0
  154. package/dist/helpers/formatting.js.map +1 -0
  155. package/dist/helpers/fs.d.ts +31 -0
  156. package/dist/helpers/fs.js +117 -0
  157. package/dist/helpers/fs.js.map +1 -0
  158. package/dist/helpers/get-latest-version.d.ts +1 -0
  159. package/dist/helpers/get-latest-version.js +20 -0
  160. package/dist/helpers/get-latest-version.js.map +1 -0
  161. package/dist/helpers/git/format-git-sourcemaps-data.d.ts +16 -0
  162. package/dist/helpers/git/format-git-sourcemaps-data.js +178 -0
  163. package/dist/helpers/git/format-git-sourcemaps-data.js.map +1 -0
  164. package/dist/helpers/git/format-git-span-data.d.ts +2 -0
  165. package/dist/helpers/git/format-git-span-data.js +54 -0
  166. package/dist/helpers/git/format-git-span-data.js.map +1 -0
  167. package/dist/helpers/git/get-git-data.d.ts +13 -0
  168. package/dist/helpers/git/get-git-data.js +86 -0
  169. package/dist/helpers/git/get-git-data.js.map +1 -0
  170. package/dist/helpers/git/source-code-integration.d.ts +10 -0
  171. package/dist/helpers/git/source-code-integration.js +81 -0
  172. package/dist/helpers/git/source-code-integration.js.map +1 -0
  173. package/dist/helpers/glob.d.ts +12 -0
  174. package/dist/helpers/glob.js +70 -0
  175. package/dist/helpers/glob.js.map +1 -0
  176. package/dist/helpers/id.d.ts +2 -0
  177. package/dist/helpers/id.js +50 -0
  178. package/dist/helpers/id.js.map +1 -0
  179. package/dist/helpers/interfaces.d.ts +59 -0
  180. package/dist/helpers/interfaces.js +3 -0
  181. package/dist/helpers/interfaces.js.map +1 -0
  182. package/dist/helpers/is-standalone-binary.d.ts +1 -0
  183. package/dist/helpers/is-standalone-binary.js +25 -0
  184. package/dist/helpers/is-standalone-binary.js.map +1 -0
  185. package/dist/helpers/logger.d.ts +18 -0
  186. package/dist/helpers/logger.js +52 -0
  187. package/dist/helpers/logger.js.map +1 -0
  188. package/dist/helpers/message-box.d.ts +2 -0
  189. package/dist/helpers/message-box.js +28 -0
  190. package/dist/helpers/message-box.js.map +1 -0
  191. package/dist/helpers/metrics.d.ts +12 -0
  192. package/dist/helpers/metrics.js +36 -0
  193. package/dist/helpers/metrics.js.map +1 -0
  194. package/dist/helpers/plist.d.ts +44 -0
  195. package/dist/helpers/plist.js +93 -0
  196. package/dist/helpers/plist.js.map +1 -0
  197. package/dist/helpers/plugin.d.ts +10 -0
  198. package/dist/helpers/plugin.js +149 -0
  199. package/dist/helpers/plugin.js.map +1 -0
  200. package/dist/helpers/prompt.d.ts +9 -0
  201. package/dist/helpers/prompt.js +58 -0
  202. package/dist/helpers/prompt.js.map +1 -0
  203. package/dist/helpers/renderer.d.ts +60 -0
  204. package/dist/helpers/renderer.js +98 -0
  205. package/dist/helpers/renderer.js.map +1 -0
  206. package/dist/helpers/retry.d.ts +2 -0
  207. package/dist/helpers/retry.js +40 -0
  208. package/dist/helpers/retry.js.map +1 -0
  209. package/dist/helpers/tags.d.ts +82 -0
  210. package/dist/helpers/tags.js +244 -0
  211. package/dist/helpers/tags.js.map +1 -0
  212. package/dist/helpers/types.d.ts +3 -0
  213. package/dist/helpers/types.js +3 -0
  214. package/dist/helpers/types.js.map +1 -0
  215. package/dist/helpers/upload.d.ts +51 -0
  216. package/dist/helpers/upload.js +86 -0
  217. package/dist/helpers/upload.js.map +1 -0
  218. package/dist/helpers/user-provided-git.d.ts +2 -0
  219. package/dist/helpers/user-provided-git.js +49 -0
  220. package/dist/helpers/user-provided-git.js.map +1 -0
  221. package/dist/helpers/utils.d.ts +84 -0
  222. package/dist/helpers/utils.js +340 -0
  223. package/dist/helpers/utils.js.map +1 -0
  224. package/dist/helpers/validation.d.ts +19 -0
  225. package/dist/helpers/validation.js +77 -0
  226. package/dist/helpers/validation.js.map +1 -0
  227. package/dist/version.d.ts +1 -0
  228. package/dist/version.js +6 -0
  229. package/dist/version.js.map +1 -0
  230. package/package.json +19 -10
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.DORADeploymentCommand = void 0;
36
+ const clipanion_1 = require("clipanion");
37
+ const t = __importStar(require("typanion"));
38
+ const plugin_1 = require("@datadog/datadog-ci-base/helpers/plugin");
39
+ class DORADeploymentCommand extends clipanion_1.Command {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.serviceParam = clipanion_1.Option.String('--service', { env: 'DD_SERVICE' });
43
+ this.env = clipanion_1.Option.String('--env', { env: 'DD_ENV' });
44
+ this.startedAt = clipanion_1.Option.String('--started-at', {
45
+ required: true,
46
+ validator: t.isDate(),
47
+ description: 'In Unix seconds or ISO8601 (Examples: 1699960648, 2023-11-14T11:17:28Z)',
48
+ });
49
+ this.finishedAt = clipanion_1.Option.String('--finished-at', {
50
+ validator: t.isDate(),
51
+ description: 'In Unix seconds or ISO8601 (Examples: 1699961048, 2023-11-14T11:24:08Z)',
52
+ });
53
+ this.version = clipanion_1.Option.String('--version', {
54
+ description: 'The version of the service being deployed',
55
+ });
56
+ this.gitRepoURL = clipanion_1.Option.String('--git-repository-url', {
57
+ description: 'Example: https://github.com/DataDog/datadog-ci.git',
58
+ });
59
+ this.gitCommitSHA = clipanion_1.Option.String('--git-commit-sha', {
60
+ description: 'Example: 102836a25f5477e571c73d489b3f0f183687068e',
61
+ });
62
+ this.skipGit = clipanion_1.Option.Boolean('--skip-git', false, {
63
+ description: 'Disables sending git URL and SHA. Change Lead Time will not be available',
64
+ });
65
+ this.team = clipanion_1.Option.String('--team', {
66
+ description: 'The team responsible for the deployment',
67
+ });
68
+ this.customTags = clipanion_1.Option.Array('--custom-tags', {
69
+ description: 'Custom tags to add to the deployment event in the format key:value, max 100 tags per deployment event',
70
+ });
71
+ this.fips = clipanion_1.Option.Boolean('--fips', false);
72
+ this.fipsIgnoreError = clipanion_1.Option.Boolean('--fips-ignore-error', false);
73
+ this.verbose = clipanion_1.Option.Boolean('--verbose', false, { hidden: true });
74
+ this.dryRun = clipanion_1.Option.Boolean('--dry-run', false);
75
+ }
76
+ execute() {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ return (0, plugin_1.executePluginCommand)(this);
79
+ });
80
+ }
81
+ }
82
+ exports.DORADeploymentCommand = DORADeploymentCommand;
83
+ DORADeploymentCommand.paths = [['dora', 'deployment']];
84
+ DORADeploymentCommand.usage = clipanion_1.Command.Usage({
85
+ category: 'CI Visibility',
86
+ description: 'Send a new Deployment event for DORA Metrics to Datadog.',
87
+ details: `
88
+ This command sends details to Datadog about a deployment of a service.\n
89
+ See README for more details.
90
+ `,
91
+ examples: [
92
+ [
93
+ 'Send a DORA deployment event for a service to the prod environment',
94
+ 'datadog-ci dora deployment --service my-service --env prod \\\n' +
95
+ ' --started-at 1699960648 --finished-at 1699961048 \\\n' +
96
+ ' --git-repository-url https://github.com/my-organization/my-repository \\\n' +
97
+ ' --git-commit-sha 102836a25f5477e571c73d489b3f0f183687068e \\\n' +
98
+ ' --version 1.0.0',
99
+ ],
100
+ [
101
+ 'Send a DORA deployment event with automatically extracted Git info (for deployments triggered from CI in the same repository as the application). The deployment is assumed to target the current HEAD commit',
102
+ 'datadog-ci dora deployment --service my-service --started-at $deploy_start --finished-at `date +%s`',
103
+ ],
104
+ [
105
+ 'Send a DORA deployment event to the datadoghq.eu site',
106
+ 'DD_SITE=datadoghq.eu datadog-ci dora deployment --service my-service --started-at $deploy_start',
107
+ ],
108
+ [
109
+ 'Send a DORA deployment event without git info. Change Lead Time is not available without Git info. The deployment finished-at is set to the current time',
110
+ 'datadog-ci dora deployment --service my-service --started-at $deploy_start --skip-git',
111
+ ],
112
+ [
113
+ 'Send a DORA deployment event providing the service name and env through environment vars',
114
+ 'DD_SERVICE=my-service DD_ENV=prod datadog-ci dora deployment --started-at $deploy_start',
115
+ ],
116
+ ],
117
+ });
118
+ //# sourceMappingURL=deployment-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-command.js","sourceRoot":"","sources":["../../../src/commands/dora/deployment-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAyC;AACzC,4CAA6B;AAE7B,oEAA4E;AAE5E,MAAa,qBAAsB,SAAQ,mBAAO;IAAlD;;QAsCY,iBAAY,GAAG,kBAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAC,GAAG,EAAE,YAAY,EAAC,CAAC,CAAA;QAC9D,QAAG,GAAG,kBAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAA;QAE7C,cAAS,GAAG,kBAAM,CAAC,MAAM,CAAC,cAAc,EAAE;YAClD,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,WAAW,EAAE,yEAAyE;SACvF,CAAC,CAAA;QACQ,eAAU,GAAG,kBAAM,CAAC,MAAM,CAAC,eAAe,EAAE;YACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,WAAW,EAAE,yEAAyE;SACvF,CAAC,CAAA;QAEQ,YAAO,GAAG,kBAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YAC7C,WAAW,EAAE,2CAA2C;SACzD,CAAC,CAAA;QAEQ,eAAU,GAAG,kBAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE;YAC3D,WAAW,EAAE,oDAAoD;SAClE,CAAC,CAAA;QACQ,iBAAY,GAAG,kBAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE;YACzD,WAAW,EAAE,mDAAmD;SACjE,CAAC,CAAA;QACQ,YAAO,GAAG,kBAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE;YACtD,WAAW,EAAE,0EAA0E;SACxF,CAAC,CAAA;QAEQ,SAAI,GAAG,kBAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YACvC,WAAW,EAAE,yCAAyC;SACvD,CAAC,CAAA;QAEQ,eAAU,GAAG,kBAAM,CAAC,KAAK,CAAC,eAAe,EAAE;YACnD,WAAW,EACT,uGAAuG;SAC1G,CAAC,CAAA;QAEQ,SAAI,GAAG,kBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACtC,oBAAe,GAAG,kBAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;QAE9D,YAAO,GAAG,kBAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;QAC5D,WAAM,GAAG,kBAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAKvD,CAAC;IAHc,OAAO;;YAClB,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAA;QACnC,CAAC;KAAA;;AAlFH,sDAmFC;AAlFe,2BAAK,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,AAA3B,CAA2B;AAEhC,2BAAK,GAAG,mBAAO,CAAC,KAAK,CAAC;IAClC,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE,0DAA0D;IACvE,OAAO,EAAE;;;KAGR;IACD,QAAQ,EAAE;QACR;YACE,oEAAoE;YACpE,iEAAiE;gBAC/D,2DAA2D;gBAC3D,gFAAgF;gBAChF,oEAAoE;gBACpE,qBAAqB;SACxB;QACD;YACE,+MAA+M;YAC/M,qGAAqG;SACtG;QACD;YACE,uDAAuD;YACvD,iGAAiG;SAClG;QACD;YACE,0JAA0J;YAC1J,uFAAuF;SACxF;QACD;YACE,0FAA0F;YAC1F,yFAAyF;SAC1F;KACF;CACF,CAAC,AAjCiB,CAiCjB"}
@@ -0,0 +1,15 @@
1
+ import { Command } from 'clipanion';
2
+ export declare class GateEvaluateCommand extends Command {
3
+ static paths: string[][];
4
+ static usage: import("clipanion").Usage;
5
+ protected dryRun: boolean;
6
+ protected failOnEmpty: boolean;
7
+ protected failIfUnavailable: boolean;
8
+ protected noWait: boolean;
9
+ protected timeoutInSeconds: number;
10
+ protected userScope: string[] | undefined;
11
+ protected tags: string[] | undefined;
12
+ protected fips: boolean;
13
+ protected fipsIgnoreError: boolean;
14
+ execute(): Promise<number | void>;
15
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.GateEvaluateCommand = void 0;
36
+ const clipanion_1 = require("clipanion");
37
+ const plugin_1 = require("@datadog/datadog-ci-base/helpers/plugin");
38
+ const validation = __importStar(require("@datadog/datadog-ci-base/helpers/validation"));
39
+ class GateEvaluateCommand extends clipanion_1.Command {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.dryRun = clipanion_1.Option.Boolean('--dry-run', false);
43
+ this.failOnEmpty = clipanion_1.Option.Boolean('--fail-on-empty', false);
44
+ this.failIfUnavailable = clipanion_1.Option.Boolean('--fail-if-unavailable', false);
45
+ this.noWait = clipanion_1.Option.Boolean('--no-wait', false);
46
+ this.timeoutInSeconds = clipanion_1.Option.String('--timeout', '600', {
47
+ validator: validation.isInteger(),
48
+ });
49
+ this.userScope = clipanion_1.Option.Array('--scope');
50
+ this.tags = clipanion_1.Option.Array('--tags');
51
+ this.fips = clipanion_1.Option.Boolean('--fips', false);
52
+ this.fipsIgnoreError = clipanion_1.Option.Boolean('--fips-ignore-error', false);
53
+ }
54
+ execute() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ return (0, plugin_1.executePluginCommand)(this);
57
+ });
58
+ }
59
+ }
60
+ exports.GateEvaluateCommand = GateEvaluateCommand;
61
+ GateEvaluateCommand.paths = [['gate', 'evaluate']];
62
+ GateEvaluateCommand.usage = clipanion_1.Command.Usage({
63
+ category: 'CI Visibility',
64
+ description: 'Evaluate Quality Gates rules in Datadog.',
65
+ details: `
66
+ This command will evaluate the matching quality gate rules in Datadog.\n
67
+ See README for details.
68
+ `,
69
+ examples: [
70
+ ['Evaluate matching quality gate rules in Datadog', 'datadog-ci gate evaluate'],
71
+ [
72
+ 'Evaluate matching quality gate rules in Datadog, failing if no rules were found',
73
+ 'datadog-ci gate evaluate --fail-on-empty',
74
+ ],
75
+ [
76
+ 'Evaluate matching quality gate rules in Datadog, failing if Datadog is not available',
77
+ 'datadog-ci gate evaluate --fail-if-unavailable',
78
+ ],
79
+ [
80
+ 'Evaluate matching quality gate rules in Datadog and add extra scope',
81
+ 'datadog-ci gate evaluate --scope team:backend',
82
+ ],
83
+ [
84
+ 'Evaluate matching quality gate rules in Datadog and add extra tags',
85
+ 'datadog-ci gate evaluate --tags team:frontend',
86
+ ],
87
+ [
88
+ 'Evaluate matching quality gate rules in Datadog from the datadoghq.eu site',
89
+ 'DD_SITE=datadoghq.eu datadog-ci gate evaluate',
90
+ ],
91
+ [
92
+ 'Evaluate matching quality gate rules in Datadog with a timeout of 120 seconds',
93
+ 'datadog-ci gate evaluate --timeout 120',
94
+ ],
95
+ ['Evaluate matching quality gate rules in Datadog without waiting', 'datadog-ci gate evaluate --no-wait'],
96
+ ],
97
+ });
98
+ //# sourceMappingURL=evaluate-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate-command.js","sourceRoot":"","sources":["../../../src/commands/gate/evaluate-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAyC;AAEzC,oEAA4E;AAC5E,wFAAyE;AAEzE,MAAa,mBAAoB,SAAQ,mBAAO;IAAhD;;QAwCY,WAAM,GAAG,kBAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAC3C,gBAAW,GAAG,kBAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;QACtD,sBAAiB,GAAG,kBAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;QAClE,WAAM,GAAG,kBAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAC3C,qBAAgB,GAAG,kBAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE;YAC7D,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;SAClC,CAAC,CAAA;QACQ,cAAS,GAAG,kBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnC,SAAI,GAAG,kBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAE7B,SAAI,GAAG,kBAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACtC,oBAAe,GAAG,kBAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;IAK1E,CAAC;IAHc,OAAO;;YAClB,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAA;QACnC,CAAC;KAAA;;AAvDH,kDAwDC;AAvDe,yBAAK,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,AAAzB,CAAyB;AAE9B,yBAAK,GAAG,mBAAO,CAAC,KAAK,CAAC;IAClC,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE,0CAA0C;IACvD,OAAO,EAAE;;;KAGR;IACD,QAAQ,EAAE;QACR,CAAC,iDAAiD,EAAE,0BAA0B,CAAC;QAC/E;YACE,iFAAiF;YACjF,0CAA0C;SAC3C;QACD;YACE,sFAAsF;YACtF,gDAAgD;SACjD;QACD;YACE,qEAAqE;YACrE,+CAA+C;SAChD;QACD;YACE,oEAAoE;YACpE,+CAA+C;SAChD;QACD;YACE,4EAA4E;YAC5E,+CAA+C;SAChD;QACD;YACE,+EAA+E;YAC/E,wCAAwC;SACzC;QACD,CAAC,iEAAiE,EAAE,oCAAoC,CAAC;KAC1G;CACF,CAAC,AAnCiB,CAmCjB"}
@@ -0,0 +1,3 @@
1
+ export declare const datadogSite: string;
2
+ export declare const apiHost: string;
3
+ export declare const getBaseIntakeUrl: () => string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBaseIntakeUrl = exports.apiHost = exports.datadogSite = void 0;
4
+ exports.datadogSite = process.env.DATADOG_SITE || process.env.DD_SITE || 'datadoghq.com';
5
+ exports.apiHost = 'api.' + exports.datadogSite;
6
+ const getBaseIntakeUrl = () => {
7
+ if (process.env.DATADOG_SOURCEMAP_INTAKE_URL) {
8
+ return process.env.DATADOG_SOURCEMAP_INTAKE_URL;
9
+ }
10
+ return 'https://sourcemap-intake.' + exports.datadogSite;
11
+ };
12
+ exports.getBaseIntakeUrl = getBaseIntakeUrl;
13
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/git-metadata/api.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,CAAA;AAEhF,QAAA,OAAO,GAAG,MAAM,GAAG,mBAAW,CAAA;AAEpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;QAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAA;KAChD;IAED,OAAO,2BAA2B,GAAG,mBAAW,CAAA;AAClD,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B"}
@@ -0,0 +1,18 @@
1
+ import * as simpleGit from 'simple-git';
2
+ import { CommitInfo } from './interfaces';
3
+ export declare const newSimpleGit: () => Promise<simpleGit.SimpleGit>;
4
+ export declare const stripCredentials: (remote: string) => string;
5
+ export declare const gitTrackedFiles: (git: simpleGit.SimpleGit) => Promise<string[]>;
6
+ export declare const getCommitInfo: (git: simpleGit.SimpleGit, repositoryURL?: string) => Promise<CommitInfo>;
7
+ export declare const getMergeBase: (git: simpleGit.SimpleGit, target: string, source: string) => Promise<string>;
8
+ export declare const getGitDiff: (git: simpleGit.SimpleGit, from: string, to: string) => Promise<DiffData>;
9
+ export interface DiffData {
10
+ head_sha: string;
11
+ base_sha: string;
12
+ files: Record<string, DiffNode>;
13
+ }
14
+ export interface DiffNode {
15
+ added_lines: string;
16
+ removed_lines: string;
17
+ }
18
+ export declare const parseGitDiff: (diff: string) => Record<string, DiffNode>;
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.parseGitDiff = exports.getGitDiff = exports.getMergeBase = exports.getCommitInfo = exports.gitTrackedFiles = exports.stripCredentials = exports.newSimpleGit = void 0;
36
+ const url_1 = require("url");
37
+ const simpleGit = __importStar(require("simple-git"));
38
+ const simple_git_1 = require("simple-git");
39
+ const get_git_data_1 = require("../../helpers/git/get-git-data");
40
+ const interfaces_1 = require("./interfaces");
41
+ // Returns a configured SimpleGit.
42
+ const newSimpleGit = () => __awaiter(void 0, void 0, void 0, function* () {
43
+ const currentDir = process.cwd();
44
+ const options = {
45
+ baseDir: currentDir,
46
+ binary: 'git',
47
+ maxConcurrentProcesses: 1,
48
+ };
49
+ const git = simpleGit.simpleGit(options);
50
+ try {
51
+ // In some CI envs repo may be checked out as a different user than the one running the command.
52
+ // To be able to run git commands, we need to add the current directory as a safe directory.
53
+ yield git.addConfig('safe.directory', currentDir, true, simple_git_1.GitConfigScope.global);
54
+ }
55
+ catch (e) {
56
+ // Ignore the error
57
+ }
58
+ // Attempt to set the baseDir to the root of the repository so the 'git ls-files' command
59
+ // returns the tracked files paths relative to the root of the repository.
60
+ const root = yield git.revparse('--show-toplevel');
61
+ options.baseDir = root;
62
+ return simpleGit.simpleGit(options);
63
+ });
64
+ exports.newSimpleGit = newSimpleGit;
65
+ // StripCredentials removes credentials from a remote HTTP url.
66
+ const stripCredentials = (remote) => {
67
+ try {
68
+ const url = new url_1.URL(remote);
69
+ url.username = '';
70
+ url.password = '';
71
+ return url.toString();
72
+ }
73
+ catch (_a) {
74
+ return remote;
75
+ }
76
+ };
77
+ exports.stripCredentials = stripCredentials;
78
+ // Returns the hash of the current repository.
79
+ const gitHash = (git) => __awaiter(void 0, void 0, void 0, function* () { return git.revparse('HEAD'); });
80
+ // Returns the tracked files of the current repository.
81
+ const gitTrackedFiles = (git) => __awaiter(void 0, void 0, void 0, function* () {
82
+ const files = yield git.raw('ls-files');
83
+ return files.split(/\r\n|\r|\n/).filter((s) => s !== '');
84
+ });
85
+ exports.gitTrackedFiles = gitTrackedFiles;
86
+ // Returns the current hash, remote URL and tracked files paths.
87
+ const getCommitInfo = (git, repositoryURL) => __awaiter(void 0, void 0, void 0, function* () {
88
+ // Invoke git commands to retrieve the remote, hash and tracked files.
89
+ // We're using Promise.all instead of Promise.allSettled since we want to fail early if
90
+ // any of the promises fails.
91
+ let remote;
92
+ let hash;
93
+ let trackedFiles;
94
+ if (repositoryURL) {
95
+ ;
96
+ [hash, trackedFiles] = yield Promise.all([gitHash(git), (0, exports.gitTrackedFiles)(git)]);
97
+ remote = repositoryURL;
98
+ }
99
+ else {
100
+ ;
101
+ [remote, hash, trackedFiles] = yield Promise.all([(0, get_git_data_1.gitRemote)(git), gitHash(git), (0, exports.gitTrackedFiles)(git)]);
102
+ }
103
+ return new interfaces_1.CommitInfo(hash, remote, trackedFiles);
104
+ });
105
+ exports.getCommitInfo = getCommitInfo;
106
+ const getMergeBase = (git, target, source) => __awaiter(void 0, void 0, void 0, function* () {
107
+ const result = yield git.raw(['merge-base', target, source]);
108
+ return result.trim();
109
+ });
110
+ exports.getMergeBase = getMergeBase;
111
+ const getGitDiff = (git, from, to) => __awaiter(void 0, void 0, void 0, function* () {
112
+ const fromResolved = yield git.revparse(from);
113
+ const toResolved = yield git.revparse(to);
114
+ const rawDiff = yield git.diff([
115
+ '--unified=0',
116
+ '--no-color',
117
+ '--no-ext-diff',
118
+ '--no-renames',
119
+ '--diff-algorithm=minimal',
120
+ `${fromResolved}..${toResolved}`,
121
+ ]);
122
+ return {
123
+ head_sha: toResolved,
124
+ base_sha: fromResolved,
125
+ files: (0, exports.parseGitDiff)(rawDiff),
126
+ };
127
+ });
128
+ exports.getGitDiff = getGitDiff;
129
+ const diffHeaderRegex = /^diff --git a\/.+ b\/(.+)$/;
130
+ const hunkHeaderRegex = /^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/;
131
+ const parseGitDiff = (diff) => {
132
+ var _a, _b;
133
+ const root = {};
134
+ let currentPath;
135
+ let currentLines;
136
+ for (const line of diff.split(/\r?\n/)) {
137
+ const diffHeader = diffHeaderRegex.exec(line);
138
+ if (diffHeader) {
139
+ if (currentPath && currentLines) {
140
+ root[currentPath] = {
141
+ added_lines: base64Encode(currentLines.addedLines),
142
+ removed_lines: base64Encode(currentLines.removedLines),
143
+ };
144
+ }
145
+ currentPath = diffHeader[1];
146
+ currentLines = { addedLines: new Set(), removedLines: new Set() };
147
+ continue;
148
+ }
149
+ if (!currentLines) {
150
+ // still before first diff-header
151
+ continue;
152
+ }
153
+ const hunkHeader = hunkHeaderRegex.exec(line);
154
+ if (hunkHeader) {
155
+ const oldStart = Number(hunkHeader[1]);
156
+ const oldLen = Number((_a = hunkHeader[2]) !== null && _a !== void 0 ? _a : 1);
157
+ const newStart = Number(hunkHeader[3]);
158
+ const newLen = Number((_b = hunkHeader[4]) !== null && _b !== void 0 ? _b : 1);
159
+ for (let i = 0; i < oldLen; i++) {
160
+ currentLines.removedLines.add(oldStart + i);
161
+ }
162
+ for (let i = 0; i < newLen; i++) {
163
+ currentLines.addedLines.add(newStart + i);
164
+ }
165
+ }
166
+ }
167
+ if (currentPath && currentLines) {
168
+ root[currentPath] = {
169
+ added_lines: base64Encode(currentLines.addedLines),
170
+ removed_lines: base64Encode(currentLines.removedLines),
171
+ };
172
+ }
173
+ return root;
174
+ };
175
+ exports.parseGitDiff = parseGitDiff;
176
+ const base64Encode = (set) => {
177
+ const maxBit = set.size ? Math.max(...set) : 0;
178
+ if (maxBit === 0) {
179
+ return '';
180
+ }
181
+ const bytes = new Uint8Array(Math.ceil(maxBit / 8));
182
+ for (const n of set) {
183
+ // eslint-disable-next-line no-bitwise
184
+ bytes[n >> 3] |= 1 << (n & 7);
185
+ }
186
+ return Buffer.from(bytes).toString('base64');
187
+ };
188
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/commands/git-metadata/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AxiosResponse } from 'axios';
2
+ import * as simpleGit from 'simple-git';
3
+ import { RequestBuilder } from '../../helpers/interfaces';
4
+ import { Logger } from '../../helpers/logger';
5
+ export declare const uploadToGitDB: (log: Logger, request: RequestBuilder, git: simpleGit.SimpleGit, dryRun: boolean, repositoryURL?: string) => Promise<void>;
6
+ export declare const uploadPackfiles: (log: Logger, request: RequestBuilder, repoURL: string, headCommit: string, packfilePaths: string[]) => Promise<void>;
7
+ export declare const uploadPackfile: (log: Logger, request: RequestBuilder, repoURL: string, headCommit: string, packfilePath: string) => Promise<AxiosResponse<any, any, {}>>;