@datadog/datadog-ci 2.24.1 → 2.26.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 (74) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/deployment/cli.d.ts +1 -0
  4. package/dist/commands/deployment/cli.js +5 -0
  5. package/dist/commands/deployment/cli.js.map +1 -0
  6. package/dist/commands/deployment/constants.d.ts +6 -0
  7. package/dist/commands/deployment/constants.js +10 -0
  8. package/dist/commands/deployment/constants.js.map +1 -0
  9. package/dist/commands/deployment/mark.d.ts +16 -0
  10. package/dist/commands/deployment/mark.js +78 -0
  11. package/dist/commands/deployment/mark.js.map +1 -0
  12. package/dist/commands/dsyms/upload.js +2 -2
  13. package/dist/commands/dsyms/upload.js.map +1 -1
  14. package/dist/commands/flutter-symbols/upload.js +2 -2
  15. package/dist/commands/flutter-symbols/upload.js.map +1 -1
  16. package/dist/commands/gate/renderer.d.ts +1 -0
  17. package/dist/commands/gate/renderer.js +6 -3
  18. package/dist/commands/gate/renderer.js.map +1 -1
  19. package/dist/commands/gate/utils.d.ts +1 -0
  20. package/dist/commands/gate/utils.js +8 -1
  21. package/dist/commands/gate/utils.js.map +1 -1
  22. package/dist/commands/junit/upload.js +2 -2
  23. package/dist/commands/junit/upload.js.map +1 -1
  24. package/dist/commands/lambda/constants.d.ts +1 -0
  25. package/dist/commands/lambda/constants.js +3 -0
  26. package/dist/commands/lambda/constants.js.map +1 -1
  27. package/dist/commands/lambda/functions/commons.d.ts +1 -1
  28. package/dist/commands/react-native/upload.js +2 -2
  29. package/dist/commands/react-native/upload.js.map +1 -1
  30. package/dist/commands/sarif/upload.js +2 -2
  31. package/dist/commands/sarif/upload.js.map +1 -1
  32. package/dist/commands/sbom/payload.d.ts +1 -1
  33. package/dist/commands/sbom/payload.js +33 -1
  34. package/dist/commands/sbom/payload.js.map +1 -1
  35. package/dist/commands/sbom/types.d.ts +3 -0
  36. package/dist/commands/sbom/upload.js +28 -27
  37. package/dist/commands/sbom/upload.js.map +1 -1
  38. package/dist/commands/sourcemaps/upload.js +2 -2
  39. package/dist/commands/sourcemaps/upload.js.map +1 -1
  40. package/dist/commands/synthetics/api.d.ts +6 -4
  41. package/dist/commands/synthetics/api.js +54 -28
  42. package/dist/commands/synthetics/api.js.map +1 -1
  43. package/dist/commands/synthetics/index.d.ts +1 -1
  44. package/dist/commands/synthetics/index.js +1 -1
  45. package/dist/commands/synthetics/index.js.map +1 -1
  46. package/dist/commands/synthetics/interfaces.d.ts +60 -13
  47. package/dist/commands/synthetics/interfaces.js.map +1 -1
  48. package/dist/commands/synthetics/mobile.d.ts +3 -3
  49. package/dist/commands/synthetics/mobile.js +42 -18
  50. package/dist/commands/synthetics/mobile.js.map +1 -1
  51. package/dist/commands/synthetics/reporters/default.d.ts +1 -1
  52. package/dist/commands/synthetics/reporters/default.js +67 -35
  53. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  54. package/dist/commands/synthetics/reporters/junit.js +52 -21
  55. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  56. package/dist/commands/synthetics/run-tests-command.js +10 -10
  57. package/dist/commands/synthetics/run-tests-command.js.map +1 -1
  58. package/dist/commands/synthetics/run-tests-lib.d.ts +13 -6
  59. package/dist/commands/synthetics/run-tests-lib.js +22 -12
  60. package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
  61. package/dist/commands/synthetics/utils/internal.d.ts +5 -0
  62. package/dist/commands/synthetics/utils/internal.js +28 -0
  63. package/dist/commands/synthetics/utils/internal.js.map +1 -0
  64. package/dist/commands/synthetics/{utils.d.ts → utils/public.d.ts} +8 -5
  65. package/dist/commands/synthetics/{utils.js → utils/public.js} +106 -51
  66. package/dist/commands/synthetics/utils/public.js.map +1 -0
  67. package/dist/commands/tag/tag.d.ts +3 -0
  68. package/dist/commands/tag/tag.js +9 -0
  69. package/dist/commands/tag/tag.js.map +1 -1
  70. package/dist/helpers/concurrency.d.ts +1 -0
  71. package/dist/helpers/concurrency.js +45 -0
  72. package/dist/helpers/concurrency.js.map +1 -0
  73. package/package.json +4 -4
  74. package/dist/commands/synthetics/utils.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { Metadata } from '../../helpers/interfaces';
