@nrwl/nx-cloud 13.2.0-beta.2 → 13.2.1
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/lib/core/api/run-group.api.js +1 -65
- package/lib/core/api/run-group.api.js.map +1 -1
- package/lib/core/commands/clean-up-agents.js +2 -2
- package/lib/core/commands/clean-up-agents.js.map +1 -1
- package/lib/core/commands/start-ci-run.js +2 -2
- package/lib/core/commands/start-ci-run.js.map +1 -1
- package/lib/core/commands/stop-all-agents.js +2 -2
- package/lib/core/commands/stop-all-agents.js.map +1 -1
- package/lib/core/error/print-run-group-error.js +2 -2
- package/lib/core/error/print-run-group-error.js.map +1 -1
- package/lib/core/file-storage/file-storage.js +5 -5
- package/lib/core/file-storage/file-storage.js.map +1 -1
- package/lib/core/models/cloud-task-runner-options.d.ts +11 -1
- package/lib/core/models/distributed-agent/index.js +5 -1
- package/lib/core/models/distributed-agent/index.js.map +1 -1
- package/lib/core/models/run-context.model.d.ts +30 -1
- package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.d.ts +1 -3
- package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js +1 -139
- package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js.map +1 -1
- package/lib/core/runners/cloud-enabled/cloud-enabled.runner.d.ts +2 -2
- package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js +1 -167
- package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js.map +1 -1
- package/lib/core/runners/cloud-enabled/cloud-remote-cache.d.ts +1 -2
- package/lib/core/runners/cloud-enabled/cloud-remote-cache.js +1 -113
- package/lib/core/runners/cloud-enabled/cloud-remote-cache.js.map +1 -1
- package/lib/core/runners/cloud-enabled/cloud-run.api.js +1 -158
- package/lib/core/runners/cloud-enabled/cloud-run.api.js.map +1 -1
- package/lib/core/runners/distributed-agent/distributed-agent.api.js +1 -79
- package/lib/core/runners/distributed-agent/distributed-agent.api.js.map +1 -1
- package/lib/core/runners/distributed-agent/distributed-agent.impl.js +1 -239
- package/lib/core/runners/distributed-agent/distributed-agent.impl.js.map +1 -1
- package/lib/core/runners/distributed-execution/distributed-execution.api.d.ts +1 -1
- package/lib/core/runners/distributed-execution/distributed-execution.api.js +1 -131
- package/lib/core/runners/distributed-execution/distributed-execution.api.js.map +1 -1
- package/lib/core/runners/distributed-execution/distributed-execution.runner.d.ts +1 -1
- package/lib/core/runners/distributed-execution/distributed-execution.runner.js +1 -308
- package/lib/core/runners/distributed-execution/distributed-execution.runner.js.map +1 -1
- package/lib/core/terminal-output/message-reporter.js +2 -2
- package/lib/core/terminal-output/message-reporter.js.map +1 -1
- package/lib/core/terminal-output/output-obfuscator.js.map +1 -1
- package/lib/generators/init/init.js +1 -1
- package/lib/generators/init/init.js.map +1 -1
- package/lib/nx-cloud-tasks-runner.js +6 -7
- package/lib/nx-cloud-tasks-runner.js.map +1 -1
- package/lib/utilities/axios.js +2 -2
- package/lib/utilities/axios.js.map +1 -1
- package/lib/utilities/create-no-new-messages-timeout.js +2 -2
- package/lib/utilities/create-no-new-messages-timeout.js.map +1 -1
- package/lib/utilities/environment.js +2 -2
- package/lib/utilities/environment.js.map +1 -1
- package/lib/utilities/nx-imports.d.ts +0 -0
- package/lib/utilities/nx-imports.js +39 -0
- package/lib/utilities/nx-imports.js.map +1 -0
- package/lib/utilities/print-message.js +8 -8
- package/lib/utilities/print-message.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,167 +1 @@
|
|
|
1
|
-
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.cloudEnabledTasksRunner = void 0;
|
|
13
|
-
const Subject_1 = require("rxjs/internal/Subject");
|
|
14
|
-
const message_reporter_1 = require("../../terminal-output/message-reporter");
|
|
15
|
-
const end_of_run_message_1 = require("../../terminal-output/end-of-run-message");
|
|
16
|
-
const output_obfuscator_1 = require("../../terminal-output/output-obfuscator");
|
|
17
|
-
const cloud_enabled_life_cycle_1 = require("./cloud-enabled-life-cycle");
|
|
18
|
-
const file_storage_1 = require("../../file-storage/file-storage");
|
|
19
|
-
const e2e_encryption_1 = require("../../file-storage/e2e-encryption");
|
|
20
|
-
const environment_1 = require("../../../utilities/environment");
|
|
21
|
-
const cloud_remote_cache_1 = require("./cloud-remote-cache");
|
|
22
|
-
const tasks_runner_v2_1 = require("@nrwl/workspace/src/tasks-runner/tasks-runner-v2");
|
|
23
|
-
const output_1 = require("@nrwl/workspace/src/utilities/output");
|
|
24
|
-
const cloud_run_api_1 = require("./cloud-run.api");
|
|
25
|
-
const fs_1 = require("fs");
|
|
26
|
-
const path = require("path");
|
|
27
|
-
const metric_logger_1 = require("../../../utilities/metric-logger");
|
|
28
|
-
function createApi(errors, options, runContext) {
|
|
29
|
-
const machineInfo = (0, environment_1.getMachineInfo)(options);
|
|
30
|
-
return new cloud_run_api_1.CloudRunApi(errors, runContext, options, machineInfo);
|
|
31
|
-
}
|
|
32
|
-
function storeTaskHashes(taskExecutions, directory, distributedExecutionId) {
|
|
33
|
-
const hashes = JSON.stringify(taskExecutions.map((t) => ({
|
|
34
|
-
taskId: t.taskId,
|
|
35
|
-
hash: t.hash,
|
|
36
|
-
})));
|
|
37
|
-
if (environment_1.VERBOSE_LOGGING) {
|
|
38
|
-
output_1.output.note({
|
|
39
|
-
title: `Executed tasks with hashes: ${hashes}`,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
(0, fs_1.writeFileSync)(path.join(directory, `tasks-hashes-${distributedExecutionId}`), hashes);
|
|
43
|
-
}
|
|
44
|
-
function onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133) {
|
|
45
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const runEndTime = new Date().toISOString();
|
|
47
|
-
if (environment_1.AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION) {
|
|
48
|
-
storeTaskHashes(taskExecutions, options.cacheDirectory || './node_modules/.cache/nx', environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID);
|
|
49
|
-
}
|
|
50
|
-
const branch = (0, environment_1.getBranch)();
|
|
51
|
-
const endRequest = yield Promise.all([
|
|
52
|
-
remoteCache.waitForStoreRequestsToComplete(),
|
|
53
|
-
api.endRun({
|
|
54
|
-
command: outputObfuscator.obfuscate((0, environment_1.parseCommand)()),
|
|
55
|
-
startTime: runStartTime,
|
|
56
|
-
endTime: runEndTime,
|
|
57
|
-
distributedExecutionId: environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID,
|
|
58
|
-
branch: branch,
|
|
59
|
-
scan: true,
|
|
60
|
-
runGroup: (0, environment_1.getRunGroup)(),
|
|
61
|
-
// only set sha if branch is set because we invoke a separate process,
|
|
62
|
-
// which adds a few millis
|
|
63
|
-
sha: branch ? (0, environment_1.extractGitSha)() : undefined,
|
|
64
|
-
}, taskExecutions),
|
|
65
|
-
]);
|
|
66
|
-
// this workaround is required because prior to Nx 13.3 we printed
|
|
67
|
-
// the end message after the runner completes, so we need to wait for the
|
|
68
|
-
// message to appear in the right place
|
|
69
|
-
if (versionOfNxBefore133) {
|
|
70
|
-
setTimeout(() => {
|
|
71
|
-
messages.printMessages();
|
|
72
|
-
if (!messages.anyErrors) {
|
|
73
|
-
endOfRunMessage.printCacheHitsMessage();
|
|
74
|
-
}
|
|
75
|
-
}, 0);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
messages.printMessages();
|
|
79
|
-
if (!messages.anyErrors) {
|
|
80
|
-
endOfRunMessage.printCacheHitsMessage();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (environment_1.AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION) {
|
|
84
|
-
if (!endRequest[0]) {
|
|
85
|
-
output_1.output.error({
|
|
86
|
-
title: `Agent wasn't able to store artifacts`,
|
|
87
|
-
});
|
|
88
|
-
messages.printMessages();
|
|
89
|
-
process.exit(environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE);
|
|
90
|
-
}
|
|
91
|
-
if (!endRequest[1]) {
|
|
92
|
-
output_1.output.error({
|
|
93
|
-
title: `Agent wasn't able to record its run`,
|
|
94
|
-
});
|
|
95
|
-
messages.printMessages();
|
|
96
|
-
process.exit(environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
yield (0, metric_logger_1.submitRunMetrics)(options);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
function createLifeCycle(runContext, options, outputObfuscator, tasks) {
|
|
103
|
-
const cloudEnabledLifeCycle = new cloud_enabled_life_cycle_1.CloudEnabledLifeCycle(runContext, options.cacheDirectory, !!options.skipNxCache, options.scan === undefined ? true : options.scan, options.cacheableOperations || [], outputObfuscator, tasks);
|
|
104
|
-
try {
|
|
105
|
-
const { CompositeLifeCycle, } = require('@nrwl/workspace/src/tasks-runner/life-cycle');
|
|
106
|
-
if (!CompositeLifeCycle)
|
|
107
|
-
return cloudEnabledLifeCycle;
|
|
108
|
-
return new CompositeLifeCycle([options.lifeCycle, cloudEnabledLifeCycle]);
|
|
109
|
-
}
|
|
110
|
-
catch (e) {
|
|
111
|
-
return cloudEnabledLifeCycle;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
function cloudEnabledTasksRunner(tasks, options, context) {
|
|
115
|
-
const runContext = {
|
|
116
|
-
statuses: {},
|
|
117
|
-
scheduledTasks: [],
|
|
118
|
-
requests: {},
|
|
119
|
-
allTasks: tasks,
|
|
120
|
-
};
|
|
121
|
-
const versionOfNxBefore133 = options.lifeCycle === undefined;
|
|
122
|
-
const taskExecutions = [];
|
|
123
|
-
const messages = new message_reporter_1.MessageReporter(options);
|
|
124
|
-
const api = createApi(messages, options, runContext);
|
|
125
|
-
const endOfRunMessage = new end_of_run_message_1.EndOfRunMessage(runContext, taskExecutions);
|
|
126
|
-
const outputObfuscator = new output_obfuscator_1.OutputObfuscator(options.maskedProperties);
|
|
127
|
-
const hashes = tasks.map((t) => t.hash).filter((h) => !!h);
|
|
128
|
-
const startRunRequest = api.startRun(environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID, hashes);
|
|
129
|
-
hashes.forEach((hash) => {
|
|
130
|
-
runContext.requests[hash] = startRunRequest;
|
|
131
|
-
});
|
|
132
|
-
const runStartTime = new Date().toISOString();
|
|
133
|
-
const lifeCycle = createLifeCycle(runContext, options, outputObfuscator, taskExecutions);
|
|
134
|
-
const encryption = new e2e_encryption_1.E2EEncryption(environment_1.ENCRYPTION_KEY || options.encryptionKey);
|
|
135
|
-
const fileStorage = new file_storage_1.FileStorage(encryption);
|
|
136
|
-
const remoteCache = new cloud_remote_cache_1.CloudRemoteCache(messages, api, runContext, fileStorage);
|
|
137
|
-
// have to reset it so we don't capture inner tasks
|
|
138
|
-
delete process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_ID;
|
|
139
|
-
const res = (0, tasks_runner_v2_1.tasksRunnerV2)(tasks, Object.assign(Object.assign({}, options), { remoteCache, lifeCycle }), context);
|
|
140
|
-
// observable -> legacy
|
|
141
|
-
if (res.subscribe) {
|
|
142
|
-
const wrappedRes = new Subject_1.Subject();
|
|
143
|
-
res.subscribe({
|
|
144
|
-
next: (value) => wrappedRes.next(value),
|
|
145
|
-
error: (err) => wrappedRes.error(err),
|
|
146
|
-
complete: () => __awaiter(this, void 0, void 0, function* () {
|
|
147
|
-
yield onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133);
|
|
148
|
-
wrappedRes.complete();
|
|
149
|
-
}),
|
|
150
|
-
});
|
|
151
|
-
return wrappedRes;
|
|
152
|
-
// promise
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
return res
|
|
156
|
-
.then((r) => __awaiter(this, void 0, void 0, function* () {
|
|
157
|
-
yield onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133);
|
|
158
|
-
return r;
|
|
159
|
-
}))
|
|
160
|
-
.catch((e) => __awaiter(this, void 0, void 0, function* () {
|
|
161
|
-
yield onComplete(lifeCycle, options, remoteCache, api, outputObfuscator, runStartTime, messages, endOfRunMessage, taskExecutions, versionOfNxBefore133);
|
|
162
|
-
throw e;
|
|
163
|
-
}));
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.cloudEnabledTasksRunner = cloudEnabledTasksRunner;
|
|
167
|
-
//# sourceMappingURL=cloud-enabled.runner.js.map
|
|
1
|
+
const a1_0x3638=['anyErrors','stringify','requests','Executed\x20tasks\x20with\x20hashes:\x20','toISOString','throw','getBranch','AGENT_RUNNING_IN_DISTRIBUTED_EXECUTION','getMachineInfo','next','printMessages','getRunGroup','join','path','defineProperty','tasks-hashes-','subscribe','printCacheHitsMessage','done','DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE','../../../utilities/nx-imports','Agent\x20wasn\x27t\x20able\x20to\x20record\x20its\x20run','parseCommand','hash','./cloud-remote-cache','startRun','./cloud-enabled-life-cycle','../../../utilities/environment','__awaiter','CloudRunApi','obfuscate','cacheableOperations','taskId','FileStorage','NX_CLOUD_DISTRIBUTED_EXECUTION_ID','exit','cacheDirectory','CloudRemoteCache','then','lifeCycle','../../../utilities/metric-logger','all','MessageReporter','E2EEncryption','value','encryptionKey','cloudEnabledTasksRunner','maskedProperties','submitRunMetrics','../../file-storage/e2e-encryption','scan','./node_modules/.cache/nx','map','__esModule','OutputObfuscator','EndOfRunMessage','complete','CloudEnabledLifeCycle','error','filter'];(function(_0x2bd96e,_0x3638c9){const _0x1abc1f=function(_0x2c9e09){while(--_0x2c9e09){_0x2bd96e['push'](_0x2bd96e['shift']());}};_0x1abc1f(++_0x3638c9);}(a1_0x3638,0x11c));const a1_0x1abc=function(_0x2bd96e,_0x3638c9){_0x2bd96e=_0x2bd96e-0x0;let _0x1abc1f=a1_0x3638[_0x2bd96e];return _0x1abc1f;};'use strict';var __awaiter=this&&this[a1_0x1abc('0x2c')]||function(_0x5c9582,_0x542586,_0x3db25a,_0x1f9bbe){function _0x38c6ca(_0x3fd370){return _0x3fd370 instanceof _0x3db25a?_0x3fd370:new _0x3db25a(function(_0x6eaf7c){_0x6eaf7c(_0x3fd370);});}return new(_0x3db25a||(_0x3db25a=Promise))(function(_0x42ded6,_0x3fdd74){function _0x5590ed(_0x45d870){try{_0x4763cb(_0x1f9bbe[a1_0x1abc('0x19')](_0x45d870));}catch(_0x233e10){_0x3fdd74(_0x233e10);}}function _0x3b6a6e(_0x1ebfb7){try{_0x4763cb(_0x1f9bbe[a1_0x1abc('0x15')](_0x1ebfb7));}catch(_0x153fa3){_0x3fdd74(_0x153fa3);}}function _0x4763cb(_0x413f0e){_0x413f0e[a1_0x1abc('0x22')]?_0x42ded6(_0x413f0e[a1_0x1abc('0x0')]):_0x38c6ca(_0x413f0e['value'])[a1_0x1abc('0x36')](_0x5590ed,_0x3b6a6e);}_0x4763cb((_0x1f9bbe=_0x1f9bbe['apply'](_0x5c9582,_0x542586||[]))[a1_0x1abc('0x19')]());});};Object[a1_0x1abc('0x1e')](exports,a1_0x1abc('0x9'),{'value':!![]});exports[a1_0x1abc('0x2')]=void 0x0;const Subject_1=require('rxjs/internal/Subject');const message_reporter_1=require('../../terminal-output/message-reporter');const end_of_run_message_1=require('../../terminal-output/end-of-run-message');const output_obfuscator_1=require('../../terminal-output/output-obfuscator');const cloud_enabled_life_cycle_1=require(a1_0x1abc('0x2a'));const file_storage_1=require('../../file-storage/file-storage');const e2e_encryption_1=require(a1_0x1abc('0x5'));const environment_1=require(a1_0x1abc('0x2b'));const cloud_remote_cache_1=require(a1_0x1abc('0x28'));const cloud_run_api_1=require('./cloud-run.api');const fs_1=require('fs');const path=require(a1_0x1abc('0x1d'));const metric_logger_1=require(a1_0x1abc('0x38'));const {tasksRunnerV2,output}=require(a1_0x1abc('0x24'));function createApi(_0x2d568a,_0x450dd0,_0x339d00){const _0x427519=(0x0,environment_1[a1_0x1abc('0x18')])(_0x450dd0);return new cloud_run_api_1[(a1_0x1abc('0x2d'))](_0x2d568a,_0x339d00,_0x450dd0,_0x427519);}function storeTaskHashes(_0xb59c7e,_0x5dc5e5,_0x1e42f6){const _0x498e4b=JSON[a1_0x1abc('0x11')](_0xb59c7e['map'](_0x5c2021=>({'taskId':_0x5c2021[a1_0x1abc('0x30')],'hash':_0x5c2021['hash']})));if(environment_1['VERBOSE_LOGGING']){output['note']({'title':a1_0x1abc('0x13')+_0x498e4b});}(0x0,fs_1['writeFileSync'])(path[a1_0x1abc('0x1c')](_0x5dc5e5,a1_0x1abc('0x1f')+_0x1e42f6),_0x498e4b);}function onComplete(_0x289380,_0x138171,_0x4ccb79,_0x5297f4,_0xa28c74,_0x9771ff,_0x3ef8b2,_0x193586,_0xc6c34e,_0x128932){return __awaiter(this,void 0x0,void 0x0,function*(){const _0x30fada=new Date()['toISOString']();if(environment_1[a1_0x1abc('0x17')]){storeTaskHashes(_0xc6c34e,_0x138171[a1_0x1abc('0x34')]||a1_0x1abc('0x7'),environment_1['NX_CLOUD_DISTRIBUTED_EXECUTION_ID']);}const _0x40f11c=(0x0,environment_1[a1_0x1abc('0x16')])();const _0x7afdf8=yield Promise[a1_0x1abc('0x39')]([_0x4ccb79['waitForStoreRequestsToComplete'](),_0x5297f4['endRun']({'command':_0xa28c74[a1_0x1abc('0x2e')]((0x0,environment_1[a1_0x1abc('0x26')])()),'startTime':_0x9771ff,'endTime':_0x30fada,'distributedExecutionId':environment_1[a1_0x1abc('0x32')],'branch':_0x40f11c,'scan':!![],'runGroup':(0x0,environment_1[a1_0x1abc('0x1b')])(),'sha':_0x40f11c?(0x0,environment_1['extractGitSha'])():undefined},_0xc6c34e)]);if(_0x128932){setTimeout(()=>{_0x3ef8b2[a1_0x1abc('0x1a')]();if(!_0x3ef8b2[a1_0x1abc('0x10')]){_0x193586[a1_0x1abc('0x21')]();}},0x0);}else{_0x3ef8b2[a1_0x1abc('0x1a')]();if(!_0x3ef8b2[a1_0x1abc('0x10')]){_0x193586[a1_0x1abc('0x21')]();}}if(environment_1[a1_0x1abc('0x17')]){if(!_0x7afdf8[0x0]){output['error']({'title':'Agent\x20wasn\x27t\x20able\x20to\x20store\x20artifacts'});_0x3ef8b2[a1_0x1abc('0x1a')]();process[a1_0x1abc('0x33')](environment_1[a1_0x1abc('0x23')]);}if(!_0x7afdf8[0x1]){output['error']({'title':a1_0x1abc('0x25')});_0x3ef8b2[a1_0x1abc('0x1a')]();process['exit'](environment_1[a1_0x1abc('0x23')]);}}yield(0x0,metric_logger_1[a1_0x1abc('0x4')])(_0x138171);});}function createLifeCycle(_0x19acf3,_0x324540,_0x3ffcc3,_0x3e55f5){const _0x2a7b94=new cloud_enabled_life_cycle_1[(a1_0x1abc('0xd'))](_0x19acf3,_0x324540[a1_0x1abc('0x34')],!!_0x324540['skipNxCache'],_0x324540[a1_0x1abc('0x6')]===undefined?!![]:_0x324540['scan'],_0x324540[a1_0x1abc('0x2f')]||[],_0x3ffcc3,_0x3e55f5);try{const {CompositeLifeCycle}=require(a1_0x1abc('0x24'));if(!CompositeLifeCycle)return _0x2a7b94;return new CompositeLifeCycle([_0x324540[a1_0x1abc('0x37')],_0x2a7b94]);}catch(_0x3cba71){return _0x2a7b94;}}function cloudEnabledTasksRunner(_0x48aec8,_0x2860f5,_0x54cf29){const _0x2880e5={'statuses':{},'scheduledTasks':[],'requests':{},'allTasks':_0x48aec8};const _0x1651e5=_0x2860f5[a1_0x1abc('0x37')]===undefined;const _0x122fba=[];const _0x2f81fa=new message_reporter_1[(a1_0x1abc('0x3a'))](_0x2860f5);const _0x1a963d=createApi(_0x2f81fa,_0x2860f5,_0x2880e5);const _0x4b7e9a=new end_of_run_message_1[(a1_0x1abc('0xb'))](_0x2880e5,_0x122fba);const _0x55e5b2=new output_obfuscator_1[(a1_0x1abc('0xa'))](_0x2860f5[a1_0x1abc('0x3')]);const _0x2790a7=_0x48aec8[a1_0x1abc('0x8')](_0x25968d=>_0x25968d[a1_0x1abc('0x27')])[a1_0x1abc('0xf')](_0x47e366=>!!_0x47e366);const _0x5379b5=_0x1a963d[a1_0x1abc('0x29')](environment_1[a1_0x1abc('0x32')],_0x2790a7);_0x2790a7['forEach'](_0x56e9e2=>{_0x2880e5[a1_0x1abc('0x12')][_0x56e9e2]=_0x5379b5;});const _0x3ef192=new Date()[a1_0x1abc('0x14')]();const _0x52225a=createLifeCycle(_0x2880e5,_0x2860f5,_0x55e5b2,_0x122fba);const _0x523e08=new e2e_encryption_1[(a1_0x1abc('0x3b'))](environment_1['ENCRYPTION_KEY']||_0x2860f5[a1_0x1abc('0x1')]);const _0x462be8=new file_storage_1[(a1_0x1abc('0x31'))](_0x523e08);const _0x2e7797=new cloud_remote_cache_1[(a1_0x1abc('0x35'))](_0x2f81fa,_0x1a963d,_0x2880e5,_0x462be8);delete process['env'][a1_0x1abc('0x32')];const _0x2bac08=tasksRunnerV2(_0x48aec8,Object['assign'](Object['assign']({},_0x2860f5),{'remoteCache':_0x2e7797,'lifeCycle':_0x52225a}),_0x54cf29);if(_0x2bac08['subscribe']){const _0x2068d8=new Subject_1['Subject']();_0x2bac08[a1_0x1abc('0x20')]({'next':_0x1f2dee=>_0x2068d8[a1_0x1abc('0x19')](_0x1f2dee),'error':_0x253333=>_0x2068d8[a1_0x1abc('0xe')](_0x253333),'complete':()=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete(_0x52225a,_0x2860f5,_0x2e7797,_0x1a963d,_0x55e5b2,_0x3ef192,_0x2f81fa,_0x4b7e9a,_0x122fba,_0x1651e5);_0x2068d8[a1_0x1abc('0xc')]();})});return _0x2068d8;}else{return _0x2bac08[a1_0x1abc('0x36')](_0x5a3c22=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete(_0x52225a,_0x2860f5,_0x2e7797,_0x1a963d,_0x55e5b2,_0x3ef192,_0x2f81fa,_0x4b7e9a,_0x122fba,_0x1651e5);return _0x5a3c22;}))['catch'](_0x9833e1=>__awaiter(this,void 0x0,void 0x0,function*(){yield onComplete(_0x52225a,_0x2860f5,_0x2e7797,_0x1a963d,_0x55e5b2,_0x3ef192,_0x2f81fa,_0x4b7e9a,_0x122fba,_0x1651e5);throw _0x9833e1;}));}}exports[a1_0x1abc('0x2')]=cloudEnabledTasksRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-enabled.runner.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-enabled.runner.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cloud-enabled.runner.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-enabled.runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { RemoteCache } from '@nrwl/workspace/src/tasks-runner/tasks-runner-v2';
|
|
2
1
|
import { CloudRunApi } from './cloud-run.api';
|
|
3
2
|
import { RunContext } from '../../models/run-context.model';
|
|
4
3
|
import { FileStorage } from '../../file-storage/file-storage';
|
|
5
4
|
import { MessageReporter } from '../../terminal-output/message-reporter';
|
|
6
|
-
export declare class CloudRemoteCache
|
|
5
|
+
export declare class CloudRemoteCache {
|
|
7
6
|
private readonly messages;
|
|
8
7
|
private readonly api;
|
|
9
8
|
private readonly runContext;
|
|
@@ -1,113 +1 @@
|
|
|
1
|
-
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CloudRemoteCache = void 0;
|
|
13
|
-
const output_1 = require("@nrwl/workspace/src/utilities/output");
|
|
14
|
-
const environment_1 = require("../../../utilities/environment");
|
|
15
|
-
class CloudRemoteCache {
|
|
16
|
-
constructor(messages, api, runContext, fileStorage) {
|
|
17
|
-
this.messages = messages;
|
|
18
|
-
this.api = api;
|
|
19
|
-
this.runContext = runContext;
|
|
20
|
-
this.fileStorage = fileStorage;
|
|
21
|
-
this.storeRequests = [];
|
|
22
|
-
}
|
|
23
|
-
retrieve(hash, cacheDirectory) {
|
|
24
|
-
var _a;
|
|
25
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
if (this.messages.cacheError)
|
|
27
|
-
return false;
|
|
28
|
-
const hashUrls = yield this.hashUrls(hash);
|
|
29
|
-
if (!hashUrls || !hashUrls.get) {
|
|
30
|
-
if (environment_1.VERBOSE_LOGGING) {
|
|
31
|
-
output_1.output.note({ title: `Nx Cloud: Cache miss ${hash}.` });
|
|
32
|
-
}
|
|
33
|
-
this.runContext.statuses[hash] = 'cache-miss';
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
yield this.fileStorage.retrieve(hash, hashUrls.get, cacheDirectory);
|
|
38
|
-
this.runContext.statuses[hash] = 'remote-cache-hit';
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
catch (ee) {
|
|
42
|
-
const e = (_a = ee.axiosException) !== null && _a !== void 0 ? _a : ee;
|
|
43
|
-
if (e.response && e.response.status === 404) {
|
|
44
|
-
if (environment_1.VERBOSE_LOGGING) {
|
|
45
|
-
output_1.output.note({ title: `Nx Cloud: Cache miss ${hash}. Status 404.` });
|
|
46
|
-
}
|
|
47
|
-
// cache miss. print nothing
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this.messages.cacheError = this.messages.extractErrorMessage(e, 'storage');
|
|
51
|
-
}
|
|
52
|
-
this.runContext.statuses[hash] = 'cache-miss';
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
store(hash, cacheDirectory) {
|
|
58
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
if (this.messages.cacheError)
|
|
60
|
-
return false;
|
|
61
|
-
const res = Promise.resolve().then(() => __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
var _a;
|
|
63
|
-
const hashUrls = yield this.hashUrls(hash);
|
|
64
|
-
if (!hashUrls)
|
|
65
|
-
return false;
|
|
66
|
-
if (!hashUrls.put) {
|
|
67
|
-
if (environment_1.VERBOSE_LOGGING) {
|
|
68
|
-
output_1.output.note({
|
|
69
|
-
title: `Nx Cloud: Skipping storing ${hash}. Read only token is used.`,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
try {
|
|
75
|
-
yield this.fileStorage.store(hash, hashUrls.put, cacheDirectory);
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
catch (ee) {
|
|
79
|
-
const e = (_a = ee.axiosException) !== null && _a !== void 0 ? _a : ee;
|
|
80
|
-
this.messages.cacheError = this.messages.extractErrorMessage(e, 'storage');
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
}));
|
|
84
|
-
this.storeRequests.push(res);
|
|
85
|
-
return res;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
hashUrls(hash) {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
if (hash in this.runContext.requests) {
|
|
91
|
-
return (yield this.runContext.requests[hash])[hash];
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
const scheduledTaskHashesWithoutRequests = this.runContext.scheduledTasks
|
|
95
|
-
.filter((t) => !this.runContext.requests[t.hash])
|
|
96
|
-
.map((t) => t.hash);
|
|
97
|
-
if (scheduledTaskHashesWithoutRequests.indexOf(hash) === -1) {
|
|
98
|
-
scheduledTaskHashesWithoutRequests.push(hash);
|
|
99
|
-
}
|
|
100
|
-
const request = this.api.startRun(environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_ID, scheduledTaskHashesWithoutRequests);
|
|
101
|
-
scheduledTaskHashesWithoutRequests.forEach((taskHash) => {
|
|
102
|
-
this.runContext.requests[taskHash] = request;
|
|
103
|
-
});
|
|
104
|
-
return (yield request)[hash];
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
waitForStoreRequestsToComplete() {
|
|
109
|
-
return Promise.all(this.storeRequests).then((r) => r.reduce((a, b) => a && b, true));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
exports.CloudRemoteCache = CloudRemoteCache;
|
|
113
|
-
//# sourceMappingURL=cloud-remote-cache.js.map
|
|
1
|
+
const a2_0x51e4=['response','apply','put','fileStorage','hashUrls','Nx\x20Cloud:\x20Skipping\x20storing\x20','all','VERBOSE_LOGGING','storeRequests','messages','indexOf','map','then','resolve','CloudRemoteCache','NX_CLOUD_DISTRIBUTED_EXECUTION_ID','value','scheduledTasks','remote-cache-hit','note','statuses','reduce','.\x20Read\x20only\x20token\x20is\x20used.','filter','startRun','push','hash','axiosException','Nx\x20Cloud:\x20Cache\x20miss\x20','store','runContext','retrieve','status','extractErrorMessage','cacheError','requests','done','storage','cache-miss','waitForStoreRequestsToComplete','throw','__awaiter','../../../utilities/nx-imports','next','get','api','../../../utilities/environment'];(function(_0xd99f7f,_0x51e41f){const _0x254378=function(_0x45cf18){while(--_0x45cf18){_0xd99f7f['push'](_0xd99f7f['shift']());}};_0x254378(++_0x51e41f);}(a2_0x51e4,0x9d));const a2_0x2543=function(_0xd99f7f,_0x51e41f){_0xd99f7f=_0xd99f7f-0x0;let _0x254378=a2_0x51e4[_0xd99f7f];return _0x254378;};'use strict';var __awaiter=this&&this[a2_0x2543('0x19')]||function(_0x2aa292,_0x3e1af0,_0x22307f,_0x50d05a){function _0x4a039c(_0x1d57f1){return _0x1d57f1 instanceof _0x22307f?_0x1d57f1:new _0x22307f(function(_0x479a0a){_0x479a0a(_0x1d57f1);});}return new(_0x22307f||(_0x22307f=Promise))(function(_0x57793f,_0x5a2857){function _0x1f7935(_0x202aa3){try{_0x11440b(_0x50d05a[a2_0x2543('0x1b')](_0x202aa3));}catch(_0x3866ae){_0x5a2857(_0x3866ae);}}function _0xc581a4(_0x5d32a1){try{_0x11440b(_0x50d05a[a2_0x2543('0x18')](_0x5d32a1));}catch(_0x4fd4ff){_0x5a2857(_0x4fd4ff);}}function _0x11440b(_0x1c400c){_0x1c400c[a2_0x2543('0x14')]?_0x57793f(_0x1c400c[a2_0x2543('0x0')]):_0x4a039c(_0x1c400c[a2_0x2543('0x0')])[a2_0x2543('0x2b')](_0x1f7935,_0xc581a4);}_0x11440b((_0x50d05a=_0x50d05a[a2_0x2543('0x20')](_0x2aa292,_0x3e1af0||[]))[a2_0x2543('0x1b')]());});};Object['defineProperty'](exports,'__esModule',{'value':!![]});exports[a2_0x2543('0x2d')]=void 0x0;const environment_1=require(a2_0x2543('0x1e'));const {output}=require(a2_0x2543('0x1a'));class CloudRemoteCache{constructor(_0x42ecdf,_0x414663,_0x31ed3e,_0x576338){this[a2_0x2543('0x28')]=_0x42ecdf;this[a2_0x2543('0x1d')]=_0x414663;this[a2_0x2543('0xe')]=_0x31ed3e;this[a2_0x2543('0x22')]=_0x576338;this['storeRequests']=[];}[a2_0x2543('0xf')](_0x1caa30,_0x2e5b06){var _0x47ba79;return __awaiter(this,void 0x0,void 0x0,function*(){if(this['messages']['cacheError'])return![];const _0x434b58=yield this[a2_0x2543('0x23')](_0x1caa30);if(!_0x434b58||!_0x434b58[a2_0x2543('0x1c')]){if(environment_1[a2_0x2543('0x26')]){output[a2_0x2543('0x3')]({'title':a2_0x2543('0xc')+_0x1caa30+'.'});}this[a2_0x2543('0xe')][a2_0x2543('0x4')][_0x1caa30]=a2_0x2543('0x16');return![];}try{yield this['fileStorage'][a2_0x2543('0xf')](_0x1caa30,_0x434b58[a2_0x2543('0x1c')],_0x2e5b06);this['runContext'][a2_0x2543('0x4')][_0x1caa30]=a2_0x2543('0x2');return!![];}catch(_0x5bd6b1){const _0x2adbc3=(_0x47ba79=_0x5bd6b1[a2_0x2543('0xb')])!==null&&_0x47ba79!==void 0x0?_0x47ba79:_0x5bd6b1;if(_0x2adbc3[a2_0x2543('0x1f')]&&_0x2adbc3['response'][a2_0x2543('0x10')]===0x194){if(environment_1[a2_0x2543('0x26')]){output[a2_0x2543('0x3')]({'title':a2_0x2543('0xc')+_0x1caa30+'.\x20Status\x20404.'});}}else{this['messages'][a2_0x2543('0x12')]=this['messages'][a2_0x2543('0x11')](_0x2adbc3,a2_0x2543('0x15'));}this[a2_0x2543('0xe')][a2_0x2543('0x4')][_0x1caa30]='cache-miss';return![];}});}[a2_0x2543('0xd')](_0x2778d9,_0x16e4a3){return __awaiter(this,void 0x0,void 0x0,function*(){if(this[a2_0x2543('0x28')]['cacheError'])return![];const _0x5251ed=Promise[a2_0x2543('0x2c')]()[a2_0x2543('0x2b')](()=>__awaiter(this,void 0x0,void 0x0,function*(){var _0xa3141c;const _0x499e1f=yield this['hashUrls'](_0x2778d9);if(!_0x499e1f)return![];if(!_0x499e1f[a2_0x2543('0x21')]){if(environment_1[a2_0x2543('0x26')]){output[a2_0x2543('0x3')]({'title':a2_0x2543('0x24')+_0x2778d9+a2_0x2543('0x6')});}return!![];}try{yield this[a2_0x2543('0x22')]['store'](_0x2778d9,_0x499e1f[a2_0x2543('0x21')],_0x16e4a3);return!![];}catch(_0x2c2de3){const _0x2c6f3f=(_0xa3141c=_0x2c2de3[a2_0x2543('0xb')])!==null&&_0xa3141c!==void 0x0?_0xa3141c:_0x2c2de3;this[a2_0x2543('0x28')][a2_0x2543('0x12')]=this[a2_0x2543('0x28')]['extractErrorMessage'](_0x2c6f3f,a2_0x2543('0x15'));return![];}}));this['storeRequests'][a2_0x2543('0x9')](_0x5251ed);return _0x5251ed;});}['hashUrls'](_0x274ba2){return __awaiter(this,void 0x0,void 0x0,function*(){if(_0x274ba2 in this['runContext'][a2_0x2543('0x13')]){return(yield this[a2_0x2543('0xe')][a2_0x2543('0x13')][_0x274ba2])[_0x274ba2];}else{const _0x38acd7=this[a2_0x2543('0xe')][a2_0x2543('0x1')][a2_0x2543('0x7')](_0x151889=>!this['runContext']['requests'][_0x151889['hash']])[a2_0x2543('0x2a')](_0x217186=>_0x217186[a2_0x2543('0xa')]);if(_0x38acd7[a2_0x2543('0x29')](_0x274ba2)===-0x1){_0x38acd7['push'](_0x274ba2);}const _0x1ceddc=this[a2_0x2543('0x1d')][a2_0x2543('0x8')](environment_1[a2_0x2543('0x2e')],_0x38acd7);_0x38acd7['forEach'](_0x48afb2=>{this[a2_0x2543('0xe')]['requests'][_0x48afb2]=_0x1ceddc;});return(yield _0x1ceddc)[_0x274ba2];}});}[a2_0x2543('0x17')](){return Promise[a2_0x2543('0x25')](this[a2_0x2543('0x27')])[a2_0x2543('0x2b')](_0x4422d8=>_0x4422d8[a2_0x2543('0x5')]((_0x32ab9f,_0x37960b)=>_0x32ab9f&&_0x37960b,!![]));}}exports[a2_0x2543('0x2d')]=CloudRemoteCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-remote-cache.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-remote-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cloud-remote-cache.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-remote-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,158 +1 @@
|
|
|
1
|
-
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CloudRunApi = void 0;
|
|
13
|
-
const output_1 = require("@nrwl/workspace/src/utilities/output");
|
|
14
|
-
const axios_1 = require("../../../utilities/axios");
|
|
15
|
-
const environment_1 = require("../../../utilities/environment");
|
|
16
|
-
const fs_1 = require("fs");
|
|
17
|
-
const zlib_1 = require("zlib");
|
|
18
|
-
const util_1 = require("util");
|
|
19
|
-
const metric_logger_1 = require("../../../utilities/metric-logger");
|
|
20
|
-
class CloudRunApi {
|
|
21
|
-
constructor(messages, runContext, options, machineInfo) {
|
|
22
|
-
this.messages = messages;
|
|
23
|
-
this.runContext = runContext;
|
|
24
|
-
this.machineInfo = machineInfo;
|
|
25
|
-
this.apiAxiosInstance = (0, axios_1.createApiAxiosInstance)(options);
|
|
26
|
-
}
|
|
27
|
-
startRun(distributedExecutionId, hashes) {
|
|
28
|
-
var _a;
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
const recorder = (0, metric_logger_1.createMetricRecorder)('startRun');
|
|
31
|
-
try {
|
|
32
|
-
const request = {
|
|
33
|
-
meta: {
|
|
34
|
-
nxCloudVersion: this.nxCloudVersion(),
|
|
35
|
-
},
|
|
36
|
-
branch: (0, environment_1.getBranch)(),
|
|
37
|
-
runGroup: (0, environment_1.getRunGroup)(),
|
|
38
|
-
distributedExecutionId,
|
|
39
|
-
hashes,
|
|
40
|
-
};
|
|
41
|
-
if (environment_1.VERBOSE_LOGGING) {
|
|
42
|
-
output_1.output.note({
|
|
43
|
-
title: 'RunStart',
|
|
44
|
-
bodyLines: ['\n' + JSON.stringify(request, null, 2)],
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/runs/start', request));
|
|
48
|
-
recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
|
|
49
|
-
if (resp.data && resp.data.message) {
|
|
50
|
-
this.messages.message = resp.data.message;
|
|
51
|
-
}
|
|
52
|
-
if (!resp.data || !resp.data.urls) {
|
|
53
|
-
this.messages.apiError = `Invalid Nx Cloud response: ${JSON.stringify(resp.data)}`;
|
|
54
|
-
return {};
|
|
55
|
-
}
|
|
56
|
-
return resp.data.urls;
|
|
57
|
-
}
|
|
58
|
-
catch (e) {
|
|
59
|
-
recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
|
|
60
|
-
? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
|
|
61
|
-
: metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
|
|
62
|
-
this.messages.apiError = this.messages.extractErrorMessage(e, 'api');
|
|
63
|
-
return {};
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
endRun(run, tasks) {
|
|
68
|
-
var _a, _b;
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
// API is not working, don't make the end request
|
|
71
|
-
if (this.messages.apiError)
|
|
72
|
-
return false;
|
|
73
|
-
const uncompressedReqBody = {
|
|
74
|
-
meta: {
|
|
75
|
-
nxCloudVersion: this.nxCloudVersion(),
|
|
76
|
-
},
|
|
77
|
-
tasks,
|
|
78
|
-
run: run,
|
|
79
|
-
machineInfo: this.machineInfo,
|
|
80
|
-
};
|
|
81
|
-
const uncompressedBuffer = Buffer.from(JSON.stringify(uncompressedReqBody));
|
|
82
|
-
const compressedBuffer = yield (0, util_1.promisify)(zlib_1.gzip)(uncompressedBuffer);
|
|
83
|
-
const recorder = (0, metric_logger_1.createMetricRecorder)('endRun');
|
|
84
|
-
try {
|
|
85
|
-
if (environment_1.VERBOSE_LOGGING) {
|
|
86
|
-
const t = tasks.map((tt) => {
|
|
87
|
-
return Object.assign(Object.assign({}, tt), { terminalOutput: tt.terminalOutput
|
|
88
|
-
? `${tt.terminalOutput.slice(0, 20)}...`
|
|
89
|
-
: undefined });
|
|
90
|
-
});
|
|
91
|
-
output_1.output.note({
|
|
92
|
-
title: 'RunEnd. Completed tasks',
|
|
93
|
-
bodyLines: ['\n' + JSON.stringify(t, null, 2)],
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/runs/end', compressedBuffer, {
|
|
97
|
-
headers: Object.assign(Object.assign({}, this.apiAxiosInstance.defaults.headers), { 'Content-Encoding': 'gzip', 'Content-Type': 'application/octet-stream' }),
|
|
98
|
-
}));
|
|
99
|
-
if (resp) {
|
|
100
|
-
recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
|
|
101
|
-
if (resp.data && resp.data.runUrl && resp.data.status === 'success') {
|
|
102
|
-
this.runContext.runUrl = resp.data.runUrl;
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
if (resp.data && resp.data.status) {
|
|
106
|
-
this.messages.apiError = `Invalid end run response: ${JSON.stringify(resp.data.message)}`;
|
|
107
|
-
}
|
|
108
|
-
else if (resp.data && typeof resp.data === 'string') {
|
|
109
|
-
if (resp.data !== 'success') {
|
|
110
|
-
this.messages.apiError = `Invalid end run response: ${JSON.stringify(resp.data)}`;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
this.messages.apiError = `Invalid end run response: ${JSON.stringify(resp.data)}`;
|
|
115
|
-
}
|
|
116
|
-
if (environment_1.VERBOSE_LOGGING) {
|
|
117
|
-
output_1.output.note({
|
|
118
|
-
title: 'Invalid end run response',
|
|
119
|
-
bodyLines: [JSON.stringify(resp.data, null, 2)],
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
output_1.output.error({
|
|
125
|
-
title: 'Nx Cloud: Unknown Error Occurred',
|
|
126
|
-
bodyLines: [
|
|
127
|
-
'Run completion responded with `undefined`.',
|
|
128
|
-
'Run Details:',
|
|
129
|
-
JSON.stringify(run, null, 2),
|
|
130
|
-
'Stack Trace:',
|
|
131
|
-
JSON.stringify(new Error().stack, null, 2),
|
|
132
|
-
],
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
catch (ee) {
|
|
138
|
-
recorder.recordMetric(((_a = ee === null || ee === void 0 ? void 0 : ee.axiosException) === null || _a === void 0 ? void 0 : _a.response)
|
|
139
|
-
? (0, metric_logger_1.mapRespToPerfEntry)(ee.axiosException.response)
|
|
140
|
-
: metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
|
|
141
|
-
const e = (_b = ee.axiosException) !== null && _b !== void 0 ? _b : ee;
|
|
142
|
-
this.messages.apiError = this.messages.extractErrorMessage(e, 'api');
|
|
143
|
-
return false;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
nxCloudVersion() {
|
|
148
|
-
try {
|
|
149
|
-
const v = JSON.parse((0, fs_1.readFileSync)(`package.json`).toString());
|
|
150
|
-
return v.devDependencies['@nrwl/nx-cloud'];
|
|
151
|
-
}
|
|
152
|
-
catch (e) {
|
|
153
|
-
return 'unknown';
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
exports.CloudRunApi = CloudRunApi;
|
|
158
|
-
//# sourceMappingURL=cloud-run.api.js.map
|
|
1
|
+
const a3_0xe9ef=['createMetricRecorder','apiAxiosInstance','data','note','next','/nx-cloud/runs/end','createApiAxiosInstance','done','Invalid\x20end\x20run\x20response','mapRespToPerfEntry','stringify','axiosException','../../../utilities/nx-imports','map','assign','status','urls','slice','../../../utilities/metric-logger','nxCloudVersion','promisify','readFileSync','endRun','messages','startRun','/nx-cloud/runs/start','message','success','apply','RUNNER_FAILURE_PERF_ENTRY','defaults','machineInfo','getRunGroup','terminalOutput','post','runUrl','VERBOSE_LOGGING','Invalid\x20end\x20run\x20response:\x20','apiError','gzip','defineProperty','util','runContext','extractErrorMessage','error','stack','RunStart','recordMetric','Run\x20Details:','...','../../../utilities/axios','CloudRunApi','Invalid\x20Nx\x20Cloud\x20response:\x20','value','unknown','Stack\x20Trace:','from','axiosMultipleTries','api','devDependencies','headers','response'];(function(_0x5911ba,_0xe9ef2){const _0x14dd70=function(_0x531fb1){while(--_0x531fb1){_0x5911ba['push'](_0x5911ba['shift']());}};_0x14dd70(++_0xe9ef2);}(a3_0xe9ef,0x1da));const a3_0x14dd=function(_0x5911ba,_0xe9ef2){_0x5911ba=_0x5911ba-0x0;let _0x14dd70=a3_0xe9ef[_0x5911ba];return _0x14dd70;};'use strict';var __awaiter=this&&this['__awaiter']||function(_0x4e28fa,_0x609af0,_0xb28bf1,_0x23400f){function _0x4261d9(_0x5804ab){return _0x5804ab instanceof _0xb28bf1?_0x5804ab:new _0xb28bf1(function(_0x4109d9){_0x4109d9(_0x5804ab);});}return new(_0xb28bf1||(_0xb28bf1=Promise))(function(_0x2a971c,_0xb312ad){function _0x5afe29(_0x56545b){try{_0x72da2a(_0x23400f[a3_0x14dd('0x1a')](_0x56545b));}catch(_0x4bdedc){_0xb312ad(_0x4bdedc);}}function _0x5a21e7(_0x1c1cae){try{_0x72da2a(_0x23400f['throw'](_0x1c1cae));}catch(_0x46119d){_0xb312ad(_0x46119d);}}function _0x72da2a(_0x2bd9aa){_0x2bd9aa[a3_0x14dd('0x1d')]?_0x2a971c(_0x2bd9aa['value']):_0x4261d9(_0x2bd9aa[a3_0x14dd('0xd')])['then'](_0x5afe29,_0x5a21e7);}_0x72da2a((_0x23400f=_0x23400f[a3_0x14dd('0x32')](_0x4e28fa,_0x609af0||[]))[a3_0x14dd('0x1a')]());});};Object[a3_0x14dd('0x0')](exports,'__esModule',{'value':!![]});exports[a3_0x14dd('0xb')]=void 0x0;const axios_1=require(a3_0x14dd('0xa'));const environment_1=require('../../../utilities/environment');const fs_1=require('fs');const zlib_1=require('zlib');const util_1=require(a3_0x14dd('0x1'));const metric_logger_1=require(a3_0x14dd('0x28'));const {output}=require(a3_0x14dd('0x22'));class CloudRunApi{constructor(_0x215ac6,_0x3483ed,_0x46288f,_0x531cb3){this[a3_0x14dd('0x2d')]=_0x215ac6;this[a3_0x14dd('0x2')]=_0x3483ed;this[a3_0x14dd('0x35')]=_0x531cb3;this[a3_0x14dd('0x17')]=(0x0,axios_1[a3_0x14dd('0x1c')])(_0x46288f);}['startRun'](_0x17a951,_0x3e19c8){var _0x53e8fd;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x36bc25=(0x0,metric_logger_1['createMetricRecorder'])(a3_0x14dd('0x2e'));try{const _0x34ae38={'meta':{'nxCloudVersion':this[a3_0x14dd('0x29')]()},'branch':(0x0,environment_1['getBranch'])(),'runGroup':(0x0,environment_1[a3_0x14dd('0x36')])(),'distributedExecutionId':_0x17a951,'hashes':_0x3e19c8};if(environment_1[a3_0x14dd('0x3a')]){output['note']({'title':a3_0x14dd('0x6'),'bodyLines':['\x0a'+JSON[a3_0x14dd('0x20')](_0x34ae38,null,0x2)]});}const _0x1e64c7=yield(0x0,axios_1[a3_0x14dd('0x11')])(()=>this[a3_0x14dd('0x17')]['post'](a3_0x14dd('0x2f'),_0x34ae38));_0x36bc25[a3_0x14dd('0x7')]((0x0,metric_logger_1['mapRespToPerfEntry'])(_0x1e64c7));if(_0x1e64c7['data']&&_0x1e64c7['data'][a3_0x14dd('0x30')]){this[a3_0x14dd('0x2d')][a3_0x14dd('0x30')]=_0x1e64c7['data'][a3_0x14dd('0x30')];}if(!_0x1e64c7[a3_0x14dd('0x18')]||!_0x1e64c7[a3_0x14dd('0x18')][a3_0x14dd('0x26')]){this[a3_0x14dd('0x2d')][a3_0x14dd('0x3c')]=a3_0x14dd('0xc')+JSON['stringify'](_0x1e64c7[a3_0x14dd('0x18')]);return{};}return _0x1e64c7['data'][a3_0x14dd('0x26')];}catch(_0x5009d0){_0x36bc25['recordMetric'](((_0x53e8fd=_0x5009d0===null||_0x5009d0===void 0x0?void 0x0:_0x5009d0['axiosException'])===null||_0x53e8fd===void 0x0?void 0x0:_0x53e8fd['response'])?(0x0,metric_logger_1['mapRespToPerfEntry'])(_0x5009d0[a3_0x14dd('0x21')][a3_0x14dd('0x15')]):metric_logger_1[a3_0x14dd('0x33')]);this[a3_0x14dd('0x2d')][a3_0x14dd('0x3c')]=this[a3_0x14dd('0x2d')][a3_0x14dd('0x3')](_0x5009d0,a3_0x14dd('0x12'));return{};}});}[a3_0x14dd('0x2c')](_0x50f22a,_0x964afb){var _0x50c3ab,_0x1fe976;return __awaiter(this,void 0x0,void 0x0,function*(){if(this[a3_0x14dd('0x2d')]['apiError'])return![];const _0x14d2db={'meta':{'nxCloudVersion':this[a3_0x14dd('0x29')]()},'tasks':_0x964afb,'run':_0x50f22a,'machineInfo':this[a3_0x14dd('0x35')]};const _0x170877=Buffer[a3_0x14dd('0x10')](JSON[a3_0x14dd('0x20')](_0x14d2db));const _0x2047ad=yield(0x0,util_1[a3_0x14dd('0x2a')])(zlib_1[a3_0x14dd('0x3d')])(_0x170877);const _0x1bc741=(0x0,metric_logger_1[a3_0x14dd('0x16')])(a3_0x14dd('0x2c'));try{if(environment_1['VERBOSE_LOGGING']){const _0x2f5658=_0x964afb[a3_0x14dd('0x23')](_0x301856=>{return Object['assign'](Object[a3_0x14dd('0x24')]({},_0x301856),{'terminalOutput':_0x301856[a3_0x14dd('0x37')]?_0x301856[a3_0x14dd('0x37')][a3_0x14dd('0x27')](0x0,0x14)+a3_0x14dd('0x9'):undefined});});output[a3_0x14dd('0x19')]({'title':'RunEnd.\x20Completed\x20tasks','bodyLines':['\x0a'+JSON[a3_0x14dd('0x20')](_0x2f5658,null,0x2)]});}const _0x386974=yield(0x0,axios_1['axiosMultipleTries'])(()=>this['apiAxiosInstance'][a3_0x14dd('0x38')](a3_0x14dd('0x1b'),_0x2047ad,{'headers':Object[a3_0x14dd('0x24')](Object[a3_0x14dd('0x24')]({},this['apiAxiosInstance'][a3_0x14dd('0x34')][a3_0x14dd('0x14')]),{'Content-Encoding':'gzip','Content-Type':'application/octet-stream'})}));if(_0x386974){_0x1bc741['recordMetric']((0x0,metric_logger_1[a3_0x14dd('0x1f')])(_0x386974));if(_0x386974['data']&&_0x386974[a3_0x14dd('0x18')][a3_0x14dd('0x39')]&&_0x386974[a3_0x14dd('0x18')][a3_0x14dd('0x25')]===a3_0x14dd('0x31')){this[a3_0x14dd('0x2')][a3_0x14dd('0x39')]=_0x386974[a3_0x14dd('0x18')]['runUrl'];return!![];}if(_0x386974[a3_0x14dd('0x18')]&&_0x386974[a3_0x14dd('0x18')][a3_0x14dd('0x25')]){this[a3_0x14dd('0x2d')][a3_0x14dd('0x3c')]=a3_0x14dd('0x3b')+JSON[a3_0x14dd('0x20')](_0x386974['data'][a3_0x14dd('0x30')]);}else if(_0x386974[a3_0x14dd('0x18')]&&typeof _0x386974['data']==='string'){if(_0x386974[a3_0x14dd('0x18')]!=='success'){this['messages'][a3_0x14dd('0x3c')]=a3_0x14dd('0x3b')+JSON['stringify'](_0x386974['data']);}}else{this[a3_0x14dd('0x2d')][a3_0x14dd('0x3c')]=a3_0x14dd('0x3b')+JSON[a3_0x14dd('0x20')](_0x386974[a3_0x14dd('0x18')]);}if(environment_1[a3_0x14dd('0x3a')]){output['note']({'title':a3_0x14dd('0x1e'),'bodyLines':[JSON['stringify'](_0x386974['data'],null,0x2)]});}}else{output[a3_0x14dd('0x4')]({'title':'Nx\x20Cloud:\x20Unknown\x20Error\x20Occurred','bodyLines':['Run\x20completion\x20responded\x20with\x20`undefined`.',a3_0x14dd('0x8'),JSON[a3_0x14dd('0x20')](_0x50f22a,null,0x2),a3_0x14dd('0xf'),JSON[a3_0x14dd('0x20')](new Error()[a3_0x14dd('0x5')],null,0x2)]});}return![];}catch(_0x45b471){_0x1bc741['recordMetric'](((_0x50c3ab=_0x45b471===null||_0x45b471===void 0x0?void 0x0:_0x45b471['axiosException'])===null||_0x50c3ab===void 0x0?void 0x0:_0x50c3ab[a3_0x14dd('0x15')])?(0x0,metric_logger_1[a3_0x14dd('0x1f')])(_0x45b471[a3_0x14dd('0x21')]['response']):metric_logger_1['RUNNER_FAILURE_PERF_ENTRY']);const _0x84c3fe=(_0x1fe976=_0x45b471[a3_0x14dd('0x21')])!==null&&_0x1fe976!==void 0x0?_0x1fe976:_0x45b471;this[a3_0x14dd('0x2d')][a3_0x14dd('0x3c')]=this[a3_0x14dd('0x2d')]['extractErrorMessage'](_0x84c3fe,a3_0x14dd('0x12'));return![];}});}['nxCloudVersion'](){try{const _0x16a4cc=JSON['parse']((0x0,fs_1[a3_0x14dd('0x2b')])('package.json')['toString']());return _0x16a4cc[a3_0x14dd('0x13')]['@nrwl/nx-cloud'];}catch(_0x521641){return a3_0x14dd('0xe');}}}exports[a3_0x14dd('0xb')]=CloudRunApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-run.api.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-run.api.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cloud-run.api.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/cloud-enabled/cloud-run.api.ts"],"names":[],"mappings":"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"}
|