@nrwl/nx-cloud 15.3.1 → 15.3.3-beta.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.
Files changed (34) hide show
  1. package/lib/core/api/error-reporter.api.js +36 -1
  2. package/lib/core/api/run-group.api.js +73 -1
  3. package/lib/core/api/run-group.api.js.map +1 -1
  4. package/lib/core/commands/record-output.js +6 -2
  5. package/lib/core/commands/record-output.js.map +1 -1
  6. package/lib/core/commands/upload-and-show-run-details.js +2 -1
  7. package/lib/core/commands/upload-and-show-run-details.js.map +1 -1
  8. package/lib/core/file-storage/file-storage.js +1 -1
  9. package/lib/core/file-storage/file-storage.js.map +1 -1
  10. package/lib/core/runners/cloud-enabled/cloud-enabled-life-cycle.js +93 -1
  11. package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js +320 -1
  12. package/lib/core/runners/cloud-enabled/cloud-enabled.runner.js.map +1 -1
  13. package/lib/core/runners/cloud-enabled/cloud-remote-cache.js +133 -1
  14. package/lib/core/runners/cloud-enabled/cloud-run.api.js +168 -1
  15. package/lib/core/runners/cloud-enabled/id-generator.js +16 -1
  16. package/lib/core/runners/distributed-agent/distributed-agent.api.js +93 -1
  17. package/lib/core/runners/distributed-agent/distributed-agent.impl.js +157 -1
  18. package/lib/core/runners/distributed-agent/execute-tasks.js +114 -1
  19. package/lib/core/runners/distributed-agent/invoke-tasks-using-nx-imperative-api.js +58 -1
  20. package/lib/core/runners/distributed-agent/invoke-tasks-using-run-many.js +97 -1
  21. package/lib/core/runners/distributed-execution/distributed-execution.api.d.ts +1 -1
  22. package/lib/core/runners/distributed-execution/distributed-execution.api.js +152 -1
  23. package/lib/core/runners/distributed-execution/distributed-execution.api.js.map +1 -1
  24. package/lib/core/runners/distributed-execution/distributed-execution.runner.js +118 -1
  25. package/lib/core/runners/distributed-execution/process-task.js +45 -1
  26. package/lib/core/runners/distributed-execution/process-tasks.js +67 -1
  27. package/lib/core/runners/distributed-execution/split-task-graph-into-stages.js +37 -1
  28. package/lib/core/runners/distributed-execution/task-graph-creator.js +100 -1
  29. package/lib/utilities/environment.js +8 -2
  30. package/lib/utilities/environment.js.map +1 -1
  31. package/lib/utilities/is-private-cloud.d.ts +1 -0
  32. package/lib/utilities/is-private-cloud.js +30 -0
  33. package/lib/utilities/is-private-cloud.js.map +1 -0
  34. package/package.json +1 -1
