@datadog/datadog-ci 2.42.0 → 2.44.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.
- package/README.md +2 -2
- package/dist/commands/deployment/correlate.d.ts +2 -0
- package/dist/commands/deployment/correlate.js +42 -20
- package/dist/commands/deployment/correlate.js.map +1 -1
- package/dist/commands/lambda/flare.js.map +1 -1
- package/dist/commands/lambda/functions/commons.d.ts +1 -0
- package/dist/commands/lambda/functions/commons.js +1 -0
- package/dist/commands/lambda/functions/commons.js.map +1 -1
- package/dist/commands/lambda/functions/instrument.js.map +1 -1
- package/dist/commands/lambda/functions/uninstrument.js.map +1 -1
- package/dist/commands/lambda/loggroup.d.ts +2 -2
- package/dist/commands/lambda/loggroup.js.map +1 -1
- package/dist/commands/lambda/prompt.js.map +1 -1
- package/dist/commands/lambda/tags.js.map +1 -1
- package/dist/commands/measure/measure.d.ts +1 -0
- package/dist/commands/measure/measure.js +17 -4
- package/dist/commands/measure/measure.js.map +1 -1
- package/dist/commands/sarif/validation.js +12 -0
- package/dist/commands/sarif/validation.js.map +1 -1
- package/dist/commands/sbom/constants.d.ts +3 -0
- package/dist/commands/sbom/constants.js +4 -1
- package/dist/commands/sbom/constants.js.map +1 -1
- package/dist/commands/sbom/payload.js +94 -37
- package/dist/commands/sbom/payload.js.map +1 -1
- package/dist/commands/sbom/renderer.d.ts +2 -1
- package/dist/commands/sbom/renderer.js +17 -4
- package/dist/commands/sbom/renderer.js.map +1 -1
- package/dist/commands/sbom/types.d.ts +18 -0
- package/dist/commands/sbom/upload.d.ts +1 -1
- package/dist/commands/sbom/upload.js +41 -37
- package/dist/commands/sbom/upload.js.map +1 -1
- package/dist/commands/stepfunctions/awsCommands.js +6 -1
- package/dist/commands/stepfunctions/awsCommands.js.map +1 -1
- package/dist/commands/stepfunctions/helpers.d.ts +12 -5
- package/dist/commands/stepfunctions/helpers.js +140 -66
- package/dist/commands/stepfunctions/helpers.js.map +1 -1
- package/dist/commands/synthetics/api.d.ts +1 -0
- package/dist/commands/synthetics/api.js +6 -5
- package/dist/commands/synthetics/api.js.map +1 -1
- package/dist/commands/synthetics/batch.d.ts +3 -1
- package/dist/commands/synthetics/batch.js +85 -26
- package/dist/commands/synthetics/batch.js.map +1 -1
- package/dist/commands/synthetics/compatibility.d.ts +1 -1
- package/dist/commands/synthetics/compatibility.js +7 -2
- package/dist/commands/synthetics/compatibility.js.map +1 -1
- package/dist/commands/synthetics/interfaces.d.ts +22 -11
- package/dist/commands/synthetics/interfaces.js.map +1 -1
- package/dist/commands/synthetics/reporters/default.d.ts +1 -0
- package/dist/commands/synthetics/reporters/default.js +42 -20
- package/dist/commands/synthetics/reporters/default.js.map +1 -1
- package/dist/commands/synthetics/reporters/junit.d.ts +2 -2
- package/dist/commands/synthetics/reporters/junit.js +31 -18
- package/dist/commands/synthetics/reporters/junit.js.map +1 -1
- package/dist/commands/synthetics/run-tests-command.d.ts +1 -1
- package/dist/commands/synthetics/run-tests-command.js +41 -26
- package/dist/commands/synthetics/run-tests-command.js.map +1 -1
- package/dist/commands/synthetics/run-tests-lib.js +1 -1
- package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
- package/dist/commands/synthetics/utils/internal.d.ts +21 -8
- package/dist/commands/synthetics/utils/internal.js +35 -16
- package/dist/commands/synthetics/utils/internal.js.map +1 -1
- package/dist/commands/synthetics/utils/public.d.ts +4 -1
- package/dist/commands/synthetics/utils/public.js +8 -4
- package/dist/commands/synthetics/utils/public.js.map +1 -1
- package/dist/commands/tag/tag.d.ts +2 -0
- package/dist/commands/tag/tag.js +17 -3
- package/dist/commands/tag/tag.js.map +1 -1
- package/dist/helpers/ci.d.ts +2 -0
- package/dist/helpers/ci.js +10 -5
- package/dist/helpers/ci.js.map +1 -1
- package/dist/helpers/interfaces.d.ts +2 -2
- package/dist/helpers/tags.d.ts +23 -1
- package/dist/helpers/tags.js +101 -2
- package/dist/helpers/tags.js.map +1 -1
- package/dist/helpers/utils.d.ts +11 -1
- package/dist/helpers/utils.js +5 -11
- package/dist/helpers/utils.js.map +1 -1
- package/package.json +3 -8
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.injectContextForStepFunctions = exports.
|
|
12
|
+
exports.injectContextForStepFunctions = exports.injectContextForLambdaFunctions = exports.injectContextIntoTasks = exports.buildLogAccessPolicyName = exports.parseArn = exports.getStepFunctionLogGroupArn = exports.isValidArn = exports.buildSubscriptionFilterName = exports.buildLogGroupName = exports.buildArn = exports.displayChanges = void 0;
|
|
13
13
|
const deep_object_diff_1 = require("deep-object-diff");
|
|
14
14
|
const awsCommands_1 = require("./awsCommands");
|
|
15
15
|
const constants_1 = require("./constants");
|
|
@@ -69,8 +69,9 @@ const injectContextIntoTasks = (describeStateMachineCommandOutput, stepFunctions
|
|
|
69
69
|
for (const stepName in definitionObj.States) {
|
|
70
70
|
if (definitionObj.States.hasOwnProperty(stepName)) {
|
|
71
71
|
const step = definitionObj.States[stepName];
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const lambdaUpdated = (0, exports.injectContextForLambdaFunctions)(step, context, stepName);
|
|
73
|
+
const stepUpdated = (0, exports.injectContextForStepFunctions)(step, context, stepName);
|
|
74
|
+
definitionHasBeenUpdated = definitionHasBeenUpdated || lambdaUpdated || stepUpdated;
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
if (definitionHasBeenUpdated) {
|
|
@@ -78,85 +79,158 @@ const injectContextIntoTasks = (describeStateMachineCommandOutput, stepFunctions
|
|
|
78
79
|
}
|
|
79
80
|
});
|
|
80
81
|
exports.injectContextIntoTasks = injectContextIntoTasks;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
// Truth table
|
|
83
|
+
// Case | Input | Expected
|
|
84
|
+
// -----|----------------------------------------------------------|---------
|
|
85
|
+
// 1 | No "Payload" or "Payload.$" | true
|
|
86
|
+
// 2.1 | "Payload" is object, already injected | false
|
|
87
|
+
// 2.2 | "Payload" object has Execution, State or StateMachine | false
|
|
88
|
+
// 2.3 | "Payload" object has no Execution, State or StateMachine | true
|
|
89
|
+
// 3 | "Payload" is not object | false
|
|
90
|
+
// 4.1 | "Payload.$": "$" (default payload) | true
|
|
91
|
+
// 4.2 | "Payload.$": "States.JsonMerge($$, $, false)" or | false
|
|
92
|
+
// | "Payload.$": "$$['Execution', 'State', 'StateMachine']" |
|
|
93
|
+
// 4.3 | Custom "Payload.$" | false
|
|
94
|
+
const injectContextForLambdaFunctions = (step, context, stepName) => {
|
|
95
|
+
var _a;
|
|
96
|
+
if ((_a = step.Resource) === null || _a === void 0 ? void 0 : _a.startsWith('arn:aws:lambda')) {
|
|
97
|
+
context.stdout.write(`[Warn] Step ${stepName} may be using the basic legacy integration, which does not support merging lambda trace(s) with Step Functions trace.
|
|
98
|
+
To merge lambda trace(s) with Step Functions trace, please consider using the latest integration.
|
|
99
|
+
More details can be found on https://docs.aws.amazon.com/step-functions/latest/dg/connect-lambda.html \n`);
|
|
100
|
+
return false;
|
|
84
101
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if (Parameters) {
|
|
89
|
-
if (!Parameters.Input) {
|
|
90
|
-
Parameters.Input = {};
|
|
91
|
-
}
|
|
92
|
-
Parameters.Input['CONTEXT.$'] = 'States.JsonMerge($$, $, false)';
|
|
102
|
+
// not default lambda api
|
|
103
|
+
if (step.Resource !== 'arn:aws:states:::lambda:invoke') {
|
|
104
|
+
return false;
|
|
93
105
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
106
|
+
if (!step.Parameters) {
|
|
107
|
+
context.stdout
|
|
108
|
+
.write(`[Warn] Step ${stepName} does not have a Parameters field. Step Functions Context Object injection \
|
|
109
|
+
skipped. Your Step Functions trace will not be merged with downstream Lambda traces. To manually merge these traces, \
|
|
110
|
+
check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
// Case 1: payload field not set
|
|
114
|
+
if (!step.Parameters.hasOwnProperty('Payload.$') && !step.Parameters.hasOwnProperty('Payload')) {
|
|
115
|
+
step.Parameters[`Payload.$`] = `$$['Execution', 'State', 'StateMachine']`;
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
if (step.Parameters.hasOwnProperty('Payload')) {
|
|
119
|
+
if (typeof step.Parameters['Payload'] !== 'object') {
|
|
120
|
+
// Case 3: payload is not a JSON object
|
|
121
|
+
context.stdout
|
|
122
|
+
.write(`[Warn] Step ${stepName}'s Payload field is not a JSON object. Step Functions Context Object \
|
|
123
|
+
injection skipped. Your Step Functions trace will not be merged with downstream Lambda traces. To manually \
|
|
124
|
+
merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
100
125
|
return false;
|
|
101
126
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
127
|
+
else {
|
|
128
|
+
// Case 2: payload is not a JSON object
|
|
129
|
+
const payload = step.Parameters.Payload;
|
|
130
|
+
if (payload['Execution.$'] === '$$.Execution' &&
|
|
131
|
+
payload['State.$'] === '$$.State' &&
|
|
132
|
+
payload['StateMachine.$'] === '$$.StateMachine') {
|
|
133
|
+
// Case 2.1: already injected into "Payload"
|
|
134
|
+
context.stdout.write(`Step ${stepName}: Context injection is already set up. Skipping context injection.\n`);
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
else if (payload.hasOwnProperty('Execution.$') ||
|
|
138
|
+
payload.hasOwnProperty('Execution') ||
|
|
139
|
+
payload.hasOwnProperty('State.$') ||
|
|
140
|
+
payload.hasOwnProperty('State') ||
|
|
141
|
+
payload.hasOwnProperty('StateMachine.$') ||
|
|
142
|
+
payload.hasOwnProperty('StateMachine')) {
|
|
143
|
+
// Case 2.2: "Payload" object has Execution, State or StateMachine
|
|
144
|
+
context.stdout
|
|
145
|
+
.write(`[Warn] Step ${stepName} may be using custom Execution, State or StateMachine field. Step Functions Context Object \
|
|
146
|
+
injection skipped. Your Step Functions trace will not be merged with downstream Lambda traces. To manually \
|
|
147
|
+
merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
// Case 2.3: "Payload" object has no Execution, State or StateMachine
|
|
152
|
+
payload['Execution.$'] = '$$.Execution';
|
|
153
|
+
payload['State.$'] = '$$.State';
|
|
154
|
+
payload['StateMachine.$'] = '$$.StateMachine';
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
109
157
|
}
|
|
110
158
|
}
|
|
159
|
+
// Case 4.1: default payload
|
|
160
|
+
if (step.Parameters['Payload.$'] === '$') {
|
|
161
|
+
step.Parameters[`Payload.$`] = 'States.JsonMerge($$, $, false)';
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
// Case 4.2: context injection is already set up using "Payload.$"
|
|
165
|
+
if (step.Parameters['Payload.$'] === 'States.JsonMerge($$, $, false)' ||
|
|
166
|
+
step.Parameters['Payload.$'] === `$$['Execution', 'State', 'StateMachine']`) {
|
|
167
|
+
context.stdout.write(` Step ${stepName}: Context injection is already set up. Skipping context injection.\n`);
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
// Case 4.3: custom "Payload.$"
|
|
171
|
+
context.stdout
|
|
172
|
+
.write(`[Warn] Step ${stepName} has a custom Payload field. Step Functions Context Object injection skipped. \
|
|
173
|
+
Your Step Functions trace will not be merged with downstream Lambda traces. To manually merge these traces, \
|
|
174
|
+
check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
111
175
|
return false;
|
|
112
176
|
};
|
|
113
|
-
exports.
|
|
177
|
+
exports.injectContextForLambdaFunctions = injectContextForLambdaFunctions;
|
|
114
178
|
// Truth table
|
|
115
|
-
// Input
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
//
|
|
119
|
-
//
|
|
120
|
-
//
|
|
121
|
-
//
|
|
122
|
-
const
|
|
179
|
+
// Case | Input | Expected
|
|
180
|
+
// -----|----------------------------------------------------------|---------
|
|
181
|
+
// 1 | No "CONTEXT" or "CONTEXT.$" | true
|
|
182
|
+
// 2 | Has "CONTEXT" | false
|
|
183
|
+
// 3.1 | "CONTEXT.$": "States.JsonMerge($$, $, false)" or | false
|
|
184
|
+
// | "CONTEXT.$": "$$['Execution', 'State', 'StateMachine']" |
|
|
185
|
+
// 3.2 | Custom "CONTEXT.$" | false
|
|
186
|
+
const injectContextForStepFunctions = (step, context, stepName) => {
|
|
123
187
|
var _a;
|
|
124
|
-
//
|
|
125
|
-
if ((_a = step.Resource) === null || _a === void 0 ? void 0 : _a.startsWith('arn:aws:states:::states:startExecution')) {
|
|
126
|
-
|
|
127
|
-
return false;
|
|
128
|
-
}
|
|
129
|
-
if (!step.Parameters.Input) {
|
|
130
|
-
return true;
|
|
131
|
-
}
|
|
132
|
-
if (typeof step.Parameters.Input !== 'object') {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
if (!step.Parameters.Input['CONTEXT.$']) {
|
|
136
|
-
return true;
|
|
137
|
-
}
|
|
188
|
+
// not default lambda api
|
|
189
|
+
if (!((_a = step.Resource) === null || _a === void 0 ? void 0 : _a.startsWith('arn:aws:states:::states:startExecution'))) {
|
|
190
|
+
return false;
|
|
138
191
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
192
|
+
if (!step.Parameters) {
|
|
193
|
+
context.stdout
|
|
194
|
+
.write(`[Warn] Step ${stepName} does not have a Parameters field. Step Functions Context Object injection \
|
|
195
|
+
skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually merge these \
|
|
196
|
+
traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
if (!step.Parameters.Input) {
|
|
200
|
+
step.Parameters.Input = { 'CONTEXT.$': `$$['Execution', 'State', 'StateMachine']` };
|
|
146
201
|
return true;
|
|
147
202
|
}
|
|
148
|
-
|
|
149
|
-
context.stdout
|
|
150
|
-
|
|
151
|
-
|
|
203
|
+
if (typeof step.Parameters.Input !== 'object') {
|
|
204
|
+
context.stdout
|
|
205
|
+
.write(`[Warn] Step ${stepName}'s Parameters.Input field is not a JSON object. Step Functions Context Object \
|
|
206
|
+
injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually \
|
|
207
|
+
merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
208
|
+
return false;
|
|
152
209
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
if ((0, exports.shouldUpdateStepForStepFunctionContextInjection)(step)) {
|
|
157
|
-
(0, exports.addTraceContextToStepFunctionParameters)(step);
|
|
210
|
+
// Case 1: 'CONTEXT.$' and 'CONTEXT' fields are not set
|
|
211
|
+
if (!step.Parameters.Input['CONTEXT.$'] && !step.Parameters.Input['CONTEXT']) {
|
|
212
|
+
step.Parameters.Input['CONTEXT.$'] = `$$['Execution', 'State', 'StateMachine']`;
|
|
158
213
|
return true;
|
|
159
214
|
}
|
|
215
|
+
// Case 2: Has 'CONTEXT' field.
|
|
216
|
+
// This case should be rare so we don't support context injection for this case for now
|
|
217
|
+
if (step.Parameters.Input.hasOwnProperty('CONTEXT')) {
|
|
218
|
+
context.stdout.write(`[Warn] Step ${stepName}'s has custom CONTEXT field. Step Functions Context Object \
|
|
219
|
+
injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually \
|
|
220
|
+
merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
// Case 3.1 context injection is already set up
|
|
224
|
+
if (step.Parameters.Input['CONTEXT.$'] === 'States.JsonMerge($$, $, false)' ||
|
|
225
|
+
step.Parameters.Input['CONTEXT.$'] === `$$['Execution', 'State', 'StateMachine']`) {
|
|
226
|
+
context.stdout.write(` Step ${stepName}: Context injection is already set up. Skipping context injection.\n`);
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
// Case 3.2 custom CONTEXT.$ field
|
|
230
|
+
context.stdout
|
|
231
|
+
.write(`[Warn] Step ${stepName}'s Parameters.Input field has a custom CONTEXT.$ field. Step Functions Context \
|
|
232
|
+
Object injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To \
|
|
233
|
+
manually merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
160
234
|
return false;
|
|
161
235
|
};
|
|
162
236
|
exports.injectContextForStepFunctions = injectContextForStepFunctions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/stepfunctions/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/stepfunctions/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export type RetryPolicy = {
|
|
|
19
19
|
retryOn429?: boolean | undefined;
|
|
20
20
|
};
|
|
21
21
|
export declare const determineRetryDelay: (retries: number, error: Error, retryPolicy?: RetryPolicy) => number | undefined;
|
|
22
|
+
export declare const getErrorHttpStatus: (error: Error) => number | undefined;
|
|
22
23
|
export declare const isForbiddenError: (error: Error) => boolean;
|
|
23
24
|
export declare const isNotFoundError: (error: Error) => boolean;
|
|
24
25
|
export declare const isTooManyRequestsError: (error: Error) => boolean;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getApiHelper = exports.apiConstructor = exports.is5xxError = exports.isNodeError = exports.isTooManyRequestsError = exports.isNotFoundError = exports.isForbiddenError = exports.determineRetryDelay = exports.pollMobileApplicationUploadResponse = exports.completeMultipartMobileApplicationUpload = exports.formatBackendErrors = exports.EndpointError = void 0;
|
|
12
|
+
exports.getApiHelper = exports.apiConstructor = exports.is5xxError = exports.isNodeError = exports.isTooManyRequestsError = exports.isNotFoundError = exports.isForbiddenError = exports.getErrorHttpStatus = exports.determineRetryDelay = exports.pollMobileApplicationUploadResponse = exports.completeMultipartMobileApplicationUpload = exports.formatBackendErrors = exports.EndpointError = void 0;
|
|
13
13
|
const querystring_1 = require("querystring");
|
|
14
14
|
const axios_1 = require("axios");
|
|
15
15
|
const utils_1 = require("../../helpers/utils");
|
|
@@ -202,16 +202,17 @@ const determineRetryDelay = (retries, error, retryPolicy = { retryOn404: false,
|
|
|
202
202
|
exports.determineRetryDelay = determineRetryDelay;
|
|
203
203
|
const isEndpointError = (error) => error instanceof EndpointError;
|
|
204
204
|
const getErrorHttpStatus = (error) => { var _a; return isEndpointError(error) ? error.status : (0, axios_1.isAxiosError)(error) ? (_a = error.response) === null || _a === void 0 ? void 0 : _a.status : undefined; };
|
|
205
|
-
|
|
205
|
+
exports.getErrorHttpStatus = getErrorHttpStatus;
|
|
206
|
+
const isForbiddenError = (error) => (0, exports.getErrorHttpStatus)(error) === 403;
|
|
206
207
|
exports.isForbiddenError = isForbiddenError;
|
|
207
|
-
const isNotFoundError = (error) => getErrorHttpStatus(error) === 404;
|
|
208
|
+
const isNotFoundError = (error) => (0, exports.getErrorHttpStatus)(error) === 404;
|
|
208
209
|
exports.isNotFoundError = isNotFoundError;
|
|
209
|
-
const isTooManyRequestsError = (error) => getErrorHttpStatus(error) === 429;
|
|
210
|
+
const isTooManyRequestsError = (error) => (0, exports.getErrorHttpStatus)(error) === 429;
|
|
210
211
|
exports.isTooManyRequestsError = isTooManyRequestsError;
|
|
211
212
|
const isNodeError = (error) => !!error && 'code' in error;
|
|
212
213
|
exports.isNodeError = isNodeError;
|
|
213
214
|
const is5xxError = (error) => {
|
|
214
|
-
const statusCode = getErrorHttpStatus(error);
|
|
215
|
+
const statusCode = (0, exports.getErrorHttpStatus)(error);
|
|
215
216
|
return statusCode && statusCode >= 500 && statusCode <= 599 ? true : false;
|
|
216
217
|
};
|
|
217
218
|
exports.is5xxError = is5xxError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/synthetics/api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/synthetics/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { APIHelper } from './api';
|
|
2
|
-
import { MainReporter, Result, ResultDisplayInfo } from './interfaces';
|
|
2
|
+
import { Batch, MainReporter, Result, ResultDisplayInfo, ResultInBatch } from './interfaces';
|
|
3
3
|
export declare const waitForBatchToFinish: (api: APIHelper, batchId: string, batchTimeout: number, resultDisplayInfo: ResultDisplayInfo, reporter: MainReporter) => Promise<Result[]>;
|
|
4
|
+
export declare const getResultsToReport: (shouldContinuePolling: boolean, batch: Batch, newlyReceivedResults: ResultInBatch[], emittedResultIds: Set<string>, oldIncompleteResultIds: Set<string>, incompleteResultIds: Set<string>, reporter: MainReporter) => ResultInBatch[];
|
|
5
|
+
export declare const reportReceivedResults: (batch: Batch, emittedResultIds: Set<string>, reporter: MainReporter) => ResultInBatch[];
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.waitForBatchToFinish = void 0;
|
|
15
|
+
exports.reportReceivedResults = exports.getResultsToReport = exports.waitForBatchToFinish = void 0;
|
|
16
16
|
const deep_extend_1 = __importDefault(require("deep-extend"));
|
|
17
17
|
const api_1 = require("./api");
|
|
18
18
|
const errors_1 = require("./errors");
|
|
@@ -22,6 +22,7 @@ const POLLING_INTERVAL = 5000; // In ms
|
|
|
22
22
|
const waitForBatchToFinish = (api, batchId, batchTimeout, resultDisplayInfo, reporter) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
23
|
const safeDeadline = Date.now() + batchTimeout + 3 * POLLING_INTERVAL;
|
|
24
24
|
const emittedResultIds = new Set();
|
|
25
|
+
const backupPollResultMap = new Map();
|
|
25
26
|
let oldIncompleteResultIds = new Set();
|
|
26
27
|
while (true) {
|
|
27
28
|
const batch = yield getBatch(api, batchId);
|
|
@@ -29,10 +30,10 @@ const waitForBatchToFinish = (api, batchId, batchTimeout, resultDisplayInfo, rep
|
|
|
29
30
|
// The backend is expected to handle the time out of the batch by eventually changing its status to `failed`.
|
|
30
31
|
// But `safeDeadlineReached` is a safety in case it fails to do that on time.
|
|
31
32
|
const shouldContinuePolling = batch.status === 'in_progress' && !safeDeadlineReached;
|
|
32
|
-
const newlyReceivedResults = reportReceivedResults(batch, emittedResultIds, reporter);
|
|
33
|
+
const newlyReceivedResults = (0, exports.reportReceivedResults)(batch, emittedResultIds, reporter);
|
|
33
34
|
const resultIdsToFetch = getResultIdsToFetch(shouldContinuePolling, batch, newlyReceivedResults, oldIncompleteResultIds);
|
|
34
|
-
const { pollResultMap, incompleteResultIds } = yield getPollResultMap(api, resultIdsToFetch);
|
|
35
|
-
const resultsToReport = getResultsToReport(shouldContinuePolling, batch, newlyReceivedResults, emittedResultIds, oldIncompleteResultIds, incompleteResultIds, reporter);
|
|
35
|
+
const { pollResultMap, incompleteResultIds } = yield getPollResultMap(api, resultIdsToFetch, backupPollResultMap);
|
|
36
|
+
const resultsToReport = (0, exports.getResultsToReport)(shouldContinuePolling, batch, newlyReceivedResults, emittedResultIds, oldIncompleteResultIds, incompleteResultIds, reporter);
|
|
36
37
|
reportResults(batchId, resultsToReport, pollResultMap, resultDisplayInfo, safeDeadlineReached, reporter);
|
|
37
38
|
oldIncompleteResultIds = incompleteResultIds;
|
|
38
39
|
if (safeDeadlineReached) {
|
|
@@ -56,19 +57,17 @@ const getResultIdsToFetch = (shouldContinuePolling, batch, newlyReceivedResults,
|
|
|
56
57
|
const getResultsToReport = (shouldContinuePolling, batch, newlyReceivedResults, emittedResultIds, oldIncompleteResultIds, incompleteResultIds, reporter) => {
|
|
57
58
|
const newlyCompleteResults = excludeSkipped(batch.results).filter((r) => oldIncompleteResultIds.has(r.result_id) && !incompleteResultIds.has(r.result_id));
|
|
58
59
|
const resultsToReport = newlyReceivedResults
|
|
59
|
-
.filter((r) => (0, internal_1.isResultInBatchSkippedBySelectiveRerun)(r) || !
|
|
60
|
+
.filter((r) => (0, internal_1.isResultInBatchSkippedBySelectiveRerun)(r) || !isResidualResult(r, emittedResultIds, incompleteResultIds))
|
|
60
61
|
.concat(newlyCompleteResults);
|
|
61
62
|
if (shouldContinuePolling) {
|
|
62
63
|
return resultsToReport;
|
|
63
64
|
}
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
// - Or still incomplete (from the poll results POV): report them with their incomplete data and a warning.
|
|
67
|
-
const residualResults = excludeSkipped(batch.results).filter((r) => !emittedResultIds.has(r.result_id) || incompleteResultIds.has(r.result_id));
|
|
65
|
+
// Results that we failed to report for some reason are finally reported as "residues".
|
|
66
|
+
const residualResults = excludeSkipped(batch.results).filter((r) => isResidualResult(r, emittedResultIds, incompleteResultIds));
|
|
68
67
|
const errors = [];
|
|
69
68
|
for (const result of residualResults) {
|
|
70
69
|
if (!result.timed_out) {
|
|
71
|
-
errors.push(`The
|
|
70
|
+
errors.push(`The information for result ${result.result_id} of test ${result.test_public_id} was incomplete at the end of the batch.`);
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
if (errors.length > 0) {
|
|
@@ -76,13 +75,14 @@ const getResultsToReport = (shouldContinuePolling, batch, newlyReceivedResults,
|
|
|
76
75
|
}
|
|
77
76
|
return resultsToReport.concat(residualResults);
|
|
78
77
|
};
|
|
78
|
+
exports.getResultsToReport = getResultsToReport;
|
|
79
79
|
const reportReceivedResults = (batch, emittedResultIds, reporter) => {
|
|
80
80
|
const receivedResults = [];
|
|
81
81
|
for (const [index, result] of batch.results.entries()) {
|
|
82
|
-
// Skipped results
|
|
82
|
+
// Skipped results are only reported by `resultReceived()`, then they are excluded everywhere with `excludeSkipped()`.
|
|
83
83
|
const resultId = result.status === 'skipped' ? `skipped-${index}` : result.result_id;
|
|
84
84
|
// The result is reported if it has a final status, or if it's a non-final result.
|
|
85
|
-
if ((result.status !== 'in_progress' || (0, internal_1.
|
|
85
|
+
if ((result.status !== 'in_progress' || (0, internal_1.isNonFinalResult)(result)) && !emittedResultIds.has(resultId)) {
|
|
86
86
|
emittedResultIds.add(resultId);
|
|
87
87
|
reporter.resultReceived(result);
|
|
88
88
|
receivedResults.push(result);
|
|
@@ -90,6 +90,7 @@ const reportReceivedResults = (batch, emittedResultIds, reporter) => {
|
|
|
90
90
|
}
|
|
91
91
|
return receivedResults;
|
|
92
92
|
};
|
|
93
|
+
exports.reportReceivedResults = reportReceivedResults;
|
|
93
94
|
const reportResults = (batchId, results, pollResultMap, resultDisplayInfo, safeDeadlineReached, reporter) => {
|
|
94
95
|
const baseUrl = (0, public_1.getAppBaseURL)(resultDisplayInfo.options);
|
|
95
96
|
for (const result of results) {
|
|
@@ -122,10 +123,11 @@ const reportWaitingTests = (batchId, batch, resultDisplayInfo, reporter) => {
|
|
|
122
123
|
reporter.testsWait(remainingTests, baseUrl, batchId, skippedCount);
|
|
123
124
|
};
|
|
124
125
|
const getResultFromBatch = (resultInBatch, pollResultMap, resultDisplayInfo, safeDeadlineReached = false) => {
|
|
125
|
-
var _a, _b;
|
|
126
|
-
const {
|
|
127
|
-
const hasTimedOut = (_a = resultInBatch.timed_out) !== null && _a !== void 0 ? _a : safeDeadlineReached;
|
|
126
|
+
var _a, _b, _c;
|
|
127
|
+
const { tests } = resultDisplayInfo;
|
|
128
128
|
const test = getTestByPublicId(resultInBatch.test_public_id, tests);
|
|
129
|
+
const hasTimedOut = (_a = resultInBatch.timed_out) !== null && _a !== void 0 ? _a : safeDeadlineReached;
|
|
130
|
+
const timedOutRetry = (0, internal_1.isTimedOutRetry)(resultInBatch.retries, resultInBatch.max_retries, resultInBatch.timed_out);
|
|
129
131
|
if ((0, internal_1.isResultInBatchSkippedBySelectiveRerun)(resultInBatch)) {
|
|
130
132
|
return {
|
|
131
133
|
executionRule: resultInBatch.execution_rule,
|
|
@@ -136,27 +138,42 @@ const getResultFromBatch = (resultInBatch, pollResultMap, resultDisplayInfo, saf
|
|
|
136
138
|
timedOut: hasTimedOut,
|
|
137
139
|
};
|
|
138
140
|
}
|
|
139
|
-
const pollResult = pollResultMap
|
|
141
|
+
const pollResult = pollResultMap.get(resultInBatch.result_id);
|
|
142
|
+
const isUnhealthy = (_c = (_b = pollResult === null || pollResult === void 0 ? void 0 : pollResult.result) === null || _b === void 0 ? void 0 : _b.unhealthy) !== null && _c !== void 0 ? _c : false;
|
|
143
|
+
if (!(pollResult === null || pollResult === void 0 ? void 0 : pollResult.result)) {
|
|
144
|
+
return createResult(resultInBatch, pollResult, test, hasTimedOut, isUnhealthy, resultDisplayInfo);
|
|
145
|
+
}
|
|
140
146
|
if (safeDeadlineReached) {
|
|
141
147
|
pollResult.result.failure = new errors_1.BatchTimeoutRunawayError().toJson();
|
|
142
148
|
pollResult.result.passed = false;
|
|
143
149
|
}
|
|
150
|
+
else if (timedOutRetry) {
|
|
151
|
+
pollResult.result.failure = { code: 'TIMEOUT', message: 'The batch timed out before receiving the retry.' };
|
|
152
|
+
pollResult.result.passed = false;
|
|
153
|
+
}
|
|
144
154
|
else if (hasTimedOut) {
|
|
145
155
|
pollResult.result.failure = { code: 'TIMEOUT', message: 'The batch timed out before receiving the result.' };
|
|
146
156
|
pollResult.result.passed = false;
|
|
147
157
|
}
|
|
148
|
-
|
|
158
|
+
return createResult(resultInBatch, pollResult, test, hasTimedOut, isUnhealthy, resultDisplayInfo);
|
|
159
|
+
};
|
|
160
|
+
const createResult = (resultInBatch, pollResult, test, hasTimedOut, isUnhealthy, { getLocation, options }) => {
|
|
161
|
+
var _a;
|
|
149
162
|
return {
|
|
163
|
+
duration: resultInBatch.duration,
|
|
150
164
|
executionRule: resultInBatch.execution_rule,
|
|
165
|
+
initialResultId: resultInBatch.initial_result_id,
|
|
166
|
+
isNonFinal: (0, internal_1.isNonFinalResult)(resultInBatch),
|
|
151
167
|
location: getLocation(resultInBatch.location, test),
|
|
152
168
|
passed: (0, internal_1.hasResultPassed)(resultInBatch, isUnhealthy, hasTimedOut, options),
|
|
153
|
-
result: pollResult.result,
|
|
169
|
+
result: pollResult === null || pollResult === void 0 ? void 0 : pollResult.result,
|
|
154
170
|
resultId: (0, internal_1.getResultIdOrLinkedResultId)(resultInBatch),
|
|
155
171
|
retries: resultInBatch.retries || 0,
|
|
172
|
+
maxRetries: resultInBatch.max_retries || 0,
|
|
156
173
|
selectiveRerun: resultInBatch.selective_rerun,
|
|
157
|
-
test: (0, deep_extend_1.default)({}, test, pollResult.check),
|
|
174
|
+
test: (0, deep_extend_1.default)({}, test, pollResult === null || pollResult === void 0 ? void 0 : pollResult.check),
|
|
158
175
|
timedOut: hasTimedOut,
|
|
159
|
-
timestamp: pollResult.timestamp,
|
|
176
|
+
timestamp: (_a = pollResult === null || pollResult === void 0 ? void 0 : pollResult.timestamp) !== null && _a !== void 0 ? _a : Date.now(),
|
|
160
177
|
};
|
|
161
178
|
};
|
|
162
179
|
const getBatch = (api, batchId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -169,25 +186,67 @@ const getBatch = (api, batchId) => __awaiter(void 0, void 0, void 0, function* (
|
|
|
169
186
|
throw new api_1.EndpointError(`Failed to get batch: ${(0, api_1.formatBackendErrors)(e)}\n`, (_a = e.response) === null || _a === void 0 ? void 0 : _a.status);
|
|
170
187
|
}
|
|
171
188
|
});
|
|
172
|
-
|
|
189
|
+
/**
|
|
190
|
+
* Returns fresh poll results, or reads the backup map in case of 404.
|
|
191
|
+
*/
|
|
192
|
+
const getPollResultMap = (api, resultIds, backupPollResultMap) => __awaiter(void 0, void 0, void 0, function* () {
|
|
173
193
|
var _b;
|
|
194
|
+
const pollResultMap = new Map();
|
|
195
|
+
const incompleteResultIds = new Set();
|
|
174
196
|
try {
|
|
175
197
|
const pollResults = yield api.pollResults(resultIds);
|
|
176
|
-
const pollResultMap = {};
|
|
177
|
-
const incompleteResultIds = new Set();
|
|
178
198
|
pollResults.forEach((r) => {
|
|
179
|
-
//
|
|
180
|
-
|
|
199
|
+
// Server results are initialized to `{"eventType": "created"}` in the backend, and they may take
|
|
200
|
+
// some time to be updated. In that case, we keep the `PollResult` information (e.g. `timestamp`)
|
|
201
|
+
// but remove the server result to avoid reporting an unexpected object shape.
|
|
202
|
+
if (r.result && 'eventType' in r.result && r.result.eventType === 'created') {
|
|
181
203
|
incompleteResultIds.add(r.resultID);
|
|
204
|
+
delete r.result;
|
|
182
205
|
}
|
|
183
|
-
pollResultMap
|
|
206
|
+
pollResultMap.set(r.resultID, r);
|
|
207
|
+
backupPollResultMap.set(r.resultID, r);
|
|
184
208
|
});
|
|
185
209
|
return { pollResultMap, incompleteResultIds };
|
|
186
210
|
}
|
|
187
211
|
catch (e) {
|
|
212
|
+
if ((0, api_1.getErrorHttpStatus)(e) === 404) {
|
|
213
|
+
// If some results have latency and retries were not enough, the whole request fails with "Test results not found".
|
|
214
|
+
// In that case, we mark results IDs that were never polled before as incomplete so they are fetched in the next polling cycles.
|
|
215
|
+
resultIds.forEach((resultId) => {
|
|
216
|
+
const backupPollResult = backupPollResultMap.get(resultId);
|
|
217
|
+
if (backupPollResult) {
|
|
218
|
+
pollResultMap.set(resultId, backupPollResult);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
incompleteResultIds.add(resultId);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
return { pollResultMap, incompleteResultIds };
|
|
225
|
+
}
|
|
188
226
|
throw new api_1.EndpointError(`Failed to poll results: ${(0, api_1.formatBackendErrors)(e)}\n`, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status);
|
|
189
227
|
}
|
|
190
228
|
});
|
|
229
|
+
/**
|
|
230
|
+
* A residual result is either:
|
|
231
|
+
* - Still incomplete (from the poll results POV): report it with incomplete data and a warning.
|
|
232
|
+
* - Still in progress (from the batch POV): it was never emitted.
|
|
233
|
+
* - A timed out retry.
|
|
234
|
+
*/
|
|
235
|
+
const isResidualResult = (result, emittedResultIds, incompleteResultIds) => {
|
|
236
|
+
if (incompleteResultIds.has(result.result_id)) {
|
|
237
|
+
// The poll results endpoint returned an incomplete result: report it with incomplete data and a warning.
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
if (!emittedResultIds.has(result.result_id)) {
|
|
241
|
+
// Was never emitted, which means the batch never set a final status for it.
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
if (emittedResultIds.has(result.result_id) && (0, internal_1.isTimedOutRetry)(result.retries, result.max_retries, result.timed_out)) {
|
|
245
|
+
// The result ID was already emitted but it used to be non-final result, and it's now a timed out retry.
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
return false;
|
|
249
|
+
};
|
|
191
250
|
const getTestByPublicId = (id, tests) => tests.find((t) => t.public_id === id);
|
|
192
251
|
const getResultIds = (results) => excludeSkipped(results).map((r) => r.result_id);
|
|
193
252
|
const excludeSkipped = (results) => results.filter((r) => !(0, internal_1.isResultInBatchSkippedBySelectiveRerun)(r));
|