@datadog/datadog-ci 5.2.1 → 5.3.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 (40) hide show
  1. package/dist/commands/cli.d.ts +0 -2
  2. package/dist/commands/cli.js +20 -24
  3. package/dist/commands/cli.js.map +1 -1
  4. package/package.json +10 -13
  5. package/dist/commands/coverage/api.d.ts +0 -8
  6. package/dist/commands/coverage/api.js +0 -73
  7. package/dist/commands/coverage/api.js.map +0 -1
  8. package/dist/commands/coverage/cli.d.ts +0 -2
  9. package/dist/commands/coverage/cli.js +0 -6
  10. package/dist/commands/coverage/cli.js.map +0 -1
  11. package/dist/commands/coverage/interfaces.d.ts +0 -23
  12. package/dist/commands/coverage/interfaces.js +0 -3
  13. package/dist/commands/coverage/interfaces.js.map +0 -1
  14. package/dist/commands/coverage/renderer.d.ts +0 -13
  15. package/dist/commands/coverage/renderer.js +0 -88
  16. package/dist/commands/coverage/renderer.js.map +0 -1
  17. package/dist/commands/coverage/upload.d.ts +0 -36
  18. package/dist/commands/coverage/upload.js +0 -391
  19. package/dist/commands/coverage/upload.js.map +0 -1
  20. package/dist/commands/coverage/utils.d.ts +0 -15
  21. package/dist/commands/coverage/utils.js +0 -240
  22. package/dist/commands/coverage/utils.js.map +0 -1
  23. package/dist/commands/junit/api.d.ts +0 -9
  24. package/dist/commands/junit/api.js +0 -76
  25. package/dist/commands/junit/api.js.map +0 -1
  26. package/dist/commands/junit/cli.d.ts +0 -2
  27. package/dist/commands/junit/cli.js +0 -6
  28. package/dist/commands/junit/cli.js.map +0 -1
  29. package/dist/commands/junit/interfaces.d.ts +0 -16
  30. package/dist/commands/junit/interfaces.js +0 -3
  31. package/dist/commands/junit/interfaces.js.map +0 -1
  32. package/dist/commands/junit/renderer.d.ts +0 -12
  33. package/dist/commands/junit/renderer.js +0 -82
  34. package/dist/commands/junit/renderer.js.map +0 -1
  35. package/dist/commands/junit/upload.d.ts +0 -37
  36. package/dist/commands/junit/upload.js +0 -370
  37. package/dist/commands/junit/upload.js.map +0 -1
  38. package/dist/commands/junit/utils.d.ts +0 -3
  39. package/dist/commands/junit/utils.js +0 -26
  40. package/dist/commands/junit/utils.js.map +0 -1