@@ -1 +1,58 @@
1
- const a8_0x4c13=['status','NX_STREAM_OUTPUT','env','target','apply','value','invoke','NX_CLOUD_DISTRIBUTED_EXECUTION_ID','throw','next','tasks','../../../utilities/serializer-overrides','taskId','map','__esModule','NX_PREFIX_OUTPUT','values','assign','done','NX_CACHE_FAILURES','then','yargs-parser','unparse','../../../utilities/nx-imports','invokeTasksUsingNxImperativeApi','length','defineProperty','params','configuration'];(function(_0x5bb1cf,_0x4c1374){const _0x42f36e=function(_0x5c7121){while(--_0x5c7121){_0x5bb1cf['push'](_0x5bb1cf['shift']());}};_0x42f36e(++_0x4c1374);}(a8_0x4c13,0x1e5));const a8_0x42f3=function(_0x5bb1cf,_0x4c1374){_0x5bb1cf=_0x5bb1cf-0x0;let _0x42f36e=a8_0x4c13[_0x5bb1cf];return _0x42f36e;};'use strict';var __awaiter=this&&this['__awaiter']||function(_0x284ee9,_0x5e0986,_0x33450c,_0x343ff6){function _0x5d785f(_0x3d63e3){return _0x3d63e3 instanceof _0x33450c?_0x3d63e3:new _0x33450c(function(_0x36950c){_0x36950c(_0x3d63e3);});}return new(_0x33450c||(_0x33450c=Promise))(function(_0x1ffacc,_0x1deef3){function _0x3b7247(_0x56515b){try{_0x1a0272(_0x343ff6[a8_0x42f3('0x11')](_0x56515b));}catch(_0x493458){_0x1deef3(_0x493458);}}function _0x5a7ac0(_0x2733a4){try{_0x1a0272(_0x343ff6[a8_0x42f3('0x10')](_0x2733a4));}catch(_0x248d48){_0x1deef3(_0x248d48);}}function _0x1a0272(_0x229d1d){_0x229d1d[a8_0x42f3('0x1a')]?_0x1ffacc(_0x229d1d['value']):_0x5d785f(_0x229d1d[a8_0x42f3('0xd')])[a8_0x42f3('0x1c')](_0x3b7247,_0x5a7ac0);}_0x1a0272((_0x343ff6=_0x343ff6[a8_0x42f3('0xc')](_0x284ee9,_0x5e0986||[]))[a8_0x42f3('0x11')]());});};Object[a8_0x42f3('0x5')](exports,a8_0x42f3('0x16'),{'value':!![]});exports[a8_0x42f3('0x3')]=void 0x0;const {initTasksRunner}=require(a8_0x42f3('0x2'));const parser=require(a8_0x42f3('0x0'));const serializer_overrides_1=require(a8_0x42f3('0x13'));function invokeTasksUsingNxImperativeApi(_0x5eee50){return __awaiter(this,void 0x0,void 0x0,function*(){const _0x1959ec=yield initTasksRunner(_0x5eee50);return(_0x421f09,_0x18007d,_0x2739e3)=>__awaiter(this,void 0x0,void 0x0,function*(){const _0x56f3e9=_0x18007d[a8_0x42f3('0x15')](_0x14d839=>{const _0x342b03=parser(_0x14d839[a8_0x42f3('0x6')],{'configuration':{'camel-case-expansion':![],'dot-notation':!![]}});const _0x38daf0=(0x0,serializer_overrides_1[a8_0x42f3('0x1')])(_0x342b03);if(_0x342b03['_'][a8_0x42f3('0x4')]==0x0){delete _0x342b03['_'];}return{'id':_0x14d839[a8_0x42f3('0x14')],'target':{'project':_0x14d839['projectName'],'target':_0x14d839[a8_0x42f3('0xb')],'configuration':_0x14d839[a8_0x42f3('0x7')]},'overrides':Object[a8_0x42f3('0x19')](Object['assign']({},_0x342b03),{'__overrides_unparsed__':_0x38daf0})};});process[a8_0x42f3('0xa')][a8_0x42f3('0x1b')]='true';process[a8_0x42f3('0xa')][a8_0x42f3('0xf')]=_0x421f09;process['env'][a8_0x42f3('0x9')]='true';process[a8_0x42f3('0xa')][a8_0x42f3('0x17')]='true';const _0xfaed3b=yield _0x1959ec[a8_0x42f3('0xe')]({'tasks':_0x56f3e9,'parallel':_0x2739e3});const _0xc9567c=Object[a8_0x42f3('0x18')](_0xfaed3b['taskGraph'][a8_0x42f3('0x12')]);return{'completedTasks':_0xc9567c[a8_0x42f3('0x15')](_0x579838=>({'taskId':_0x579838['id'],'hash':_0x579838['hash']})),'completedStatusCode':_0xfaed3b[a8_0x42f3('0x8')]};});});}exports[a8_0x42f3('0x3')]=invokeTasksUsingNxImperativeApi;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.invokeTasksUsingNxImperativeApi = void 0;
13
+ const { initTasksRunner } = require('../../../utilities/nx-imports');
14
+ const parser = require("yargs-parser");
15
+ const serializer_overrides_1 = require("../../../utilities/serializer-overrides");
16
+ function invokeTasksUsingNxImperativeApi(options) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ const tasksRunner = yield initTasksRunner(options);
19
+ return (executionId, tasksToExecute, parallel) => __awaiter(this, void 0, void 0, function* () {
20
+ const tasks = tasksToExecute.map((t) => {
21
+ const params = parser(t.params, {
22
+ configuration: {
23
+ 'camel-case-expansion': false,
24
+ 'dot-notation': true,
25
+ },
26
+ });
27
+ const unparsed = (0, serializer_overrides_1.unparse)(params);
28
+ if (params._.length == 0) {
29
+ delete params._;
30
+ }
31
+ return {
32
+ id: t.taskId,
33
+ target: {
34
+ project: t.projectName,
35
+ target: t.target,
36
+ configuration: t.configuration,
37
+ },
38
+ overrides: Object.assign(Object.assign({}, params), { __overrides_unparsed__: unparsed }),
39
+ };
40
+ });
41
+ process.env.NX_CACHE_FAILURES = 'true'; // this is only requires because of how we do uploads
42
+ process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_ID = executionId;
43
+ process.env.NX_STREAM_OUTPUT = 'true';
44
+ process.env.NX_PREFIX_OUTPUT = 'true';
45
+ const r = yield tasksRunner.invoke({ tasks, parallel });
46
+ const completedTasks = Object.values(r.taskGraph.tasks);
47
+ return {
48
+ completedTasks: completedTasks.map((t) => ({
49
+ taskId: t.id,
50
+ hash: t.hash,
51
+ })),
52
+ completedStatusCode: r.status,
53
+ };
54
+ });
55
+ });
56
+ }
57
+ exports.invokeTasksUsingNxImperativeApi = invokeTasksUsingNxImperativeApi;
58
+ //# sourceMappingURL=invoke-tasks-using-nx-imperative-api.js.map
@@ -1 +1,97 @@
1
- const a9_0x2a59=['../../../utilities/nx-imports','assign','value','length','npx\x20nx\x20run-many\x20--target=','defineProperty','unlinkSync','--configuration=','then','\x20--projects=','next','__esModule','toString','true','VERBOSE_LOGGING','Command\x20execution\x20failed\x20(distributed\x20task\x20execution:\x20','done','__awaiter','/tasks-hashes-','invokeTasksUsingRunMany','child_process','getNxCacheDirectory','params','readFileSync','DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE','configuration','forEach','ignore','env','join','note','push','target','projects','parse','status',').\x20Tasks\x20hashes\x20haven\x27t\x20been\x20recorded.'];(function(_0x15ea65,_0x2a5984){const _0xf3fdc6=function(_0x1ab57a){while(--_0x1ab57a){_0x15ea65['push'](_0x15ea65['shift']());}};_0xf3fdc6(++_0x2a5984);}(a9_0x2a59,0xc0));const a9_0xf3fd=function(_0x15ea65,_0x2a5984){_0x15ea65=_0x15ea65-0x0;let _0xf3fdc6=a9_0x2a59[_0x15ea65];return _0xf3fdc6;};'use strict';var __awaiter=this&&this[a9_0xf3fd('0xa')]||function(_0x14091f,_0x1b7186,_0x297feb,_0x5dbeae){function _0x40198f(_0x5b6399){return _0x5b6399 instanceof _0x297feb?_0x5b6399:new _0x297feb(function(_0x5bd525){_0x5bd525(_0x5b6399);});}return new(_0x297feb||(_0x297feb=Promise))(function(_0x4b6f0d,_0x30a85b){function _0x539b2b(_0x53fd76){try{_0xb8e2d3(_0x5dbeae['next'](_0x53fd76));}catch(_0x5069f0){_0x30a85b(_0x5069f0);}}function _0x4270d4(_0x55b412){try{_0xb8e2d3(_0x5dbeae['throw'](_0x55b412));}catch(_0x4d5d71){_0x30a85b(_0x4d5d71);}}function _0xb8e2d3(_0x2144f4){_0x2144f4[a9_0xf3fd('0x9')]?_0x4b6f0d(_0x2144f4[a9_0xf3fd('0x20')]):_0x40198f(_0x2144f4[a9_0xf3fd('0x20')])[a9_0xf3fd('0x1')](_0x539b2b,_0x4270d4);}_0xb8e2d3((_0x5dbeae=_0x5dbeae['apply'](_0x14091f,_0x1b7186||[]))[a9_0xf3fd('0x3')]());});};Object[a9_0xf3fd('0x23')](exports,a9_0xf3fd('0x4'),{'value':!![]});exports[a9_0xf3fd('0xc')]=void 0x0;const environment_1=require('../../../utilities/environment');const child_process_1=require(a9_0xf3fd('0xd'));const fs_1=require('fs');const {output}=require(a9_0xf3fd('0x1e'));function invokeTasksUsingRunMany(_0x39a7e6){return __awaiter(this,void 0x0,void 0x0,function*(){const _0x6f2d94=completedTasksReader(_0x39a7e6);return function _0x58bb5c(_0x58cb90,_0x42026,_0x10bf14){return __awaiter(this,void 0x0,void 0x0,function*(){let _0x41b312=0x0;const _0x5d15ba=[];for(const _0x4b4e53 of groupByTarget(_0x42026)){const _0x24b0a5=_0x4b4e53[a9_0xf3fd('0x12')]?a9_0xf3fd('0x0')+_0x4b4e53[a9_0xf3fd('0x12')]:'';const _0x173349=_0x10bf14>0x1?'\x20--parallel\x20--max-parallel='+_0x10bf14:'';const _0x445a16=a9_0xf3fd('0x22')+_0x4b4e53[a9_0xf3fd('0x19')]+'\x20'+_0x24b0a5+a9_0xf3fd('0x2')+_0x4b4e53[a9_0xf3fd('0x1a')][a9_0xf3fd('0x16')](',')+'\x20'+_0x4b4e53[a9_0xf3fd('0xf')]+_0x173349;if(environment_1[a9_0xf3fd('0x7')]){output[a9_0xf3fd('0x17')]({'title':'Executing:\x20\x27'+_0x445a16+'\x27'});}try{(0x0,child_process_1['execSync'])(_0x445a16,{'stdio':[a9_0xf3fd('0x14'),'inherit','inherit'],'env':Object['assign'](Object[a9_0xf3fd('0x1f')]({},process[a9_0xf3fd('0x15')]),{'NX_CACHE_FAILURES':a9_0xf3fd('0x6'),'NX_CLOUD_DISTRIBUTED_EXECUTION_ID':_0x58cb90,'NX_STREAM_OUTPUT':'true','NX_PREFIX_OUTPUT':'true'})});_0x5d15ba['push'](..._0x6f2d94(_0x58cb90));}catch(_0x201d09){if(_0x201d09[a9_0xf3fd('0x1c')]===environment_1[a9_0xf3fd('0x11')]){throw _0x201d09;}else{_0x41b312=0x1;_0x5d15ba[a9_0xf3fd('0x18')](..._0x6f2d94(_0x58cb90));}}}return{'completedStatusCode':_0x41b312,'completedTasks':_0x5d15ba};});};});}exports[a9_0xf3fd('0xc')]=invokeTasksUsingRunMany;function groupByTarget(_0x37585d){const _0x8d61ce=[];_0x37585d[a9_0xf3fd('0x13')](_0x23a6fb=>{const _0x28d127=_0x8d61ce['find'](_0x481098=>_0x481098['target']===_0x23a6fb[a9_0xf3fd('0x19')]&&_0x481098[a9_0xf3fd('0x12')]===_0x23a6fb[a9_0xf3fd('0x12')]);if(_0x28d127){_0x28d127[a9_0xf3fd('0x1a')][a9_0xf3fd('0x18')](_0x23a6fb['projectName']);}else{_0x8d61ce[a9_0xf3fd('0x18')]({'target':_0x23a6fb[a9_0xf3fd('0x19')],'projects':[_0x23a6fb['projectName']],'params':_0x23a6fb[a9_0xf3fd('0xf')],'configuration':_0x23a6fb['configuration']});}});return _0x8d61ce;}function completedTasksReader(_0x329945){const _0x3f7127=(0x0,environment_1[a9_0xf3fd('0xe')])(_0x329945);return _0x554930=>{const _0x2d94fb=a9_0xf3fd('0x8')+_0x554930+a9_0xf3fd('0x1d');let _0x8d5482;try{const _0x280dae=_0x3f7127+a9_0xf3fd('0xb')+_0x554930;_0x8d5482=JSON[a9_0xf3fd('0x1b')]((0x0,fs_1[a9_0xf3fd('0x10')])(_0x280dae)[a9_0xf3fd('0x5')]());(0x0,fs_1[a9_0xf3fd('0x24')])(_0x280dae);}catch(_0x112847){throw new Error(_0x2d94fb);}if(_0x8d5482[a9_0xf3fd('0x21')]==0x0){throw new Error(_0x2d94fb);}return _0x8d5482;};}
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.invokeTasksUsingRunMany = void 0;
13
+ const environment_1 = require("../../../utilities/environment");
14
+ const child_process_1 = require("child_process");
15
+ const fs_1 = require("fs");
16
+ const { output } = require('../../../utilities/nx-imports');
17
+ function invokeTasksUsingRunMany(options) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const readCompleted = completedTasksReader(options);
20
+ return function invokeTasksUsingRunMany(executionId, tasksToExecute, parallel) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ let completedStatusCode = 0;
23
+ const completedTasks = [];
24
+ for (const g of groupByTarget(tasksToExecute)) {
25
+ const config = g.configuration
26
+ ? `--configuration=${g.configuration}`
27
+ : ``;
28
+ const parallelStr = parallel > 1 ? ` --parallel --max-parallel=${parallel}` : ``;
29
+ // TODO use pnpx or yarn when needed
30
+ const command = `npx nx run-many --target=${g.target} ${config} --projects=${g.projects.join(',')} ${g.params}${parallelStr}`;
31
+ if (environment_1.VERBOSE_LOGGING) {
32
+ output.note({
33
+ title: `Executing: '${command}'`,
34
+ });
35
+ }
36
+ try {
37
+ (0, child_process_1.execSync)(command, {
38
+ stdio: ['ignore', 'inherit', 'inherit'],
39
+ env: Object.assign(Object.assign({}, process.env), { NX_CACHE_FAILURES: 'true', NX_CLOUD_DISTRIBUTED_EXECUTION_ID: executionId, NX_STREAM_OUTPUT: 'true', NX_PREFIX_OUTPUT: 'true' }),
40
+ });
41
+ completedTasks.push(...readCompleted(executionId));
42
+ }
43
+ catch (e) {
44
+ if (e.status === environment_1.DISTRIBUTED_TASK_EXECUTION_INTERNAL_ERROR_STATUS_CODE) {
45
+ throw e;
46
+ }
47
+ else {
48
+ completedStatusCode = 1;
49
+ completedTasks.push(...readCompleted(executionId));
50
+ }
51
+ }
52
+ }
53
+ return { completedStatusCode, completedTasks };
54
+ });
55
+ };
56
+ });
57
+ }
58
+ exports.invokeTasksUsingRunMany = invokeTasksUsingRunMany;
59
+ function groupByTarget(tasks) {
60
+ const res = [];
61
+ tasks.forEach((t) => {
62
+ const r = res.find((rr) => rr.target === t.target && rr.configuration === t.configuration);
63
+ if (r) {
64
+ r.projects.push(t.projectName);
65
+ }
66
+ else {
67
+ res.push({
68
+ target: t.target,
69
+ projects: [t.projectName],
70
+ params: t.params,
71
+ configuration: t.configuration,
72
+ });
73
+ }
74
+ });
75
+ return res;
76
+ }
77
+ function completedTasksReader(options) {
78
+ const cacheDirectory = (0, environment_1.getNxCacheDirectory)(options);
79
+ return (distributedExecutionId) => {
80
+ const errorMessage = `Command execution failed (distributed task execution: ${distributedExecutionId}). Tasks hashes haven\'t been recorded.`;
81
+ let completedTasks;
82
+ try {
83
+ const taskHashesFile = `${cacheDirectory}/tasks-hashes-${distributedExecutionId}`;
84
+ completedTasks = JSON.parse((0, fs_1.readFileSync)(taskHashesFile).toString());
85
+ // remove it such that if the next command crashes we don't read an obsolete file
86
+ (0, fs_1.unlinkSync)(taskHashesFile);
87
+ }
88
+ catch (e) {
89
+ throw new Error(errorMessage);
90
+ }
91
+ if (completedTasks.length == 0) {
92
+ throw new Error(errorMessage);
93
+ }
94
+ return completedTasks;
95
+ };
96
+ }
97
+ //# sourceMappingURL=invoke-tasks-using-run-many.js.map
@@ -5,6 +5,6 @@ export declare class DistributedExecutionApi {
5
5
  constructor(options: CloudTaskRunnerOptions);
6
6
  start(params: any): Promise<string>;
7
7
  status(id: string): Promise<any>;
8
- completeRunGroupWithError(branch: string | null, runGroup: string, ciExecutionId: string | null, ciExecutionEnv: string, error: string): Promise<void>;
8
+ completeRunGroupWithError(branch: string | null, runGroup: string | null, ciExecutionId: string | null, ciExecutionEnv: string, error: string | null): Promise<void>;
9
9
  }