2
3
  import { ProxyConfiguration } from '../../helpers/utils';
3
4
  import { TunnelInfo } from './tunnel';
@@ -12,7 +13,7 @@ export interface MainReporter {
12
13
  resultEnd(result: Result, baseUrl: string): void;
13
14
  resultReceived(result: Batch['results'][0]): void;
14
15
  runEnd(summary: Summary, baseUrl: string, orgSettings?: SyntheticsOrgSettings): void;
15
- testsWait(tests: Test[], baseUrl: string, batchId: string): void;
16
+ testsWait(tests: Test[], baseUrl: string, batchId: string, skippedCount?: number): void;
16
17
  testTrigger(test: Test, testId: string, executionRule: ExecutionRule, config: UserConfigOverride): void;
17
18
  testWait(test: Test): void;
18
19
  }
@@ -90,33 +91,67 @@ export type ResultDisplayInfo = {
90
91
  };
91
92
  tests: Test[];
92
93
  };
93
- export interface Result {
94
+ export type SelectiveRerunDecision = {
95
+ decision: 'run';
96
+ reason: 'in_progress';
97
+ } | {
98
+ decision: 'run';
99
+ reason: 'failed';
100
+ linked_result_id: string;
101
+ } | {
102
+ decision: 'run';
103
+ reason: 'edited';
104
+ } | {
105
+ decision: 'run';
106
+ reason: 'new';
107
+ } | {
108
+ decision: 'skip';
109
+ reason: 'passed';
110
+ linked_result_id: string;
111
+ };
112
+ export interface BaseResult {
94
113
  executionRule: ExecutionRule;
95
114
  location: string;
96
115
  passed: boolean;
97
116
  result: ServerResult;
98
117
  resultId: string;
118
+ selectiveRerun?: SelectiveRerunDecision;
99
119
  test: Test;
100
120
  timedOut: boolean;
101
121
  timestamp: number;
102
122
  }
103
- type Status = 'passed' | 'failed' | 'in_progress';
104
- export interface ResultInBatch {
123
+ export type ResultSkippedBySelectiveRerun = Omit<BaseResult, 'location' | 'result' | 'timestamp'> & {
124
+ executionRule: ExecutionRule.SKIPPED;
125
+ selectiveRerun: Extract<SelectiveRerunDecision, {
126
+ decision: 'skip';
127
+ }>;
128
+ };
129
+ export type Result = BaseResult | ResultSkippedBySelectiveRerun;
130
+ type Status = 'passed' | 'failed' | 'in_progress' | 'skipped';
131
+ export interface BaseResultInBatch {
105
132
  execution_rule: ExecutionRule;
106
133
  location: string;
107
134
  result_id: string;
135
+ selective_rerun?: SelectiveRerunDecision;
108
136
  status: Status;
109
137
  test_public_id: string;
110
138
  timed_out: boolean | null;
111
139
  }
140
+ type SkippedResultInBatch = Omit<BaseResultInBatch, 'location' | 'result_id'> & {
141
+ execution_rule: ExecutionRule.SKIPPED;
142
+ status: 'skipped';
143
+ };
144
+ export type ResultInBatchSkippedBySelectiveRerun = SkippedResultInBatch & {
145
+ selective_rerun: Extract<SelectiveRerunDecision, {
146
+ decision: 'skip';
147
+ }>;
148
+ };
149
+ export type ResultInBatch = BaseResultInBatch | ResultInBatchSkippedBySelectiveRerun;
112
150
  export interface Batch {
113
151
  results: ResultInBatch[];
114
152
  status: Status;
115
153
  }
116
- interface SkippedResultInBatch extends Omit<ResultInBatch, 'result_id' | 'status'> {
117
- status: 'skipped';
118
- }
119
- type ServerResultInBatch = SkippedResultInBatch | ResultInBatch;
154
+ type ServerResultInBatch = BaseResultInBatch | SkippedResultInBatch;
120
155
  export interface ServerBatch {
121
156
  results: ServerResultInBatch[];
122
157
  status: Status;
@@ -302,7 +337,7 @@ export interface Payload {
302
337
  options?: BatchOptions;
303
338
  }
304
339
  export interface TestPayload extends ServerConfigOverride {
305
- executionRule: ExecutionRule;
340
+ executionRule?: ExecutionRule;
306
341
  public_id: string;
307
342
  }
308
343
  export interface BasicAuthCredentials {
@@ -328,9 +363,11 @@ export interface Suite {
328
363
  export interface Summary {
329
364
  batchId: string;
330
365
  criticalErrors: number;
366
+ expected: number;
331
367
  failed: number;
332
368
  failedNonBlocking: number;
333
369
  passed: number;
370
+ previouslyPassed: number;
334
371
  skipped: number;
335
372
  testsNotFound: Set<string>;
336
373
  timedOut: number;
@@ -380,13 +417,23 @@ export interface UploadApplicationCommandConfig extends SyntheticsCIConfig {
380
417
  versionName?: string;
381
418
  latest?: boolean;
382
419
  }
383
- export interface PresignedUrlResponse {
420
+ export interface MobileApplicationUploadPart {
421
+ partNumber: number;
422
+ md5: string;
423
+ blob: Buffer;
424
+ }
425
+ export interface MobileApplicationUploadPartResponse {
426
+ PartNumber: number;
427
+ ETag: string;
428
+ }
429
+ export interface MultipartPresignedUrlsResponse {
384
430
  file_name: string;
385
- presigned_url_params: {
386
- fields: {
431
+ multipart_presigned_urls_params: {
432
+ key: string;
433
+ upload_id: string;
434
+ urls: {
387
435
  [key: string]: string;
388
436
  };
389
- url: string;
390
437
  };
391
438
  }
392
439
  export interface SyntheticsOrgSettings {
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/synthetics/interfaces.ts"],"names":[],"mappings":";;;AA2OA,IAAY,QAeX;AAfD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;IACrB,6CAAiC,CAAA;IACjC,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,yCAA6B,CAAA;IAC7B,yCAA6B,CAAA;IAC7B,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,+BAAmB,CAAA;IACnB,yCAA6B,CAAA;IAC7B,mDAAuC,CAAA;IACvC,6CAAiC,CAAA;AACnC,CAAC,EAfW,QAAQ,wBAAR,QAAQ,QAenB;AA6FD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/commands/synthetics/interfaces.ts"],"names":[],"mappings":";;;AAqRA,IAAY,QAeX;AAfD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;IACrB,6CAAiC,CAAA;IACjC,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,yCAA6B,CAAA;IAC7B,yCAA6B,CAAA;IAC7B,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,+CAAmC,CAAA;IACnC,+BAAmB,CAAA;IACnB,yCAA6B,CAAA;IAC7B,mDAAuC,CAAA;IACvC,6CAAiC,CAAA;AACnC,CAAC,EAfW,QAAQ,wBAAR,QAAQ,QAenB;AA6FD,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
@@ -1,8 +1,8 @@
1
1
  import { APIHelper } from './api';
2
- import { MobileApplicationVersion, Test, TestPayload, UploadApplicationCommandConfig, UserConfigOverride } from './interfaces';
3
- export declare const getSizeAndMD5HashFromFile: (filePath: string) => Promise<{
2
+ import { MobileApplicationUploadPart, MobileApplicationVersion, Test, TestPayload, UploadApplicationCommandConfig, UserConfigOverride } from './interfaces';
3
+ export declare const getSizeAndPartsFromFile: (filePath: string) => Promise<{
4
4
  appSize: number;
5
- md5: string;
5
+ parts: MobileApplicationUploadPart[];
6
6
  }>;
7
7
  export declare const uploadMobileApplications: (api: APIHelper, applicationPathToUpload: string, mobileApplicationId: string) => Promise<string>;
8
8
  export declare const uploadApplication: (api: APIHelper, applicationPathToUpload: string, testApplicationId: string, uploadedApplicationByPath: {
@@ -42,21 +42,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
42
42
  return (mod && mod.__esModule) ? mod : { "default": mod };
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.uploadMobileApplicationVersion = exports.createNewMobileVersion = exports.uploadApplicationAndOverrideConfig = exports.shouldUploadApplication = exports.overrideMobileConfig = exports.uploadApplication = exports.uploadMobileApplications = exports.getSizeAndMD5HashFromFile = void 0;
45
+ exports.uploadMobileApplicationVersion = exports.createNewMobileVersion = exports.uploadApplicationAndOverrideConfig = exports.shouldUploadApplication = exports.overrideMobileConfig = exports.uploadApplication = exports.uploadMobileApplications = exports.getSizeAndPartsFromFile = void 0;
46
46
  const crypto = __importStar(require("crypto"));
47
47
  const fs_1 = __importDefault(require("fs"));
48
48
  const api_1 = require("./api");
49
49
  const errors_1 = require("./errors");
50
- const getSizeAndMD5HashFromFile = (filePath) => __awaiter(void 0, void 0, void 0, function* () {
50
+ const UPLOAD_FILE_MAX_PART_SIZE = 10 * 1024 * 1024; // MiB
51
+ const getSizeAndPartsFromFile = (filePath) => __awaiter(void 0, void 0, void 0, function* () {
51
52
  var _a, e_1, _b, _c;
52
- const hash = crypto.createHash('md5');
53
- const fileStream = fs_1.default.createReadStream(filePath);
53
+ const readStreamOptions = {
54
+ // Limit the chunk size for the stream
55
+ // https://nodejs.org/api/stream.html#buffering
56
+ highWaterMark: UPLOAD_FILE_MAX_PART_SIZE,
57
+ };
58
+ const fileStream = fs_1.default.createReadStream(filePath, readStreamOptions);
59
+ const parts = [];
54
60
  try {
55
61
  for (var _d = true, fileStream_1 = __asyncValues(fileStream), fileStream_1_1; fileStream_1_1 = yield fileStream_1.next(), _a = fileStream_1_1.done, !_a; _d = true) {
56
62
  _c = fileStream_1_1.value;
57
63
  _d = false;
58
64
  const chunk = _c;
59
- hash.update(chunk);
65
+ if (!(chunk instanceof Buffer)) {
66
+ // this should never happen, but for-await-of creates an any that we don't want
67
+ throw new Error('Unexpected chunk type from file stream');
68
+ }
69
+ parts.push({
70
+ md5: crypto.createHash('md5').update(chunk).digest('base64'),
71
+ partNumber: parts.length + 1,
72
+ blob: chunk,
73
+ });
60
74
  }
61
75
  }
62
76
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -66,27 +80,37 @@ const getSizeAndMD5HashFromFile = (filePath) => __awaiter(void 0, void 0, void 0
66
80
  }
67
81
  finally { if (e_1) throw e_1.error; }
68
82
  }
69
- return { appSize: fileStream.bytesRead, md5: hash.digest('base64') };
83
+ return {
84
+ appSize: fileStream.bytesRead,
85
+ parts,
86
+ };
70
87
  });
71
- exports.getSizeAndMD5HashFromFile = getSizeAndMD5HashFromFile;
88
+ exports.getSizeAndPartsFromFile = getSizeAndPartsFromFile;
72
89
  const uploadMobileApplications = (api, applicationPathToUpload, mobileApplicationId) => __awaiter(void 0, void 0, void 0, function* () {
73
- var _e, _f;
74
- const { appSize, md5 } = yield (0, exports.getSizeAndMD5HashFromFile)(applicationPathToUpload);
75
- let presignedUrlResponse;
90
+ var _e, _f, _g;
91
+ const { appSize, parts } = yield (0, exports.getSizeAndPartsFromFile)(applicationPathToUpload);
92
+ let multipartPresignedUrlsResponse;
76
93
  try {
77
- presignedUrlResponse = yield api.getMobileApplicationPresignedURL(mobileApplicationId, appSize, md5);
94
+ multipartPresignedUrlsResponse = yield api.getMobileApplicationPresignedURLs(mobileApplicationId, appSize, parts);
78
95
  }
79
96
  catch (e) {
80
97
  throw new api_1.EndpointError(`Failed to get presigned URL: ${(0, api_1.formatBackendErrors)(e)}\n`, (_e = e.response) === null || _e === void 0 ? void 0 : _e.status);
81
98
  }
82
- const fileBuffer = yield fs_1.default.promises.readFile(applicationPathToUpload);
99
+ let uploadPartResponses;
83
100
  try {
84
- yield api.uploadMobileApplication(fileBuffer, presignedUrlResponse.presigned_url_params);
101
+ uploadPartResponses = yield api.uploadMobileApplicationPart(parts, multipartPresignedUrlsResponse.multipart_presigned_urls_params);
85
102
  }
86
103
  catch (e) {
87
104
  throw new api_1.EndpointError(`Failed to upload mobile application: ${(0, api_1.formatBackendErrors)(e)}\n`, (_f = e.response) === null || _f === void 0 ? void 0 : _f.status);
88
105
  }
89
- return presignedUrlResponse.file_name;
106
+ const { upload_id: uploadId, key } = multipartPresignedUrlsResponse.multipart_presigned_urls_params;
107
+ try {
108
+ yield api.completeMultipartMobileApplicationUpload(mobileApplicationId, uploadId, key, uploadPartResponses);
109
+ }
110
+ catch (e) {
111
+ throw new api_1.EndpointError(`Failed to complete upload mobile application: ${(0, api_1.formatBackendErrors)(e)}\n`, (_g = e.response) === null || _g === void 0 ? void 0 : _g.status);
112
+ }
113
+ return multipartPresignedUrlsResponse.file_name;
90
114
  });
91
115
  exports.uploadMobileApplications = uploadMobileApplications;
92
116
  const uploadApplication = (api, applicationPathToUpload, testApplicationId, uploadedApplicationByPath) => __awaiter(void 0, void 0, void 0, function* () {
@@ -133,19 +157,19 @@ const uploadApplicationAndOverrideConfig = (api, test, userConfigOverride, overr
133
157
  });
134
158
  exports.uploadApplicationAndOverrideConfig = uploadApplicationAndOverrideConfig;
135
159
  const createNewMobileVersion = (api, version) => __awaiter(void 0, void 0, void 0, function* () {
136
- var _g;
160
+ var _h;
137
161
  let newVersion;
138
162
  try {
139
163
  newVersion = yield api.createMobileVersion(version);
140
164
  }
141
165
  catch (e) {
142
- throw new api_1.EndpointError(`Failed create new Mobile Version: ${(0, api_1.formatBackendErrors)(e)}\n`, (_g = e.response) === null || _g === void 0 ? void 0 : _g.status);
166
+ throw new api_1.EndpointError(`Failed create new Mobile Version: ${(0, api_1.formatBackendErrors)(e)}\n`, (_h = e.response) === null || _h === void 0 ? void 0 : _h.status);
143
167
  }
144
168
  return newVersion;
145
169
  });
146
170
  exports.createNewMobileVersion = createNewMobileVersion;
147
171
  const uploadMobileApplicationVersion = (config) => __awaiter(void 0, void 0, void 0, function* () {
148
- var _h;
172
+ var _j;
149
173
  const api = (0, api_1.getApiHelper)(config);
150
174
  if (!config.mobileApplicationVersionFilePath) {
151
175
  throw new errors_1.CiError('MISSING_MOBILE_APPLICATION_PATH', 'Mobile application path is required.');
@@ -156,7 +180,7 @@ const uploadMobileApplicationVersion = (config) => __awaiter(void 0, void 0, voi
156
180
  if (!config.versionName) {
157
181
  throw new errors_1.CiError('MISSING_MOBILE_VERSION_NAME', 'Version name is required');
158
182
  }
159
- config.latest = (_h = config.latest) !== null && _h !== void 0 ? _h : false;
183
+ config.latest = (_j = config.latest) !== null && _j !== void 0 ? _j : false;
160
184
  const fileName = yield (0, exports.uploadMobileApplications)(api, config.mobileApplicationVersionFilePath, config.mobileApplicationId);
161
185
  const version = yield (0, exports.createNewMobileVersion)(api, {
162
186
  file_name: fileName,
@@ -1 +1 @@
1
- {"version":3,"file":"mobile.js","sourceRoot":"","sources":["../../../src/commands/synthetics/mobile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mobile.js","sourceRoot":"","sources":["../../../src/commands/synthetics/mobile.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export declare class DefaultReporter implements MainReporter {
18
18
  resultEnd(result: Result, baseUrl: string): void;
19
19
  resultReceived(result: Batch['results'][0]): void;
20
20
  runEnd(summary: Summary, baseUrl: string, orgSettings?: SyntheticsOrgSettings): void;
21
- testsWait(tests: Test[], baseUrl: string, batchId: string): void;
21
+ testsWait(tests: Test[], baseUrl: string, batchId: string, skippedCount?: number): void;
22
22
  testTrigger(test: Pick<Test, 'name'>, testId: string, executionRule: ExecutionRule, config: UserConfigOverride): void;
23
23
  testWait(test: Test): void;
24
24
  private removeSpinner;
@@ -7,7 +7,8 @@ exports.getTunnelReporter = exports.DefaultReporter = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const ora_1 = __importDefault(require("ora"));
9
9
  const interfaces_1 = require("../interfaces");
10
- const utils_1 = require("../utils");
10
+ const internal_1 = require("../utils/internal");
11
+ const public_1 = require("../utils/public");
11
12
  // Step rendering
12
13
  const renderStepDuration = (duration) => {
13
14
  const getColor = () => {
@@ -57,11 +58,11 @@ const renderApiError = (errorCode, errorMessage, color) => {
57
58
  if (errorCode === 'INCORRECT_ASSERTION') {
58
59
  try {
59
60
  const assertionsErrors = JSON.parse(errorMessage);
60
- const output = [` - ${(0, utils_1.pluralize)('Assertion', assertionsErrors.length)} failed:`];
61
+ const output = [` - ${(0, public_1.pluralize)('Assertion', assertionsErrors.length)} failed:`];
61
62
  output.push(...assertionsErrors.map((error) => {
62
63
  const expected = chalk_1.default.underline(`${error.target}`);
63
64
  const actual = chalk_1.default.underline(`${error.actual}`);
64
- return `▶ ${error.type} ${utils_1.readableOperation[error.operator]} ${expected}. Actual: ${actual}`;
65
+ return `▶ ${error.type} ${public_1.readableOperation[error.operator]} ${expected}. Actual: ${actual}`;
65
66
  }));
66
67
  return color(output.join('\n '));
67
68
  }
@@ -91,20 +92,20 @@ const renderResultOutcome = (result, test, icon, color) => {
91
92
  return ` ${icon} ${color(requestDescription)}`;
92
93
  }
93
94
  if (test.type === 'browser') {
95
+ const lines = [];
96
+ if (result.failure) {
97
+ lines.push(chalk_1.default.red(` [${chalk_1.default.bold(result.failure.code)}] - ${chalk_1.default.dim(result.failure.message)}`));
98
+ }
94
99
  // We render the step only if the test hasn't passed to avoid cluttering the output.
95
100
  if (!result.passed && 'stepDetails' in result) {
96
101
  const criticalFailedStepIndex = result.stepDetails.findIndex((s) => s.error && !s.allowFailure) + 1;
97
- const stepsDisplay = result.stepDetails.slice(0, criticalFailedStepIndex).map(renderStep);
102
+ lines.push(...result.stepDetails.slice(0, criticalFailedStepIndex).map(renderStep));
98
103
  const skippedStepDisplay = renderSkippedSteps(result.stepDetails.slice(criticalFailedStepIndex));
99
104
  if (skippedStepDisplay) {
100
- stepsDisplay.push(skippedStepDisplay);
105
+ lines.push(skippedStepDisplay);
101
106
  }
102
- return stepsDisplay.join('\n');
103
107
  }
104
- if (result.failure) {
105
- return chalk_1.default.red(` [${chalk_1.default.bold(result.failure.code)}] - ${chalk_1.default.dim(result.failure.message)}`);
106
- }
107
- return '';
108
+ return lines.join('\n');
108
109
  }
109
110
  };
110
111
  const renderApiRequestDescription = (subType, config) => {
@@ -136,34 +137,53 @@ const renderApiRequestDescription = (subType, config) => {
136
137
  return `${chalk_1.default.bold(subType)} test`;
137
138
  };
138
139
  const renderExecutionResult = (test, execution, baseUrl) => {
139
- const { executionRule, test: overriddenTest, resultId, result, timedOut } = execution;
140
- const resultOutcome = (0, utils_1.getResultOutcome)(execution);
140
+ var _a;
141
+ const { executionRule, test: overriddenTest, resultId, timedOut } = execution;
142
+ const resultOutcome = (0, public_1.getResultOutcome)(execution);
141
143
  const [icon, setColor] = getResultIconAndColor(resultOutcome);
142
- const executionRuleText = ["passed" /* ResultOutcome.Passed */, "passed-non-blocking" /* ResultOutcome.PassedNonBlocking */].includes(resultOutcome)
144
+ const editedText = ((_a = execution.selectiveRerun) === null || _a === void 0 ? void 0 : _a.decision) === 'run' && execution.selectiveRerun.reason === 'edited'
145
+ ? chalk_1.default.dim('(edited) ')
146
+ : '';
147
+ const executionRuleText = public_1.PASSED_RESULT_OUTCOMES.includes(resultOutcome)
143
148
  ? ''
144
149
  : `[${setColor(executionRule === interfaces_1.ExecutionRule.BLOCKING ? 'blocking' : 'non-blocking')}] `;
145
- const testLabel = `${executionRuleText}[${chalk_1.default.bold.dim(test.public_id)}] ${chalk_1.default.bold(test.name)}`;
146
- const location = setColor(`location: ${chalk_1.default.bold(execution.location)}`);
147
- const device = (0, utils_1.isDeviceIdSet)(result) ? ` - ${setColor(`device: ${chalk_1.default.bold(result.device.id)}`)}` : '';
148
- const resultIdentification = `${icon} ${testLabel} - ${location}${device}`;
150
+ const testLabel = `${editedText}${executionRuleText}[${chalk_1.default.bold.dim(test.public_id)}] ${chalk_1.default.bold(test.name)}`;
151
+ const resultIdentificationSuffix = getResultIdentificationSuffix(execution, setColor);
152
+ const resultIdentification = `${icon} ${testLabel}${resultIdentificationSuffix}`;
149
153
  const outputLines = [resultIdentification];
150
154
  // Unhealthy test results don't have a duration or result URL
151
- if (!result.unhealthy) {
152
- const duration = (0, utils_1.getResultDuration)(result);
155
+ if ((0, internal_1.hasResult)(execution) && !execution.result.unhealthy) {
156
+ const duration = (0, public_1.getResultDuration)(execution.result);
153
157
  const durationText = duration ? ` Total duration: ${duration} ms -` : '';
154
- const resultUrl = (0, utils_1.getResultUrl)(baseUrl, test, resultId);
158
+ const resultUrl = (0, public_1.getResultUrl)(baseUrl, test, resultId);
155
159
  const resultUrlStatus = timedOut ? '(not yet received)' : '';
156
160
  const resultInfo = ` ⎋${durationText} View test run details: ${chalk_1.default.dim.cyan(resultUrl)} ${resultUrlStatus}`;
157
161
  outputLines.push(resultInfo);
158
162
  }
159
- const resultOutcomeText = renderResultOutcome(result, overriddenTest || test, icon, setColor);
160
- if (resultOutcomeText) {
161
- outputLines.push(resultOutcomeText);
163
+ if ((0, public_1.isResultSkippedBySelectiveRerun)(execution)) {
164
+ const resultUrl = (0, public_1.getResultUrl)(baseUrl, test, resultId);
165
+ const resultInfo = ` ${setColor('◂')} Successful result from previous CI run: ${chalk_1.default.dim.cyan(resultUrl)}`;
166
+ outputLines.push(resultInfo);
167
+ }
168
+ else {
169
+ const resultOutcomeText = renderResultOutcome(execution.result, overriddenTest || test, icon, setColor);
170
+ if (resultOutcomeText) {
171
+ outputLines.push(resultOutcomeText);
172
+ }
162
173
  }
163
174
  return outputLines.join('\n');
164
175
  };
176
+ const getResultIdentificationSuffix = (execution, setColor) => {
177
+ if ((0, internal_1.hasResult)(execution)) {
178
+ const { result } = execution;
179
+ const location = execution.location ? setColor(`location: ${chalk_1.default.bold(execution.location)}`) : '';
180
+ const device = result && (0, public_1.isDeviceIdSet)(result) ? ` - ${setColor(`device: ${chalk_1.default.bold(result.device.id)}`)}` : '';
181
+ return ` - ${location}${device}`;
182
+ }
183
+ return '';
184
+ };
165
185
  const getResultIconAndColor = (resultOutcome) => {
166
- if (resultOutcome === "passed" /* ResultOutcome.Passed */ || resultOutcome === "passed-non-blocking" /* ResultOutcome.PassedNonBlocking */) {
186
+ if (public_1.PASSED_RESULT_OUTCOMES.includes(resultOutcome)) {
167
187
  return [ICONS.SUCCESS, chalk_1.default.bold.green];
168
188
  }
169
189
  if (resultOutcome === "failed-non-blocking" /* ResultOutcome.FailedNonBlocking */) {
@@ -205,7 +225,14 @@ class DefaultReporter {
205
225
  runEnd(summary, baseUrl, orgSettings) {
206
226
  const { bold: b, gray, green, red, yellow } = chalk_1.default;
207
227
  const lines = [];
208
- const runSummary = [green(`${b(summary.passed)} passed`), red(`${b(summary.failed)} failed`)];
228
+ const runSummary = [];
229
+ if (summary.previouslyPassed) {
230
+ runSummary.push(green(`${b(summary.passed)} passed (${b(summary.previouslyPassed)} in previous CI run)`));
231
+ }
232
+ else {
233
+ runSummary.push(green(`${b(summary.passed)} passed`));
234
+ }
235
+ runSummary.push(red(`${b(summary.failed)} failed`));
209
236
  if (summary.failedNonBlocking) {
210
237
  runSummary.push(yellow(`${b(summary.failedNonBlocking)} failed (non-blocking)`));
211
238
  }
@@ -214,7 +241,7 @@ class DefaultReporter {
214
241
  }
215
242
  if (summary.testsNotFound.size > 0) {
216
243
  const testsNotFoundListStr = gray(`(${[...summary.testsNotFound].join(', ')})`);
217
- lines.push(`${yellow(`${b(summary.testsNotFound.size)} ${(0, utils_1.pluralize)('test', summary.testsNotFound.size)} not found`)} ${testsNotFoundListStr}`);
244
+ lines.push(`${yellow(`${b(summary.testsNotFound.size)} ${(0, public_1.pluralize)('test', summary.testsNotFound.size)} not found`)} ${testsNotFoundListStr}`);
218
245
  }
219
246
  const extraInfo = [];
220
247
  if (summary.timedOut) {
@@ -225,32 +252,37 @@ class DefaultReporter {
225
252
  }
226
253
  const extraInfoStr = extraInfo.length ? ' (' + extraInfo.join(', ') + ')' : '';
227
254
  if (summary.batchId) {
228
- const batchUrl = (0, utils_1.getBatchUrl)(baseUrl, summary.batchId);
255
+ const batchUrl = (0, public_1.getBatchUrl)(baseUrl, summary.batchId);
229
256
  lines.push('View full summary in Datadog: ' + chalk_1.default.dim.cyan(batchUrl));
230
257
  }
231
258
  lines.push(`\n${b('Continuous Testing Summary:')}`);
232
- lines.push(`Test Results: ${runSummary.join(', ')}${extraInfoStr}`);
259
+ lines.push(`• Test Results: ${runSummary.join(', ')}${extraInfoStr}`);
233
260
  if (orgSettings && orgSettings.onDemandConcurrencyCap > 0) {
234
- lines.push(`Max parallelization configured: ${orgSettings.onDemandConcurrencyCap} test${orgSettings.onDemandConcurrencyCap > 1 ? 's' : ''} running at the same time`);
261
+ lines.push(`• Max parallelization configured: ${orgSettings.onDemandConcurrencyCap} test${orgSettings.onDemandConcurrencyCap > 1 ? 's' : ''} running at the same time`);
262
+ }
263
+ if (summary.previouslyPassed) {
264
+ lines.push(`• Selective re-run: ran ${summary.expected - summary.previouslyPassed} out of ${summary.expected} tests`);
235
265
  }
236
266
  if (this.totalDuration) {
237
267
  const min = Math.floor(this.totalDuration / (60 * 1000));
238
268
  const sec = Math.round((this.totalDuration % (60 * 1000)) / 1000);
239
- lines.push(`Total Duration:${min > 0 ? ' ' + min.toString() + 'm' : ''}${sec > 0 ? ' ' + sec.toString() + 's' : ''}`);
269
+ lines.push(`• Total Duration:${min > 0 ? ' ' + min.toString() + 'm' : ''}${sec > 0 ? ' ' + sec.toString() + 's' : ''}`);
240
270
  }
241
271
  if (orgSettings && orgSettings.onDemandConcurrencyCap > 0) {
242
- lines.push(`\nIncrease your parallelization to reduce your total duration: ${chalk_1.default.dim.cyan(baseUrl + 'synthetics/settings/continuous-testing')}\n`);
272
+ lines.push(`\nIncrease your parallelization to reduce the test batch duration: ${chalk_1.default.dim.cyan(baseUrl + 'synthetics/settings/continuous-testing')}\n`);
243
273
  }
244
274
  this.write(lines.join('\n'));
245
275
  }
246
- testsWait(tests, baseUrl, batchId) {
276
+ testsWait(tests, baseUrl, batchId, skippedCount) {
247
277
  const testsList = tests.map((t) => t.public_id);
248
278
  if (testsList.length > 10) {
249
279
  testsList.splice(10);
250
280
  testsList.push('…');
251
281
  }
252
282
  const testsDisplay = chalk_1.default.gray(`(${testsList.join(', ')})`);
253
- const text = `Waiting for ${chalk_1.default.bold.cyan(tests.length)} ${(0, utils_1.pluralize)('test', tests.length)} ${testsDisplay}…\n`;
283
+ const testCountText = (0, public_1.pluralize)('test', tests.length);
284
+ const skippingCountText = skippedCount ? ` (skipping ${chalk_1.default.bold.cyan(skippedCount)} already successful)` : '';
285
+ const text = `Waiting for ${chalk_1.default.bold.cyan(tests.length)} ${testCountText}${skippingCountText} ${testsDisplay}…\n`;
254
286
  if (this.testWaitSpinner) {
255
287
  // Only refresh the spinner when the text changes.
256
288
  // The refreshed text will be persisted in the CI logs.
@@ -260,7 +292,7 @@ class DefaultReporter {
260
292
  }
261
293
  return;
262
294
  }
263
- const batchUrl = (0, utils_1.getBatchUrl)(baseUrl, batchId);
295
+ const batchUrl = (0, public_1.getBatchUrl)(baseUrl, batchId);
264
296
  this.write(`View pending summary in Datadog: ${chalk_1.default.dim.cyan(batchUrl)}\n\n`);
265
297
  this.testWaitSpinner = (0, ora_1.default)({
266
298
  stream: this.context.stdout,
@@ -292,7 +324,7 @@ class DefaultReporter {
292
324
  if (nbConfigsOverridden === 0 || executionRule === interfaces_1.ExecutionRule.SKIPPED) {
293
325
  return '';
294
326
  }
295
- return ' ' + chalk_1.default.gray(`(${nbConfigsOverridden} config ${(0, utils_1.pluralize)('override', nbConfigsOverridden)})`);
327
+ return ' ' + chalk_1.default.gray(`(${nbConfigsOverridden} config ${(0, public_1.pluralize)('override', nbConfigsOverridden)})`);
296
328
  };
297
329
  this.write(`${idDisplay} ${getMessage()}${getConfigOverridesPart()}\n`);
298
330
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/reporters/default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/synthetics/reporters/default.ts"],"names":[],"mappings":"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"}