@@ -1,8 +1,6 @@
1
1
  export declare const commands: {
2
- coverage: typeof import("./coverage/upload").CoverageUploadCommand[];
3
2
  'elf-symbols': typeof import("./elf-symbols/upload").ElfSymbolsUploadCommand[];
4
3
  'flutter-symbols': typeof import("./flutter-symbols/upload").FlutterSymbolsUploadCommand[];
5
- junit: typeof import("./junit/upload").JunitUploadCommand[];
6
4
  measure: typeof import("./measure/measure").MeasureCommand[];
7
5
  'pe-symbols': typeof import("./pe-symbols/upload").PeSymbolsUploadCommand[];
8
6
  'react-native': (typeof import("./react-native/upload").ReactNativeUploadCommand | typeof import("./react-native/codepush").ReactNativeCodepushCommand | typeof import("./react-native/injectDebugId").ReactNativeInjectDebugIdCommand | typeof import("./react-native/xcode").ReactNativeXcodeCommand)[];
@@ -1,31 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.commands = void 0;
4
- const cli_1 = require("./coverage/cli");
5
- const cli_2 = require("./elf-symbols/cli");
6
- const cli_3 = require("./flutter-symbols/cli");
7
- const cli_4 = require("./junit/cli");
8
- const cli_5 = require("./measure/cli");
9
- const cli_6 = require("./pe-symbols/cli");
10
- const cli_7 = require("./react-native/cli");
11
- const cli_8 = require("./sourcemaps/cli");
12
- const cli_9 = require("./span/cli");
13
- const cli_10 = require("./trace/cli");
14
- const cli_11 = require("./unity-symbols/cli");
15
- const cli_12 = require("./version/cli");
4
+ const cli_1 = require("./elf-symbols/cli");
5
+ const cli_2 = require("./flutter-symbols/cli");
6
+ const cli_3 = require("./measure/cli");
7
+ const cli_4 = require("./pe-symbols/cli");
8
+ const cli_5 = require("./react-native/cli");
9
+ const cli_6 = require("./sourcemaps/cli");
10
+ const cli_7 = require("./span/cli");
11
+ const cli_8 = require("./trace/cli");
12
+ const cli_9 = require("./unity-symbols/cli");
13
+ const cli_10 = require("./version/cli");
16
14
  // prettier-ignore
17
15
  exports.commands = {
18
- 'coverage': cli_1.commands,
19
- 'elf-symbols': cli_2.commands,
20
- 'flutter-symbols': cli_3.commands,
21
- 'junit': cli_4.commands,
22
- 'measure': cli_5.commands,
23
- 'pe-symbols': cli_6.commands,
24
- 'react-native': cli_7.commands,
25
- 'sourcemaps': cli_8.commands,
26
- 'span': cli_9.commands,
27
- 'trace': cli_10.commands,
28
- 'unity-symbols': cli_11.commands,
29
- 'version': cli_12.commands,
16
+ 'elf-symbols': cli_1.commands,
17
+ 'flutter-symbols': cli_2.commands,
18
+ 'measure': cli_3.commands,
19
+ 'pe-symbols': cli_4.commands,
20
+ 'react-native': cli_5.commands,
21
+ 'sourcemaps': cli_6.commands,
22
+ 'span': cli_7.commands,
23
+ 'trace': cli_8.commands,
24
+ 'unity-symbols': cli_9.commands,
25
+ 'version': cli_10.commands,
30
26
  };
31
27
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":";;;AAGA,wCAA2D;AAC3D,2CAAgE;AAChE,+CAAwE;AACxE,qCAAqD;AACrD,uCAAyD;AACzD,0CAA8D;AAC9D,4CAAkE;AAClE,0CAA+D;AAC/D,oCAAmD;AACnD,sCAAqD;AACrD,8CAAoE;AACpE,wCAAyD;AAEzD,kBAAkB;AACL,QAAA,QAAQ,GAAG;IACtB,UAAU,EAAE,cAAgB;IAC5B,aAAa,EAAE,cAAkB;IACjC,iBAAiB,EAAE,cAAsB;IACzC,OAAO,EAAE,cAAa;IACtB,SAAS,EAAE,cAAe;IAC1B,YAAY,EAAE,cAAiB;IAC/B,cAAc,EAAE,cAAmB;IACnC,YAAY,EAAE,cAAkB;IAChC,MAAM,EAAE,cAAY;IACpB,OAAO,EAAE,eAAa;IACtB,eAAe,EAAE,eAAoB;IACrC,SAAS,EAAE,eAAe;CACO,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":";;;AAGA,2CAAgE;AAChE,+CAAwE;AACxE,uCAAyD;AACzD,0CAA8D;AAC9D,4CAAkE;AAClE,0CAA+D;AAC/D,oCAAmD;AACnD,qCAAqD;AACrD,6CAAoE;AACpE,wCAAyD;AAEzD,kBAAkB;AACL,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,cAAkB;IACjC,iBAAiB,EAAE,cAAsB;IACzC,SAAS,EAAE,cAAe;IAC1B,YAAY,EAAE,cAAiB;IAC/B,cAAc,EAAE,cAAmB;IACnC,YAAY,EAAE,cAAkB;IAChC,MAAM,EAAE,cAAY;IACpB,OAAO,EAAE,cAAa;IACtB,eAAe,EAAE,cAAoB;IACrC,SAAS,EAAE,eAAe;CACO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datadog/datadog-ci",
3
- "version": "5.2.1",
3
+ "version": "5.3.0",
4
4
  "description": "Use Datadog from your CI.",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -41,29 +41,26 @@
41
41
  "prepack": "yarn package:clean-dist"
42
42
  },