10
10
  export declare function createStartRequest(branch: string | null, runGroup: string, ciExecutionId: string | null, ciExecutionEnv: string, task: Task[][], options: CloudTaskRunnerOptions): any;
@@ -1 +1,152 @@
1
- const a10_0x1458=['__esModule','Completing\x20with\x20an\x20error','target','response','../../../utilities/metric-logger','axiosException','axiosMultipleTries','/nx-cloud/executions/start','error:\x20','mapRespToPerfEntry','Workspace\x20is\x20disabled.\x20Cannot\x20perform\x20distributed\x20task\x20executions.','false','stopAgentsOnFailure','message','Starting\x20a\x20distributed\x20execution','defineProperty','createStartRequest','recordMetric','agentCount','ciExecutionId:\x20','runGroup:\x20','start','NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT','project','value','true','DistributedExecutionApi','../../../utilities/axios','dteStatus','ciExecutionEnv:\x20','note','status','completeRunGroupWithError','maxParallel','stringify','parallel','../../../utilities/nx-imports','NX_CLOUD_DISTRIBUTED_EXECUTION_STOP_AGENTS_ON_FAILURE','apiAxiosInstance','apply','createMetricRecorder','configuration','enabled','map','completeRunGroup','data','done','createApiAxiosInstance','/nx-cloud/executions/status','post','error','exit','RUNNER_FAILURE_PERF_ENTRY','hash','VERBOSE_LOGGING','serializeOverrides'];(function(_0x549a69,_0x145842){const _0x190abb=function(_0x4d369d){while(--_0x4d369d){_0x549a69['push'](_0x549a69['shift']());}};_0x190abb(++_0x145842);}(a10_0x1458,0x1c7));const a10_0x190a=function(_0x549a69,_0x145842){_0x549a69=_0x549a69-0x0;let _0x190abb=a10_0x1458[_0x549a69];return _0x190abb;};'use strict';var __awaiter=this&&this['__awaiter']||function(_0x344caa,_0x17f272,_0x19459b,_0xce14ca){function _0x1b89c2(_0x2a5fbd){return _0x2a5fbd instanceof _0x19459b?_0x2a5fbd:new _0x19459b(function(_0x4b4083){_0x4b4083(_0x2a5fbd);});}return new(_0x19459b||(_0x19459b=Promise))(function(_0x5b24ea,_0x4fce03){function _0x69692b(_0x392f31){try{_0x145a8e(_0xce14ca['next'](_0x392f31));}catch(_0x58cbd2){_0x4fce03(_0x58cbd2);}}function _0x5a2eed(_0x37a8cf){try{_0x145a8e(_0xce14ca['throw'](_0x37a8cf));}catch(_0x381b03){_0x4fce03(_0x381b03);}}function _0x145a8e(_0x241d50){_0x241d50[a10_0x190a('0x27')]?_0x5b24ea(_0x241d50[a10_0x190a('0x11')]):_0x1b89c2(_0x241d50[a10_0x190a('0x11')])['then'](_0x69692b,_0x5a2eed);}_0x145a8e((_0xce14ca=_0xce14ca[a10_0x190a('0x20')](_0x344caa,_0x17f272||[]))['next']());});};Object[a10_0x190a('0x8')](exports,a10_0x190a('0x31'),{'value':!![]});exports[a10_0x190a('0x9')]=exports['DistributedExecutionApi']=void 0x0;const axios_1=require(a10_0x190a('0x14'));const environment_1=require('../../../utilities/environment');const metric_logger_1=require(a10_0x190a('0x35'));const serializer_overrides_1=require('../../../utilities/serializer-overrides');const {output}=require(a10_0x190a('0x1d'));class DistributedExecutionApi{constructor(_0x537713){this['apiAxiosInstance']=(0x0,axios_1[a10_0x190a('0x28')])(_0x537713);}[a10_0x190a('0xe')](_0x354b14){var _0x4d6142;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x126bda=(0x0,metric_logger_1[a10_0x190a('0x21')])('dteStart');let _0x443c11;if(environment_1[a10_0x190a('0x2f')]){output[a10_0x190a('0x17')]({'title':a10_0x190a('0x7'),'bodyLines':[JSON[a10_0x190a('0x1b')](_0x354b14,null,0x2)]});}try{_0x443c11=yield(0x0,axios_1[a10_0x190a('0x37')])(()=>this[a10_0x190a('0x1f')]['post'](a10_0x190a('0x0'),_0x354b14));_0x126bda[a10_0x190a('0xa')]((0x0,metric_logger_1[a10_0x190a('0x2')])(_0x443c11));}catch(_0x57c83f){_0x126bda[a10_0x190a('0xa')](((_0x4d6142=_0x57c83f===null||_0x57c83f===void 0x0?void 0x0:_0x57c83f[a10_0x190a('0x36')])===null||_0x4d6142===void 0x0?void 0x0:_0x4d6142[a10_0x190a('0x34')])?(0x0,metric_logger_1['mapRespToPerfEntry'])(_0x57c83f[a10_0x190a('0x36')][a10_0x190a('0x34')]):metric_logger_1[a10_0x190a('0x2d')]);throw _0x57c83f;}if(!_0x443c11[a10_0x190a('0x26')][a10_0x190a('0x23')]){throw new Error(a10_0x190a('0x3'));}if(_0x443c11[a10_0x190a('0x26')][a10_0x190a('0x2b')]){throw new Error(_0x443c11[a10_0x190a('0x26')][a10_0x190a('0x2b')]);}return _0x443c11[a10_0x190a('0x26')]['id'];});}[a10_0x190a('0x18')](_0x1a97f7){var _0x2a76ef;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x41f8af=(0x0,metric_logger_1[a10_0x190a('0x21')])(a10_0x190a('0x15'));try{const _0x26e398=yield(0x0,axios_1['axiosMultipleTries'])(()=>this['apiAxiosInstance'][a10_0x190a('0x2a')](a10_0x190a('0x29'),{'id':_0x1a97f7}));_0x41f8af[a10_0x190a('0xa')]((0x0,metric_logger_1[a10_0x190a('0x2')])(_0x26e398));return _0x26e398[a10_0x190a('0x26')];}catch(_0x1323b8){_0x41f8af[a10_0x190a('0xa')](((_0x2a76ef=_0x1323b8===null||_0x1323b8===void 0x0?void 0x0:_0x1323b8['axiosException'])===null||_0x2a76ef===void 0x0?void 0x0:_0x2a76ef['response'])?(0x0,metric_logger_1[a10_0x190a('0x2')])(_0x1323b8['axiosException']['response']):metric_logger_1['RUNNER_FAILURE_PERF_ENTRY']);output[a10_0x190a('0x2b')]({'title':_0x1323b8[a10_0x190a('0x6')]});process[a10_0x190a('0x2c')](0x1);}});}[a10_0x190a('0x19')](_0x5b5eec,_0x3f2ca5,_0x8a78b3,_0x290300,_0x43d941){var _0x53740d;return __awaiter(this,void 0x0,void 0x0,function*(){const _0x1e304a=(0x0,metric_logger_1[a10_0x190a('0x21')])(a10_0x190a('0x25'));if(environment_1['VERBOSE_LOGGING']){output[a10_0x190a('0x17')]({'title':a10_0x190a('0x32'),'bodyLines':[a10_0x190a('0xc')+_0x8a78b3,a10_0x190a('0x16')+_0x290300,a10_0x190a('0xd')+_0x3f2ca5,a10_0x190a('0x1')+_0x43d941]});}try{const _0x168234=yield(0x0,axios_1[a10_0x190a('0x37')])(()=>this[a10_0x190a('0x1f')][a10_0x190a('0x2a')]('/nx-cloud/executions/complete-run-group',{'runGroup':_0x3f2ca5,'ciExecutionId':_0x8a78b3,'ciExecutionEnv':_0x290300,'criticalErrorMessage':_0x43d941}),0x3);_0x1e304a[a10_0x190a('0xa')]((0x0,metric_logger_1['mapRespToPerfEntry'])(_0x168234));}catch(_0x506f0){_0x1e304a[a10_0x190a('0xa')](((_0x53740d=_0x506f0===null||_0x506f0===void 0x0?void 0x0:_0x506f0['axiosException'])===null||_0x53740d===void 0x0?void 0x0:_0x53740d[a10_0x190a('0x34')])?(0x0,metric_logger_1[a10_0x190a('0x2')])(_0x506f0[a10_0x190a('0x36')][a10_0x190a('0x34')]):metric_logger_1[a10_0x190a('0x2d')]);}});}}exports[a10_0x190a('0x13')]=DistributedExecutionApi;function createStartRequest(_0x41087c,_0x5c549e,_0x467ef8,_0x5ad565,_0x2b5745,_0x5d802b){const _0x2c34b4=_0x2b5745[a10_0x190a('0x24')](_0x5df308=>{return _0x5df308['map'](_0x3fcd49=>{return{'taskId':_0x3fcd49['id'],'hash':_0x3fcd49[a10_0x190a('0x2e')],'projectName':_0x3fcd49[a10_0x190a('0x33')][a10_0x190a('0x10')],'target':_0x3fcd49['target']['target'],'configuration':_0x3fcd49[a10_0x190a('0x33')][a10_0x190a('0x22')]||null,'params':(0x0,serializer_overrides_1[a10_0x190a('0x30')])(_0x3fcd49)};});});const _0x3d830b={'command':(0x0,environment_1['parseCommand'])(),'branch':_0x41087c,'runGroup':_0x5c549e,'ciExecutionId':_0x467ef8,'ciExecutionEnv':_0x5ad565,'tasks':_0x2c34b4,'maxParallel':calculateMaxParallel(_0x5d802b)};if(environment_1[a10_0x190a('0xf')]){_0x3d830b[a10_0x190a('0xb')]=environment_1[a10_0x190a('0xf')];}if(!environment_1[a10_0x190a('0x1e')]){_0x3d830b[a10_0x190a('0x5')]=![];}return _0x3d830b;}exports['createStartRequest']=createStartRequest;function calculateMaxParallel(_0x1c7679){if(_0x1c7679[a10_0x190a('0x1c')]===a10_0x190a('0x4')||_0x1c7679[a10_0x190a('0x1c')]===![]){return 0x1;}else if(_0x1c7679['parallel']===a10_0x190a('0x12')||_0x1c7679['parallel']===!![]){return Number(_0x1c7679[a10_0x190a('0x1a')]||0x3);}else if(_0x1c7679[a10_0x190a('0x1c')]===undefined){return _0x1c7679[a10_0x190a('0x1a')]?Number(_0x1c7679[a10_0x190a('0x1a')]):0x3;}else{return Number(_0x1c7679[a10_0x190a('0x1c')])||0x3;}}
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createStartRequest = exports.DistributedExecutionApi = void 0;
13
+ const axios_1 = require("../../../utilities/axios");
14
+ const environment_1 = require("../../../utilities/environment");
15
+ const metric_logger_1 = require("../../../utilities/metric-logger");
16
+ const serializer_overrides_1 = require("../../../utilities/serializer-overrides");
17
+ const { output } = require('../../../utilities/nx-imports');
18
+ class DistributedExecutionApi {
19
+ constructor(options) {
20
+ this.apiAxiosInstance = (0, axios_1.createApiAxiosInstance)(options);
21
+ }
22
+ start(params) {
23
+ var _a;
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const recorder = (0, metric_logger_1.createMetricRecorder)('dteStart');
26
+ let resp;
27
+ if (environment_1.VERBOSE_LOGGING) {
28
+ output.note({
29
+ title: 'Starting a distributed execution',
30
+ bodyLines: [JSON.stringify(params, null, 2)],
31
+ });
32
+ }
33
+ try {
34
+ resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/start', params));
35
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
36
+ }
37
+ catch (e) {
38
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
39
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
40
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
41
+ throw e;
42
+ }
43
+ if (!resp.data.enabled) {
44
+ throw new Error(`Workspace is disabled. Cannot perform distributed task executions.`);
45
+ }
46
+ if (resp.data.error) {
47
+ throw new Error(resp.data.error);
48
+ }
49
+ return resp.data.id;
50
+ });
51
+ }
52
+ status(id) {
53
+ var _a;
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const recorder = (0, metric_logger_1.createMetricRecorder)('dteStatus');
56
+ try {
57
+ const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/status', {
58
+ id,
59
+ }));
60
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
61
+ return resp.data;
62
+ }
63
+ catch (e) {
64
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
65
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
66
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
67
+ output.error({
68
+ title: e.message,
69
+ });
70
+ process.exit(1);
71
+ }
72
+ });
73
+ }
74
+ completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, error) {
75
+ var _a;
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const recorder = (0, metric_logger_1.createMetricRecorder)('completeRunGroup');
78
+ if (environment_1.VERBOSE_LOGGING) {
79
+ output.note({
80
+ title: 'Completing with an error',
81
+ bodyLines: [
82
+ `ciExecutionId: ${ciExecutionId}`,
83
+ `ciExecutionEnv: ${ciExecutionEnv}`,
84
+ `runGroup: ${runGroup}`,
85
+ `error: ${error}`,
86
+ ],
87
+ });
88
+ }
89
+ try {
90
+ const resp = yield (0, axios_1.axiosMultipleTries)(() => this.apiAxiosInstance.post('/nx-cloud/executions/complete-run-group', {
91
+ runGroup,
92
+ ciExecutionId,
93
+ ciExecutionEnv,
94
+ criticalErrorMessage: error,
95
+ }), 3);
96
+ recorder.recordMetric((0, metric_logger_1.mapRespToPerfEntry)(resp));
97
+ }
98
+ catch (e) {
99
+ recorder.recordMetric(((_a = e === null || e === void 0 ? void 0 : e.axiosException) === null || _a === void 0 ? void 0 : _a.response)
100
+ ? (0, metric_logger_1.mapRespToPerfEntry)(e.axiosException.response)
101
+ : metric_logger_1.RUNNER_FAILURE_PERF_ENTRY);
102
+ }
103
+ });
104
+ }
105
+ }
106
+ exports.DistributedExecutionApi = DistributedExecutionApi;
107
+ function createStartRequest(branch, runGroup, ciExecutionId, ciExecutionEnv, task, options) {
108
+ const tasksToExecute = task.map((arr) => {
109
+ return arr.map((t) => {
110
+ return {
111
+ taskId: t.id,
112
+ hash: t.hash,
113
+ projectName: t.target.project,
114
+ target: t.target.target,
115
+ configuration: t.target.configuration || null,
116
+ params: (0, serializer_overrides_1.serializeOverrides)(t),
117
+ };
118
+ });
119
+ });
120
+ const request = {
121
+ command: (0, environment_1.parseCommand)(),
122
+ branch,
123
+ runGroup,
124
+ ciExecutionId,
125
+ ciExecutionEnv,
126
+ tasks: tasksToExecute,
127
+ maxParallel: calculateMaxParallel(options),
128
+ };
129
+ if (environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT) {
130
+ request.agentCount = environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT;
131
+ }
132
+ if (!environment_1.NX_CLOUD_DISTRIBUTED_EXECUTION_STOP_AGENTS_ON_FAILURE) {
133
+ request.stopAgentsOnFailure = false;
134
+ }
135
+ return request;
136
+ }
137
+ exports.createStartRequest = createStartRequest;
138
+ function calculateMaxParallel(options) {
139
+ if (options.parallel === 'false' || options.parallel === false) {
140
+ return 1;
141
+ }
142
+ else if (options.parallel === 'true' || options.parallel === true) {
143
+ return Number(options.maxParallel || 3);
144
+ }
145
+ else if (options.parallel === undefined) {
146
+ return options.maxParallel ? Number(options.maxParallel) : 3;
147
+ }
148
+ else {
149
+ return Number(options.parallel) || 3;
150
+ }
151
+ }
152
+ //# sourceMappingURL=distributed-execution.api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distributed-execution.api.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/distributed-execution/distributed-execution.api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distributed-execution.api.js","sourceRoot":"","sources":["../../../../../../../../libs/nx-packages/nx-cloud/lib/core/runners/distributed-execution/distributed-execution.api.ts"],"names":[],"mappings":"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"}
@@ -1 +1,118 @@
1
- const a11_0x5408=['../../../utilities/environment','getBranch','projectGraph','defineProperty','./split-task-graph-into-stages','warn','apply','Unable\x20to\x20complete\x20a\x20run.','value','processTasks','exit','../../../utilities/dte-artifact-storage','done','See\x20run\x20details\x20at\x20','taskGraph','ErrorReporterApi','DteArtifactStorage','Successfully\x20completed\x20running\x20the\x20command.','DistributedExecutionApi','__awaiter','scheduleTask','SIGTERM','tasks','start','canDetectRunGroup','next','skipNxCache','../../file-storage/file-storage','SIGINT','Main\x20job\x20was\x20terminated\x20via\x20SIGINT','./process-tasks','runUrl','createStartRequest','Command\x20execution\x20failed.','ENCRYPTION_KEY','message','Main\x20job\x20terminated\x20with\x20an\x20error:\x20\x22','axiosException','../../error/print-run-group-error','getRunGroup','completeRunGroupWithError','E2EEncryption','nxCloudDistributedTasksRunner','splitTasksIntoStages','dte-main','commandStatus','lifeCycle','../../api/error-reporter.api','error','VERBOSE_LOGGING','encryptionKey','getNxCacheDirectory','note','then','../../../utilities/nx-imports','__esModule','getCIExecutionId','submitRunMetrics','log','success'];(function(_0x5f413b,_0x540898){const _0x51352f=function(_0x1977cc){while(--_0x1977cc){_0x5f413b['push'](_0x5f413b['shift']());}};_0x51352f(++_0x540898);}(a11_0x5408,0x1f4));const a11_0x5135=function(_0x5f413b,_0x540898){_0x5f413b=_0x5f413b-0x0;let _0x51352f=a11_0x5408[_0x5f413b];return _0x51352f;};'use strict';var __awaiter=this&&this[a11_0x5135('0x3b')]||function(_0x2f29c9,_0x536d3d,_0x3f5741,_0x16c305){function _0x33e4b8(_0x267b36){return _0x267b36 instanceof _0x3f5741?_0x267b36:new _0x3f5741(function(_0x63fdff){_0x63fdff(_0x267b36);});}return new(_0x3f5741||(_0x3f5741=Promise))(function(_0x269357,_0x4fb27b){function _0x50b832(_0x4edc23){try{_0x5775b6(_0x16c305['next'](_0x4edc23));}catch(_0x5a1d3a){_0x4fb27b(_0x5a1d3a);}}function _0x1ca838(_0x1cb1a2){try{_0x5775b6(_0x16c305['throw'](_0x1cb1a2));}catch(_0x9ab40b){_0x4fb27b(_0x9ab40b);}}function _0x5775b6(_0x707f82){_0x707f82[a11_0x5135('0x34')]?_0x269357(_0x707f82['value']):_0x33e4b8(_0x707f82[a11_0x5135('0x30')])[a11_0x5135('0x21')](_0x50b832,_0x1ca838);}_0x5775b6((_0x16c305=_0x16c305[a11_0x5135('0x2e')](_0x2f29c9,_0x536d3d||[]))[a11_0x5135('0x5')]());});};Object[a11_0x5135('0x2b')](exports,a11_0x5135('0x23'),{'value':!![]});exports['nxCloudDistributedTasksRunner']=void 0x0;const environment_1=require(a11_0x5135('0x28'));const metric_logger_1=require('../../../utilities/metric-logger');const error_reporter_api_1=require(a11_0x5135('0x1b'));const print_run_group_error_1=require(a11_0x5135('0x12'));const e2e_encryption_1=require('../../file-storage/e2e-encryption');const file_storage_1=require(a11_0x5135('0x7'));const distributed_execution_api_1=require('./distributed-execution.api');const split_task_graph_into_stages_1=require(a11_0x5135('0x2c'));const task_graph_creator_1=require('./task-graph-creator');const process_tasks_1=require(a11_0x5135('0xa'));const dte_artifact_storage_1=require(a11_0x5135('0x33'));const {output}=require(a11_0x5135('0x22'));class NoopLifeCycle{[a11_0x5135('0x0')](_0x4306d6){}['startTask'](_0x31693a){}['endTasks'](_0x48765c){}}const nxCloudDistributedTasksRunner=(_0x51d3c2,_0x34ff69,_0x1aaa2b)=>__awaiter(void 0x0,void 0x0,void 0x0,function*(){if(_0x34ff69[a11_0x5135('0x6')]){output[a11_0x5135('0x2d')]({'title':'--skip-nx-cache\x20is\x20ignored\x20when\x20using\x20distributed\x20tasks\x20execution\x20(DTE).','bodyLine':['DTE\x20needs\x20the\x20cache\x20to\x20share\x20files\x20between\x20agents.']});}if(environment_1[a11_0x5135('0x1d')]){output[a11_0x5135('0x20')]({'title':'Starting\x20distributed\x20command\x20execution'});}_0x34ff69[a11_0x5135('0x1a')]=new NoopLifeCycle();const _0x2a3b83=(0x0,environment_1[a11_0x5135('0x29')])();const _0x41d92a=(0x0,environment_1[a11_0x5135('0x13')])();const _0x22fb6f=(0x0,environment_1[a11_0x5135('0x24')])();const _0x11e103=(0x0,environment_1['getCIExecutionEnv'])();if(!(0x0,print_run_group_error_1[a11_0x5135('0x4')])(_0x41d92a,_0x22fb6f)){(0x0,print_run_group_error_1['printRunGroupError'])();process[a11_0x5135('0x32')](0x1);}const _0x4dc1d7=new e2e_encryption_1[(a11_0x5135('0x15'))](environment_1[a11_0x5135('0xe')]||_0x34ff69[a11_0x5135('0x1e')]);const _0x8501f1=new error_reporter_api_1[(a11_0x5135('0x37'))](_0x34ff69);const _0xe1f617=new dte_artifact_storage_1[(a11_0x5135('0x38'))](new file_storage_1['FileStorage'](_0x4dc1d7,_0x8501f1,_0x34ff69,a11_0x5135('0x18')),(0x0,environment_1[a11_0x5135('0x1f')])(_0x34ff69));const _0x261d00=new distributed_execution_api_1[(a11_0x5135('0x3a'))](_0x34ff69);attachSignalListenersToCompleteRunGroupOnError(_0x261d00,_0x2a3b83,_0x41d92a,_0x22fb6f,_0x11e103);try{const _0x5e7a2e=getTaskGraph(_0x1aaa2b,_0x51d3c2,_0x34ff69);const _0x47763b=yield runDistributedExecution(_0x261d00,_0x34ff69,_0xe1f617,_0x2a3b83,_0x41d92a,_0x22fb6f,_0x11e103,_0x5e7a2e);if(_0x47763b[a11_0x5135('0x19')]===0x0){output[a11_0x5135('0x27')]({'title':a11_0x5135('0x39'),'bodyLines':[a11_0x5135('0x35')+_0x47763b[a11_0x5135('0xb')]]});}else{output[a11_0x5135('0x1c')]({'title':a11_0x5135('0xd'),'bodyLines':[a11_0x5135('0x35')+_0x47763b[a11_0x5135('0xb')]]});}yield(0x0,metric_logger_1[a11_0x5135('0x25')])(_0x34ff69);process[a11_0x5135('0x32')](_0x47763b[a11_0x5135('0x19')]);}catch(_0x41f90a){output['error']({'title':a11_0x5135('0x2f'),'bodyLines':[_0x41f90a['message']]});if(_0x41f90a['axiosException']){console['log'](_0x41f90a[a11_0x5135('0x11')]);}else{console[a11_0x5135('0x26')](_0x41f90a);}try{yield _0x261d00[a11_0x5135('0x14')](_0x2a3b83,_0x41d92a,_0x22fb6f,_0x11e103,a11_0x5135('0x10')+_0x41f90a[a11_0x5135('0xf')]+'\x22');}finally{process['exit'](0x1);}}});exports[a11_0x5135('0x16')]=nxCloudDistributedTasksRunner;function getTaskGraph(_0x355420,_0x10ef7e,_0x3d4101){if(_0x355420[a11_0x5135('0x36')]){return _0x355420[a11_0x5135('0x36')];}else{return(0x0,task_graph_creator_1['createTaskGraphCompat'])(_0x3d4101,_0x355420[a11_0x5135('0x2a')],_0x10ef7e);}}function attachSignalListenersToCompleteRunGroupOnError(_0x7123cc,_0x157219,_0x427b25,_0x2df856,_0x5def8e){process['on'](a11_0x5135('0x8'),()=>__awaiter(this,void 0x0,void 0x0,function*(){yield _0x7123cc['completeRunGroupWithError'](_0x157219,_0x427b25,_0x2df856,_0x5def8e,a11_0x5135('0x9'));process['exit'](0x1);}));process['on'](a11_0x5135('0x1'),()=>__awaiter(this,void 0x0,void 0x0,function*(){yield _0x7123cc[a11_0x5135('0x14')](_0x157219,_0x427b25,_0x2df856,_0x5def8e,'Main\x20job\x20was\x20terminated\x20via\x20SIGTERM');process[a11_0x5135('0x32')](0x1);}));}function runDistributedExecution(_0x1fd829,_0x2949ea,_0x4a38b7,_0x199f4b,_0x3f5448,_0x2d0cc9,_0x306e3b,_0x44cb5){return __awaiter(this,void 0x0,void 0x0,function*(){const _0x52432b=yield _0x1fd829[a11_0x5135('0x3')]((0x0,distributed_execution_api_1[a11_0x5135('0xc')])(_0x199f4b,_0x3f5448,_0x2d0cc9,_0x306e3b,(0x0,split_task_graph_into_stages_1[a11_0x5135('0x17')])(_0x44cb5),_0x2949ea));return yield(0x0,process_tasks_1[a11_0x5135('0x31')])(_0x1fd829,_0x4a38b7,_0x52432b,Object['values'](_0x44cb5[a11_0x5135('0x2')]));});}
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.nxCloudDistributedTasksRunner = void 0;
13
+ const environment_1 = require("../../../utilities/environment");
14
+ const metric_logger_1 = require("../../../utilities/metric-logger");
15
+ const error_reporter_api_1 = require("../../api/error-reporter.api");
16
+ const print_run_group_error_1 = require("../../error/print-run-group-error");
17
+ const e2e_encryption_1 = require("../../file-storage/e2e-encryption");
18
+ const file_storage_1 = require("../../file-storage/file-storage");
19
+ const distributed_execution_api_1 = require("./distributed-execution.api");
20
+ const split_task_graph_into_stages_1 = require("./split-task-graph-into-stages");
21
+ const task_graph_creator_1 = require("./task-graph-creator");
22
+ const process_tasks_1 = require("./process-tasks");
23
+ const dte_artifact_storage_1 = require("../../../utilities/dte-artifact-storage");
24
+ const { output } = require('../../../utilities/nx-imports');
25
+ class NoopLifeCycle {
26
+ scheduleTask(task) { }
27
+ startTask(task) { }
28
+ endTasks(tasks) { }
29
+ }
30
+ const nxCloudDistributedTasksRunner = (tasks, options, context) => __awaiter(void 0, void 0, void 0, function* () {
31
+ if (options.skipNxCache) {
32
+ output.warn({
33
+ title: `--skip-nx-cache is ignored when using distributed tasks execution (DTE).`,
34
+ bodyLine: [`DTE needs the cache to share files between agents.`],
35
+ });
36
+ }
37
+ if (environment_1.VERBOSE_LOGGING) {
38
+ output.note({
39
+ title: 'Starting distributed command execution',
40
+ });
41
+ }
42
+ options.lifeCycle = new NoopLifeCycle();
43
+ const branch = (0, environment_1.getBranch)();
44
+ const runGroup = (0, environment_1.getRunGroup)();
45
+ const ciExecutionId = (0, environment_1.getCIExecutionId)();
46
+ const ciExecutionEnv = (0, environment_1.getCIExecutionEnv)();
47
+ if (!(0, print_run_group_error_1.canDetectRunGroup)(runGroup, ciExecutionId)) {
48
+ (0, print_run_group_error_1.printRunGroupError)();
49
+ process.exit(1);
50
+ }
51
+ const encryption = new e2e_encryption_1.E2EEncryption(environment_1.ENCRYPTION_KEY || options.encryptionKey);
52
+ const errorReporter = new error_reporter_api_1.ErrorReporterApi(options);
53
+ const dteArtifactStorage = new dte_artifact_storage_1.DteArtifactStorage(new file_storage_1.FileStorage(encryption, errorReporter, options, 'dte-main'), (0, environment_1.getNxCacheDirectory)(options));
54
+ const api = new distributed_execution_api_1.DistributedExecutionApi(options);
55
+ attachSignalListenersToCompleteRunGroupOnError(api, branch, runGroup, ciExecutionId, ciExecutionEnv);
56
+ try {
57
+ const taskGraph = getTaskGraph(context, tasks, options);
58
+ const r = yield runDistributedExecution(api, options, dteArtifactStorage, branch, runGroup, ciExecutionId, ciExecutionEnv, taskGraph);
59
+ if (r.commandStatus === 0) {
60
+ output.success({
61
+ title: 'Successfully completed running the command.',
62
+ bodyLines: [`See run details at ${r.runUrl}`],
63
+ });
64
+ }
65
+ else {
66
+ output.error({
67
+ title: 'Command execution failed.',
68
+ bodyLines: [`See run details at ${r.runUrl}`],
69
+ });
70
+ }
71
+ yield (0, metric_logger_1.submitRunMetrics)(options);
72
+ process.exit(r.commandStatus);
73
+ }
74
+ catch (e) {
75
+ output.error({
76
+ title: 'Unable to complete a run.',
77
+ bodyLines: [e.message],
78
+ });
79
+ if (e.axiosException) {
80
+ console.log(e.axiosException);
81
+ }
82
+ else {
83
+ console.log(e);
84
+ }
85
+ try {
86
+ yield api.completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, `Main job terminated with an error: "${e.message}"`);
87
+ }
88
+ finally {
89
+ process.exit(1);
90
+ }
91
+ }
92
+ });
93
+ exports.nxCloudDistributedTasksRunner = nxCloudDistributedTasksRunner;
94
+ function getTaskGraph(context, tasks, options) {
95
+ if (context.taskGraph) {
96
+ return context.taskGraph;
97
+ }
98
+ else {
99
+ return (0, task_graph_creator_1.createTaskGraphCompat)(options, context.projectGraph, tasks);
100
+ }
101
+ }
102
+ function attachSignalListenersToCompleteRunGroupOnError(api, branch, runGroup, ciExecutionId, ciExecutionEnv) {
103
+ process.on('SIGINT', () => __awaiter(this, void 0, void 0, function* () {
104
+ yield api.completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, 'Main job was terminated via SIGINT');
105
+ process.exit(1);
106
+ }));
107
+ process.on('SIGTERM', () => __awaiter(this, void 0, void 0, function* () {
108
+ yield api.completeRunGroupWithError(branch, runGroup, ciExecutionId, ciExecutionEnv, 'Main job was terminated via SIGTERM');
109
+ process.exit(1);
110
+ }));
111
+ }
112
+ function runDistributedExecution(api, options, dteArtifactStorage, branch, runGroup, ciExecutionId, ciExecutionEnv, taskGraph) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ const id = yield api.start((0, distributed_execution_api_1.createStartRequest)(branch, runGroup, ciExecutionId, ciExecutionEnv, (0, split_task_graph_into_stages_1.splitTasksIntoStages)(taskGraph), options));
115
+ return yield (0, process_tasks_1.processTasks)(api, dteArtifactStorage, id, Object.values(taskGraph.tasks));
116
+ });
117
+ }
118
+ //# sourceMappingURL=distributed-execution.runner.js.map
@@ -1 +1,45 @@
1
- const a12_0x4c54=['done','hash','addVerticalSeparator','retrieveAndExtract','__esModule','then','taskId','processTask','../../../utilities/environment','note','../../../utilities/serializer-overrides','__awaiter','value','configuration','target','write','find','VERBOSE_LOGGING','project','join','defineProperty','stdout','next','Processing\x20task\x20','logCommand','Found\x20unknown\x20task:\x20'];(function(_0x2dc14b,_0x4c54d9){const _0x4bb584=function(_0x1b9acf){while(--_0x1b9acf){_0x2dc14b['push'](_0x2dc14b['shift']());}};_0x4bb584(++_0x4c54d9);}(a12_0x4c54,0x124));const a12_0x4bb5=function(_0x2dc14b,_0x4c54d9){_0x2dc14b=_0x2dc14b-0x0;let _0x4bb584=a12_0x4c54[_0x2dc14b];return _0x4bb584;};'use strict';var __awaiter=this&&this[a12_0x4bb5('0x5')]||function(_0x382951,_0x3730ab,_0x33f3b4,_0xb03193){function _0x2b1231(_0x38c6f5){return _0x38c6f5 instanceof _0x33f3b4?_0x38c6f5:new _0x33f3b4(function(_0x2b954a){_0x2b954a(_0x38c6f5);});}return new(_0x33f3b4||(_0x33f3b4=Promise))(function(_0x2361e2,_0x478eee){function _0x570069(_0x3f52f0){try{_0x26d885(_0xb03193[a12_0x4bb5('0x10')](_0x3f52f0));}catch(_0x2de8cd){_0x478eee(_0x2de8cd);}}function _0x31fab9(_0x57ab61){try{_0x26d885(_0xb03193['throw'](_0x57ab61));}catch(_0x2725f0){_0x478eee(_0x2725f0);}}function _0x26d885(_0x435f29){_0x435f29[a12_0x4bb5('0x14')]?_0x2361e2(_0x435f29[a12_0x4bb5('0x6')]):_0x2b1231(_0x435f29[a12_0x4bb5('0x6')])[a12_0x4bb5('0x19')](_0x570069,_0x31fab9);}_0x26d885((_0xb03193=_0xb03193['apply'](_0x382951,_0x3730ab||[]))['next']());});};Object[a12_0x4bb5('0xe')](exports,a12_0x4bb5('0x18'),{'value':!![]});exports[a12_0x4bb5('0x1')]=void 0x0;const environment_1=require(a12_0x4bb5('0x2'));const serializer_overrides_1=require(a12_0x4bb5('0x4'));const {output}=require('../../../utilities/nx-imports');function processTask(_0x4009fb,_0x57ebbe,_0x1796d1){return __awaiter(this,void 0x0,void 0x0,function*(){if(environment_1[a12_0x4bb5('0xb')]){output[a12_0x4bb5('0x3')]({'title':a12_0x4bb5('0x11')+_0x1796d1[a12_0x4bb5('0x0')]});}const _0x3422c7=_0x57ebbe[a12_0x4bb5('0xa')](_0x44667a=>_0x1796d1[a12_0x4bb5('0x0')]===_0x44667a['id']);if(!_0x3422c7){throw new Error(a12_0x4bb5('0x13')+_0x1796d1[a12_0x4bb5('0x0')]);}const _0x36318e=yield _0x4009fb[a12_0x4bb5('0x17')](_0x1796d1[a12_0x4bb5('0x15')],_0x1796d1['url']);output[a12_0x4bb5('0x12')](getCommand(_0x3422c7));process[a12_0x4bb5('0xf')][a12_0x4bb5('0x9')](_0x36318e);output[a12_0x4bb5('0x16')]();});}exports[a12_0x4bb5('0x1')]=processTask;function getCommand(_0x1bfece){const _0x3f97d6=_0x1bfece[a12_0x4bb5('0x8')][a12_0x4bb5('0x7')]?':'+_0x1bfece[a12_0x4bb5('0x8')]['configuration']:'';return['nx','run',_0x1bfece[a12_0x4bb5('0x8')][a12_0x4bb5('0xc')]+':'+_0x1bfece[a12_0x4bb5('0x8')][a12_0x4bb5('0x8')]+_0x3f97d6,(0x0,serializer_overrides_1['serializeOverrides'])(_0x1bfece)][a12_0x4bb5('0xd')]('\x20');}
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.processTask = void 0;
13
+ const environment_1 = require("../../../utilities/environment");
14
+ const serializer_overrides_1 = require("../../../utilities/serializer-overrides");
15
+ const { output } = require('../../../utilities/nx-imports');
16
+ function processTask(dteArtifactStorage, tasks, completedTask) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ if (environment_1.VERBOSE_LOGGING) {
19
+ output.note({
20
+ title: `Processing task ${completedTask.taskId}`,
21
+ });
22
+ }
23
+ const matchingTask = tasks.find((tt) => completedTask.taskId === tt.id);
24
+ if (!matchingTask) {
25
+ throw new Error(`Found unknown task: ${completedTask.taskId}`);
26
+ }
27
+ const terminalOutput = yield dteArtifactStorage.retrieveAndExtract(completedTask.hash, completedTask.url);
28
+ output.logCommand(getCommand(matchingTask));
29
+ process.stdout.write(terminalOutput);
30
+ output.addVerticalSeparator();
31
+ });
32
+ }
33
+ exports.processTask = processTask;
34
+ function getCommand(task) {
35
+ const config = task.target.configuration
36
+ ? `:${task.target.configuration}`
37
+ : '';
38
+ return [
39
+ 'nx',
40
+ 'run',
41
+ `${task.target.project}:${task.target.target}${config}`,
42
+ (0, serializer_overrides_1.serializeOverrides)(task),
43
+ ].join(' ');
44
+ }
45
+ //# sourceMappingURL=process-task.js.map