43
43
  "dependencies": {
44
- "@datadog/datadog-ci-base": "5.2.1",
45
- "@datadog/datadog-ci-plugin-deployment": "5.2.1",
46
- "@datadog/datadog-ci-plugin-dora": "5.2.1",
47
- "@datadog/datadog-ci-plugin-gate": "5.2.1",
48
- "@datadog/datadog-ci-plugin-sarif": "5.2.1",
49
- "@datadog/datadog-ci-plugin-sbom": "5.2.1",
44
+ "@datadog/datadog-ci-base": "5.3.0",
45
+ "@datadog/datadog-ci-plugin-coverage": "5.3.0",
46
+ "@datadog/datadog-ci-plugin-deployment": "5.3.0",
47
+ "@datadog/datadog-ci-plugin-dora": "5.3.0",
48
+ "@datadog/datadog-ci-plugin-gate": "5.3.0",
49
+ "@datadog/datadog-ci-plugin-junit": "5.3.0",
50
+ "@datadog/datadog-ci-plugin-sarif": "5.3.0",
51
+ "@datadog/datadog-ci-plugin-sbom": "5.3.0",
50
52
  "axios": "^1.12.1",
51
53
  "chalk": "3.0.0",
52
54
  "clipanion": "^3.2.1",
53
- "fast-xml-parser": "^4.4.1",
54
- "form-data": "^4.0.4",
55
55
  "js-yaml": "4.1.1",
56
56
  "semver": "^7.5.3",
57
- "simple-git": "3.16.0",
58
57
  "typanion": "^3.14.0",
59
- "upath": "^2.0.1",
60
- "uuid": "^9.0.0"
58
+ "upath": "^2.0.1"
61
59
  },
62
60
  "devDependencies": {
63
61
  "@types/jest": "29.5.3",
64
62
  "@types/js-yaml": "^4.0.5",
65
63
  "@types/semver": "^7.7.1",
66
- "@types/uuid": "^9.0.2",
67
64
  "esbuild": "^0.25.9"
68
65
  }
69
66
  }
@@ -1,8 +0,0 @@
1
- import type { AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios';
2
- import { Payload } from './interfaces';
3
- export declare const datadogSite: string;
4
- export declare const intakeUrl: string;
5
- export declare const uploadCodeCoverageReport: (request: (args: AxiosRequestConfig) => AxiosPromise<AxiosResponse>) => (payload: Payload) => Promise<AxiosResponse<AxiosResponse<any, any, {}>, any, {}>>;
6
- export declare const apiConstructor: (baseIntakeUrl: string, apiKey: string) => {
7
- uploadCodeCoverageReport: (payload: Payload) => Promise<AxiosResponse<AxiosResponse<any, any, {}>, any, {}>>;
8
- };
@@ -1,73 +0,0 @@
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.apiConstructor = exports.uploadCodeCoverageReport = exports.intakeUrl = exports.datadogSite = void 0;
16
- const fs_1 = __importDefault(require("fs"));
17
- const zlib_1 = require("zlib");
18
- const concurrency_1 = require("@datadog/datadog-ci-base/helpers/concurrency");
19
- const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
20
- const form_data_1 = __importDefault(require("form-data"));
21
- // Dependency follows-redirects sets a default maxBodyLength of 10 MB https://github.com/follow-redirects/follow-redirects/blob/b774a77e582b97174813b3eaeb86931becba69db/index.js#L391
22
- // We don't want any hard limit enforced by the CLI, the backend will enforce a max size by returning 413 errors.
23
- const maxBodyLength = Infinity;
24
- exports.datadogSite = process.env.DATADOG_SITE || process.env.DD_SITE || 'datadoghq.com';
25
- exports.intakeUrl = `https://ci-intake.${exports.datadogSite}`;
26
- const uploadCodeCoverageReport = (request) => (payload) => __awaiter(void 0, void 0, void 0, function* () {
27
- const form = new form_data_1.default();
28
- const event = Object.assign(Object.assign(Object.assign({ type: 'coverage_report', '_dd.hostname': payload.hostname, format: payload.format, basepath: payload.basePath }, payload.spanTags), payload.customTags), payload.customMeasures);
29
- if (payload.codeowners) {
30
- event['codeowners.path'] = payload.codeowners.path;
31
- event['codeowners.sha'] = payload.codeowners.sha;
32
- }
33
- if (payload.coverageConfig) {
34
- event['config.path'] = payload.coverageConfig.path;
35
- event['config.sha'] = payload.coverageConfig.sha;
36
- }
37
- form.append('event', JSON.stringify(event), { filename: 'event.json' });
38
- if (payload.prDiff) {
39
- form.append('pr_diff', (0, zlib_1.gzipSync)(Buffer.from(JSON.stringify(payload.prDiff), 'utf8')), {
40
- filename: 'pr_diff.json.gz',
41
- });
42
- }
43
- if (payload.commitDiff) {
44
- form.append('commit_diff', (0, zlib_1.gzipSync)(Buffer.from(JSON.stringify(payload.commitDiff), 'utf8')), {
45
- filename: 'commit_diff.json.gz',
46
- });
47
- }
48
- yield (0, concurrency_1.doWithMaxConcurrency)(20, payload.paths, (path) => __awaiter(void 0, void 0, void 0, function* () {
49
- const gzip = fs_1.default.createReadStream(path).pipe((0, zlib_1.createGzip)());
50
- form.append('code_coverage_report_file', gzip, { filename: `${getReportFilename(path)}.gz` });
51
- }));
52
- return request({
53
- data: form,
54
- headers: form.getHeaders(),
55
- maxBodyLength,
56
- method: 'POST',
57
- url: 'api/v2/cicovreprt',
58
- });
59
- });
60
- exports.uploadCodeCoverageReport = uploadCodeCoverageReport;
61
- const getReportFilename = (path) => {
62
- const filename = path.split('/').pop() || path;
63
- // Remove leading dot if it exists, as the backend does not accept filenames starting with a dot
64
- return filename.startsWith('.') ? filename.slice(1) : filename;
65
- };
66
- const apiConstructor = (baseIntakeUrl, apiKey) => {
67
- const requestIntake = (0, utils_1.getRequestBuilder)({ baseUrl: baseIntakeUrl, apiKey });
68
- return {
69
- uploadCodeCoverageReport: (0, exports.uploadCodeCoverageReport)(requestIntake),
70
- };
71
- };
72
- exports.apiConstructor = apiConstructor;
73
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/coverage/api.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { CoverageUploadCommand } from './upload';
2
- export declare const commands: (typeof CoverageUploadCommand)[];
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commands = void 0;
4
- const upload_1 = require("./upload");
5
- exports.commands = [upload_1.CoverageUploadCommand];
6
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/coverage/cli.ts"],"names":[],"mappings":";;;AAAA,qCAA8C;AAEjC,QAAA,QAAQ,GAAG,CAAC,8BAAqB,CAAC,CAAA"}
@@ -1,23 +0,0 @@
1
- import type { AxiosPromise, AxiosResponse } from 'axios';
2
- import { DiffData } from '@datadog/datadog-ci-base/commands/git-metadata/git';
3
- import { SpanTags } from '@datadog/datadog-ci-base/helpers/interfaces';
4
- export interface Payload {
5
- hostname: string;
6
- spanTags: SpanTags;
7
- customTags: Record<string, string>;
8
- customMeasures: Record<string, number>;
9
- paths: string[];
10
- format: string;
11
- basePath: string | undefined;
12
- commitDiff: DiffData | undefined;
13
- prDiff: DiffData | undefined;
14
- coverageConfig: RepoFile | undefined;
15
- codeowners: RepoFile | undefined;
16
- }
17
- export interface RepoFile {
18
- path: string;
19
- sha: string;
20
- }
21
- export interface APIHelper {
22
- uploadCodeCoverageReport(codeCoverageReport: Payload): AxiosPromise<AxiosResponse>;
23
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/coverage/interfaces.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import { SpanTags } from '@datadog/datadog-ci-base/helpers/interfaces';
2
- import { Payload } from './interfaces';
3
- export declare const renderFileReadError: (filePath: string, errorMessage: string) => string;
4
- export declare const renderInvalidFile: (filePath: string, errorMessage: string) => string;
5
- export declare const renderFailedUpload: (payload: Payload, errorMessage: string) => string;
6
- export declare const renderRetriedUpload: (payload: Payload, errorMessage: string, attempt: number) => string;
7
- export declare const renderSuccessfulUpload: (dryRun: boolean, fileCount: number, duration: number) => string;
8
- export declare const renderSuccessfulUploadCommand: (spanTags: SpanTags) => string;
9
- export declare const renderDryRunUpload: (payload: Payload) => string;
10
- export declare const renderUpload: (payload: Payload) => string;
11
- export declare const renderCommandInfo: (reportPaths: string[], dryRun: boolean) => string;
12
- export declare const renderSuccessfulGitDBSync: (dryRun: boolean, elapsed: number) => string;
13
- export declare const renderFailedGitDBSync: (err: any) => string;
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderFailedGitDBSync = exports.renderSuccessfulGitDBSync = exports.renderCommandInfo = exports.renderUpload = exports.renderDryRunUpload = exports.renderSuccessfulUploadCommand = exports.renderSuccessfulUpload = exports.renderRetriedUpload = exports.renderFailedUpload = exports.renderInvalidFile = exports.renderFileReadError = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const upath_1 = __importDefault(require("upath"));
9
- const utils_1 = require("./utils");
10
- const ICONS = {
11
- FAILED: '❌',
12
- SUCCESS: '✅',
13
- WARNING: '⚠️',
14
- };
15
- const renderFileReadError = (filePath, errorMessage) => {
16
- const reportPath = `[${chalk_1.default.bold.dim(filePath)}]`;
17
- return chalk_1.default.red(`${ICONS.FAILED} Error while reading report file ${reportPath}: ${errorMessage}\n`);
18
- };
19
- exports.renderFileReadError = renderFileReadError;
20
- const renderInvalidFile = (filePath, errorMessage) => {
21
- const reportPath = `[${chalk_1.default.bold.dim(filePath)}]`;
22
- return chalk_1.default.red(`${ICONS.FAILED} Invalid coverage report file ${reportPath}: ${errorMessage}\n`);
23
- };
24
- exports.renderInvalidFile = renderInvalidFile;
25
- const renderFailedUpload = (payload, errorMessage) => {
26
- const payloadDetails = `${chalk_1.default.bold.dim(payload.paths)}`;
27
- return chalk_1.default.red(`${ICONS.FAILED} Upload failed for ${payloadDetails}: ${errorMessage}\n`);
28
- };
29
- exports.renderFailedUpload = renderFailedUpload;
30
- const renderRetriedUpload = (payload, errorMessage, attempt) => {
31
- const payloadDetails = `${chalk_1.default.bold.dim(payload.paths)}`;
32
- return chalk_1.default.yellow(`[attempt ${attempt}] Retrying coverage report upload ${payloadDetails}: ${errorMessage}\n`);
33
- };
34
- exports.renderRetriedUpload = renderRetriedUpload;
35
- const renderSuccessfulUpload = (dryRun, fileCount, duration) => {
36
- return chalk_1.default.green(`${dryRun ? '[DRYRUN] ' : ''}${ICONS.SUCCESS} Uploaded ${fileCount} files in ${duration} seconds.`);
37
- };
38
- exports.renderSuccessfulUpload = renderSuccessfulUpload;
39
- const renderSuccessfulUploadCommand = (spanTags) => {
40
- const coverageDetailsUrl = (0, utils_1.getCoverageDetailsUrl)(spanTags);
41
- if (coverageDetailsUrl) {
42
- let fullStr = '';
43
- fullStr += chalk_1.default.green('=================================================================================================\n');
44
- fullStr += chalk_1.default.green('* View detailed coverage report in Datadog (it can take a few minutes to become available)\n');
45
- fullStr += chalk_1.default.green(`* ${coverageDetailsUrl}\n`);
46
- fullStr += chalk_1.default.green('=================================================================================================\n');
47
- return fullStr;
48
- }
49
- return '';
50
- };
51
- exports.renderSuccessfulUploadCommand = renderSuccessfulUploadCommand;
52
- const renderDryRunUpload = (payload) => `[DRYRUN] ${(0, exports.renderUpload)(payload)}`;
53
- exports.renderDryRunUpload = renderDryRunUpload;
54
- const renderUpload = (payload) => {
55
- if (payload.paths && payload.paths.length) {
56
- return `Uploading code coverage report file(s) in ${payload.paths}`;
57
- }
58
- else {
59
- return 'No code coverage report paths, doing nothing';
60
- }
61
- };
62
- exports.renderUpload = renderUpload;
63
- const renderCommandInfo = (reportPaths, dryRun) => {
64
- let fullStr = '';
65
- if (dryRun) {
66
- fullStr += chalk_1.default.yellow(`${ICONS.WARNING} DRY-RUN MODE ENABLED. WILL NOT UPLOAD COVERAGE REPORTS\n`);
67
- }
68
- fullStr += chalk_1.default.green(`${new Date().toLocaleString()} - Starting upload. \n`);
69
- if (!!reportPaths.length) {
70
- if (reportPaths.length === 1 && !!upath_1.default.extname(reportPaths[0])) {
71
- fullStr += chalk_1.default.green(`Will upload code coverage report file ${reportPaths[0]}`);
72
- }
73
- else {
74
- fullStr += chalk_1.default.green(`Will look for code coverage report files in ${reportPaths.join(', ')}`);
75
- }
76
- }
77
- return fullStr;
78
- };
79
- exports.renderCommandInfo = renderCommandInfo;
80
- const renderSuccessfulGitDBSync = (dryRun, elapsed) => {
81
- return chalk_1.default.green(`${dryRun ? '[DRYRUN] ' : ''}${ICONS.SUCCESS} Synced git metadata in ${elapsed} seconds.`);
82
- };
83
- exports.renderSuccessfulGitDBSync = renderSuccessfulGitDBSync;
84
- const renderFailedGitDBSync = (err) => {
85
- return chalk_1.default.red.bold(`${ICONS.FAILED} Could not sync git metadata: ${err}\n`);
86
- };
87
- exports.renderFailedGitDBSync = renderFailedGitDBSync;
88
- //# sourceMappingURL=renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/commands/coverage/renderer.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { BaseCommand } from '@datadog/datadog-ci-base';
2
- export declare class CoverageUploadCommand extends BaseCommand {
3
- static paths: string[][];
4
- static usage: import("clipanion").Usage;
5
- private reportPaths;
6
- private verbose;
7
- private dryRun;
8
- private measures;
9
- private tags;
10
- private format;
11
- private uploadGitDiff;
12
- private skipGitMetadataUpload;
13
- private gitRepositoryURL;
14
- private basePath;
15
- private ignoredPaths;
16
- private fips;
17
- private fipsIgnoreError;
18
- private config;
19
- private logger;
20
- private git;
21
- execute(): Promise<1 | undefined>;
22
- private uploadToGitDB;
23
- private uploadCodeCoverageReports;
24
- private getApiHelper;
25
- private generatePayloads;
26
- private getRepoFile;
27
- private getPrDiff;
28
- private getHeadAndBase;
29
- private getCommitDiff;
30
- private getSpanTags;
31
- private getCustomTags;
32
- private getCustomMeasures;
33
- private getMatchingCoverageReportFilesByFormat;
34
- private getCoverageReportFormat;
35
- private uploadCodeCoverageReport;
36
- }