experimental pre-post hooks
							parent
							
								
									9f51fedcc0
								
							
						
					
					
						commit
						3567c81eb0
					
				|  | @ -2506,26 +2506,14 @@ const yaml_1 = __importDefault(__webpack_require__(13552)); | |||
| const cloud_runner_logger_1 = __importDefault(__webpack_require__(22855)); | ||||
| class CloudRunnerBuildCommandProcessor { | ||||
|     static ProcessCommands(commands, buildParameters) { | ||||
|         let hooks = CloudRunnerBuildCommandProcessor.getHooks(); | ||||
|         if (__1.Input.cloudRunnerTests) { | ||||
|             cloud_runner_logger_1.default.log(JSON.stringify(hooks, undefined, 4)); | ||||
|         } | ||||
|         else { | ||||
|             hooks = []; | ||||
|         } | ||||
|         const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`all`)); | ||||
|         return `echo "---"
 | ||||
|       echo "start cloud runner init" | ||||
|       ${__1.Input.cloudRunnerTests ? '' : '#'} printenv | ||||
|       echo "start cloud runner job" | ||||
|       ${hooks | ||||
|             .filter((x) => x.hook !== undefined && x.hook.length > 0 && x.hook.includes(`before`)) | ||||
|             .map((x) => x.commands) | ||||
|             .join(`\n`) || ' '} | ||||
|       ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|       ${commands} | ||||
|       ${hooks | ||||
|             .filter((x) => x.hook !== undefined && x.hook.length > 0 && x.hook.includes(`before`)) | ||||
|             .map((x) => x.commands) | ||||
|             .join(`\n`) || ' '} | ||||
|       ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|       echo "end of cloud runner job | ||||
|       ---${buildParameters.logId}" | ||||
|     `;
 | ||||
|  | @ -2541,7 +2529,10 @@ class CloudRunnerBuildCommandProcessor { | |||
|                 throw error; | ||||
|             } | ||||
|         } | ||||
|         return output; | ||||
|         if (__1.Input.cloudRunnerTests) { | ||||
|             cloud_runner_logger_1.default.log(`Getting hooks: ${JSON.stringify(output, undefined, 4)}`); | ||||
|         } | ||||
|         return output.filter((x) => x.step !== undefined && x.hook !== undefined && x.hook.length > 0); | ||||
|     } | ||||
| } | ||||
| exports.CloudRunnerBuildCommandProcessor = CloudRunnerBuildCommandProcessor; | ||||
|  | @ -2858,6 +2849,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); | |||
| exports.BuildStep = void 0; | ||||
| const path_1 = __importDefault(__webpack_require__(85622)); | ||||
| const __1 = __webpack_require__(41359); | ||||
| const cloud_runner_build_command_process_1 = __webpack_require__(71899); | ||||
| const cloud_runner_logger_1 = __importDefault(__webpack_require__(22855)); | ||||
| const cloud_runner_state_1 = __webpack_require__(70912); | ||||
| class BuildStep { | ||||
|  | @ -2870,7 +2862,9 @@ class BuildStep { | |||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             cloud_runner_logger_1.default.logLine(` `); | ||||
|             cloud_runner_logger_1.default.logLine('Starting part 2/2 (build unity project)'); | ||||
|             const hooks = cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`setup`)); | ||||
|             return yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, image, ` | ||||
|         ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         export GITHUB_WORKSPACE="${cloud_runner_state_1.CloudRunnerState.repoPathFull}" | ||||
|         cp -r "${path_1.default | ||||
|                 .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'default-build-script') | ||||
|  | @ -2894,6 +2888,7 @@ class BuildStep { | |||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull}" | ||||
|         mv "build-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}" | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull}" | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|       `, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.projectPathFull}`, environmentVariables, secrets);
 | ||||
|         }); | ||||
|     } | ||||
|  | @ -2924,6 +2919,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); | |||
| exports.SetupStep = void 0; | ||||
| const path_1 = __importDefault(__webpack_require__(85622)); | ||||
| const __1 = __webpack_require__(41359); | ||||
| const cloud_runner_build_command_process_1 = __webpack_require__(71899); | ||||
| const cloud_runner_logger_1 = __importDefault(__webpack_require__(22855)); | ||||
| const cloud_runner_state_1 = __webpack_require__(70912); | ||||
| class SetupStep { | ||||
|  | @ -2942,7 +2938,9 @@ class SetupStep { | |||
|             try { | ||||
|                 cloud_runner_logger_1.default.log(` `); | ||||
|                 cloud_runner_logger_1.default.logLine('Starting step 1/2 (setup game files from repository)'); | ||||
|                 const hooks = cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`setup`)); | ||||
|                 return yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, image, ` | ||||
|         ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         apk update -q | ||||
|         apk add unzip zip git-lfs jq tree nodejs -q | ||||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} apk add tree -q | ||||
|  | @ -2952,6 +2950,7 @@ class SetupStep { | |||
|         ${__1.Input.cloudRunnerTests ? '' : '#'} tree ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)} | ||||
|         chmod +x ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} | ||||
|         node ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|         `, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}/`, environmentVariables, secrets);
 | ||||
|             } | ||||
|             catch (error) { | ||||
|  | @ -176570,7 +176569,7 @@ var util = { | |||
|    */ | ||||
|   uuid: { | ||||
|     v4: function uuidV4() { | ||||
|       return __webpack_require__(2155).v4(); | ||||
|       return __webpack_require__(71062).v4(); | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|  | @ -177107,6 +177106,219 @@ module.exports = { | |||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 71062: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| var v1 = __webpack_require__(68207); | ||||
| var v4 = __webpack_require__(54151); | ||||
| 
 | ||||
| var uuid = v4; | ||||
| uuid.v1 = v1; | ||||
| uuid.v4 = v4; | ||||
| 
 | ||||
| module.exports = uuid; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 50367: | ||||
| /***/ ((module) => { | ||||
| 
 | ||||
| /** | ||||
|  * Convert array of 16 byte values to UUID string format of the form: | ||||
|  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | ||||
|  */ | ||||
| var byteToHex = []; | ||||
| for (var i = 0; i < 256; ++i) { | ||||
|   byteToHex[i] = (i + 0x100).toString(16).substr(1); | ||||
| } | ||||
| 
 | ||||
| function bytesToUuid(buf, offset) { | ||||
|   var i = offset || 0; | ||||
|   var bth = byteToHex; | ||||
|   // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
 | ||||
|   return ([bth[buf[i++]], bth[buf[i++]],  | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], | ||||
| 	bth[buf[i++]], bth[buf[i++]], | ||||
| 	bth[buf[i++]], bth[buf[i++]]]).join(''); | ||||
| } | ||||
| 
 | ||||
| module.exports = bytesToUuid; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 91734: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| // Unique ID creation requires a high quality random # generator.  In node.js
 | ||||
| // this is pretty straight-forward - we use the crypto API.
 | ||||
| 
 | ||||
| var crypto = __webpack_require__(76417); | ||||
| 
 | ||||
| module.exports = function nodeRNG() { | ||||
|   return crypto.randomBytes(16); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 68207: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| var rng = __webpack_require__(91734); | ||||
| var bytesToUuid = __webpack_require__(50367); | ||||
| 
 | ||||
| // **`v1()` - Generate time-based UUID**
 | ||||
| //
 | ||||
| // Inspired by https://github.com/LiosK/UUID.js
 | ||||
| // and http://docs.python.org/library/uuid.html
 | ||||
| 
 | ||||
| var _nodeId; | ||||
| var _clockseq; | ||||
| 
 | ||||
| // Previous uuid creation time
 | ||||
| var _lastMSecs = 0; | ||||
| var _lastNSecs = 0; | ||||
| 
 | ||||
| // See https://github.com/broofa/node-uuid for API details
 | ||||
| function v1(options, buf, offset) { | ||||
|   var i = buf && offset || 0; | ||||
|   var b = buf || []; | ||||
| 
 | ||||
|   options = options || {}; | ||||
|   var node = options.node || _nodeId; | ||||
|   var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; | ||||
| 
 | ||||
|   // node and clockseq need to be initialized to random values if they're not
 | ||||
|   // specified.  We do this lazily to minimize issues related to insufficient
 | ||||
|   // system entropy.  See #189
 | ||||
|   if (node == null || clockseq == null) { | ||||
|     var seedBytes = rng(); | ||||
|     if (node == null) { | ||||
|       // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
 | ||||
|       node = _nodeId = [ | ||||
|         seedBytes[0] | 0x01, | ||||
|         seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5] | ||||
|       ]; | ||||
|     } | ||||
|     if (clockseq == null) { | ||||
|       // Per 4.2.2, randomize (14 bit) clockseq
 | ||||
|       clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   // UUID timestamps are 100 nano-second units since the Gregorian epoch,
 | ||||
|   // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so
 | ||||
|   // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
 | ||||
|   // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
 | ||||
|   var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); | ||||
| 
 | ||||
|   // Per 4.2.1.2, use count of uuid's generated during the current clock
 | ||||
|   // cycle to simulate higher resolution clock
 | ||||
|   var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; | ||||
| 
 | ||||
|   // Time since last uuid creation (in msecs)
 | ||||
|   var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; | ||||
| 
 | ||||
|   // Per 4.2.1.2, Bump clockseq on clock regression
 | ||||
|   if (dt < 0 && options.clockseq === undefined) { | ||||
|     clockseq = clockseq + 1 & 0x3fff; | ||||
|   } | ||||
| 
 | ||||
|   // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
 | ||||
|   // time interval
 | ||||
|   if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { | ||||
|     nsecs = 0; | ||||
|   } | ||||
| 
 | ||||
|   // Per 4.2.1.2 Throw error if too many uuids are requested
 | ||||
|   if (nsecs >= 10000) { | ||||
|     throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); | ||||
|   } | ||||
| 
 | ||||
|   _lastMSecs = msecs; | ||||
|   _lastNSecs = nsecs; | ||||
|   _clockseq = clockseq; | ||||
| 
 | ||||
|   // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
 | ||||
|   msecs += 12219292800000; | ||||
| 
 | ||||
|   // `time_low`
 | ||||
|   var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; | ||||
|   b[i++] = tl >>> 24 & 0xff; | ||||
|   b[i++] = tl >>> 16 & 0xff; | ||||
|   b[i++] = tl >>> 8 & 0xff; | ||||
|   b[i++] = tl & 0xff; | ||||
| 
 | ||||
|   // `time_mid`
 | ||||
|   var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff; | ||||
|   b[i++] = tmh >>> 8 & 0xff; | ||||
|   b[i++] = tmh & 0xff; | ||||
| 
 | ||||
|   // `time_high_and_version`
 | ||||
|   b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
 | ||||
|   b[i++] = tmh >>> 16 & 0xff; | ||||
| 
 | ||||
|   // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
 | ||||
|   b[i++] = clockseq >>> 8 | 0x80; | ||||
| 
 | ||||
|   // `clock_seq_low`
 | ||||
|   b[i++] = clockseq & 0xff; | ||||
| 
 | ||||
|   // `node`
 | ||||
|   for (var n = 0; n < 6; ++n) { | ||||
|     b[i + n] = node[n]; | ||||
|   } | ||||
| 
 | ||||
|   return buf ? buf : bytesToUuid(b); | ||||
| } | ||||
| 
 | ||||
| module.exports = v1; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 54151: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| var rng = __webpack_require__(91734); | ||||
| var bytesToUuid = __webpack_require__(50367); | ||||
| 
 | ||||
| function v4(options, buf, offset) { | ||||
|   var i = buf && offset || 0; | ||||
| 
 | ||||
|   if (typeof(options) == 'string') { | ||||
|     buf = options === 'binary' ? new Array(16) : null; | ||||
|     options = null; | ||||
|   } | ||||
|   options = options || {}; | ||||
| 
 | ||||
|   var rnds = options.random || (options.rng || rng)(); | ||||
| 
 | ||||
|   // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
 | ||||
|   rnds[6] = (rnds[6] & 0x0f) | 0x40; | ||||
|   rnds[8] = (rnds[8] & 0x3f) | 0x80; | ||||
| 
 | ||||
|   // Copy bytes to buffer, if provided
 | ||||
|   if (buf) { | ||||
|     for (var ii = 0; ii < 16; ++ii) { | ||||
|       buf[i + ii] = rnds[ii]; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   return buf || bytesToUuid(rnds); | ||||
| } | ||||
| 
 | ||||
| module.exports = v4; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 96323: | ||||
|  | @ -242584,219 +242796,6 @@ Object.defineProperty(exports, '__esModule', { value: true }); | |||
| //# sourceMappingURL=uri.all.js.map
 | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 2155: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| var v1 = __webpack_require__(18749); | ||||
| var v4 = __webpack_require__(80824); | ||||
| 
 | ||||
| var uuid = v4; | ||||
| uuid.v1 = v1; | ||||
| uuid.v4 = v4; | ||||
| 
 | ||||
| module.exports = uuid; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 92707: | ||||
| /***/ ((module) => { | ||||
| 
 | ||||
| /** | ||||
|  * Convert array of 16 byte values to UUID string format of the form: | ||||
|  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | ||||
|  */ | ||||
| var byteToHex = []; | ||||
| for (var i = 0; i < 256; ++i) { | ||||
|   byteToHex[i] = (i + 0x100).toString(16).substr(1); | ||||
| } | ||||
| 
 | ||||
| function bytesToUuid(buf, offset) { | ||||
|   var i = offset || 0; | ||||
|   var bth = byteToHex; | ||||
|   // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
 | ||||
|   return ([bth[buf[i++]], bth[buf[i++]],  | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], '-', | ||||
| 	bth[buf[i++]], bth[buf[i++]], | ||||
| 	bth[buf[i++]], bth[buf[i++]], | ||||
| 	bth[buf[i++]], bth[buf[i++]]]).join(''); | ||||
| } | ||||
| 
 | ||||
| module.exports = bytesToUuid; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 15859: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| // Unique ID creation requires a high quality random # generator.  In node.js
 | ||||
| // this is pretty straight-forward - we use the crypto API.
 | ||||
| 
 | ||||
| var crypto = __webpack_require__(76417); | ||||
| 
 | ||||
| module.exports = function nodeRNG() { | ||||
|   return crypto.randomBytes(16); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 18749: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| var rng = __webpack_require__(15859); | ||||
| var bytesToUuid = __webpack_require__(92707); | ||||
| 
 | ||||
| // **`v1()` - Generate time-based UUID**
 | ||||
| //
 | ||||
| // Inspired by https://github.com/LiosK/UUID.js
 | ||||
| // and http://docs.python.org/library/uuid.html
 | ||||
| 
 | ||||
| var _nodeId; | ||||
| var _clockseq; | ||||
| 
 | ||||
| // Previous uuid creation time
 | ||||
| var _lastMSecs = 0; | ||||
| var _lastNSecs = 0; | ||||
| 
 | ||||
| // See https://github.com/broofa/node-uuid for API details
 | ||||
| function v1(options, buf, offset) { | ||||
|   var i = buf && offset || 0; | ||||
|   var b = buf || []; | ||||
| 
 | ||||
|   options = options || {}; | ||||
|   var node = options.node || _nodeId; | ||||
|   var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; | ||||
| 
 | ||||
|   // node and clockseq need to be initialized to random values if they're not
 | ||||
|   // specified.  We do this lazily to minimize issues related to insufficient
 | ||||
|   // system entropy.  See #189
 | ||||
|   if (node == null || clockseq == null) { | ||||
|     var seedBytes = rng(); | ||||
|     if (node == null) { | ||||
|       // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
 | ||||
|       node = _nodeId = [ | ||||
|         seedBytes[0] | 0x01, | ||||
|         seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5] | ||||
|       ]; | ||||
|     } | ||||
|     if (clockseq == null) { | ||||
|       // Per 4.2.2, randomize (14 bit) clockseq
 | ||||
|       clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   // UUID timestamps are 100 nano-second units since the Gregorian epoch,
 | ||||
|   // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so
 | ||||
|   // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
 | ||||
|   // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
 | ||||
|   var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); | ||||
| 
 | ||||
|   // Per 4.2.1.2, use count of uuid's generated during the current clock
 | ||||
|   // cycle to simulate higher resolution clock
 | ||||
|   var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; | ||||
| 
 | ||||
|   // Time since last uuid creation (in msecs)
 | ||||
|   var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; | ||||
| 
 | ||||
|   // Per 4.2.1.2, Bump clockseq on clock regression
 | ||||
|   if (dt < 0 && options.clockseq === undefined) { | ||||
|     clockseq = clockseq + 1 & 0x3fff; | ||||
|   } | ||||
| 
 | ||||
|   // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
 | ||||
|   // time interval
 | ||||
|   if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { | ||||
|     nsecs = 0; | ||||
|   } | ||||
| 
 | ||||
|   // Per 4.2.1.2 Throw error if too many uuids are requested
 | ||||
|   if (nsecs >= 10000) { | ||||
|     throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec'); | ||||
|   } | ||||
| 
 | ||||
|   _lastMSecs = msecs; | ||||
|   _lastNSecs = nsecs; | ||||
|   _clockseq = clockseq; | ||||
| 
 | ||||
|   // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
 | ||||
|   msecs += 12219292800000; | ||||
| 
 | ||||
|   // `time_low`
 | ||||
|   var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; | ||||
|   b[i++] = tl >>> 24 & 0xff; | ||||
|   b[i++] = tl >>> 16 & 0xff; | ||||
|   b[i++] = tl >>> 8 & 0xff; | ||||
|   b[i++] = tl & 0xff; | ||||
| 
 | ||||
|   // `time_mid`
 | ||||
|   var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff; | ||||
|   b[i++] = tmh >>> 8 & 0xff; | ||||
|   b[i++] = tmh & 0xff; | ||||
| 
 | ||||
|   // `time_high_and_version`
 | ||||
|   b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
 | ||||
|   b[i++] = tmh >>> 16 & 0xff; | ||||
| 
 | ||||
|   // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
 | ||||
|   b[i++] = clockseq >>> 8 | 0x80; | ||||
| 
 | ||||
|   // `clock_seq_low`
 | ||||
|   b[i++] = clockseq & 0xff; | ||||
| 
 | ||||
|   // `node`
 | ||||
|   for (var n = 0; n < 6; ++n) { | ||||
|     b[i + n] = node[n]; | ||||
|   } | ||||
| 
 | ||||
|   return buf ? buf : bytesToUuid(b); | ||||
| } | ||||
| 
 | ||||
| module.exports = v1; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 80824: | ||||
| /***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||||
| 
 | ||||
| var rng = __webpack_require__(15859); | ||||
| var bytesToUuid = __webpack_require__(92707); | ||||
| 
 | ||||
| function v4(options, buf, offset) { | ||||
|   var i = buf && offset || 0; | ||||
| 
 | ||||
|   if (typeof(options) == 'string') { | ||||
|     buf = options === 'binary' ? new Array(16) : null; | ||||
|     options = null; | ||||
|   } | ||||
|   options = options || {}; | ||||
| 
 | ||||
|   var rnds = options.random || (options.rng || rng)(); | ||||
| 
 | ||||
|   // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
 | ||||
|   rnds[6] = (rnds[6] & 0x0f) | 0x40; | ||||
|   rnds[8] = (rnds[8] & 0x3f) | 0x80; | ||||
| 
 | ||||
|   // Copy bytes to buffer, if provided
 | ||||
|   if (buf) { | ||||
|     for (var ii = 0; ii < 16; ++ii) { | ||||
|       buf[i + ii] = rnds[ii]; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   return buf || bytesToUuid(rnds); | ||||
| } | ||||
| 
 | ||||
| module.exports = v4; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ 81692: | ||||
|  |  | |||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -5,31 +5,15 @@ import CloudRunnerLogger from './cloud-runner-logger'; | |||
| 
 | ||||
| export class CloudRunnerBuildCommandProcessor { | ||||
|   public static ProcessCommands(commands: string, buildParameters: BuildParameters): string { | ||||
|     let hooks = CloudRunnerBuildCommandProcessor.getHooks(); | ||||
| 
 | ||||
|     if (Input.cloudRunnerTests) { | ||||
|       CloudRunnerLogger.log(JSON.stringify(hooks, undefined, 4)); | ||||
|     } else { | ||||
|       hooks = []; | ||||
|     } | ||||
|     const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`all`)); | ||||
| 
 | ||||
|     return `echo "---"
 | ||||
|       echo "start cloud runner init" | ||||
|       ${Input.cloudRunnerTests ? '' : '#'} printenv | ||||
|       echo "start cloud runner job" | ||||
|       ${ | ||||
|         hooks | ||||
|           .filter((x) => x.hook !== undefined && x.hook.length > 0 && x.hook.includes(`before`)) | ||||
|           .map((x) => x.commands) | ||||
|           .join(`\n`) || ' ' | ||||
|       } | ||||
|       ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|       ${commands} | ||||
|       ${ | ||||
|         hooks | ||||
|           .filter((x) => x.hook !== undefined && x.hook.length > 0 && x.hook.includes(`before`)) | ||||
|           .map((x) => x.commands) | ||||
|           .join(`\n`) || ' ' | ||||
|       } | ||||
|       ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|       echo "end of cloud runner job | ||||
|       ---${buildParameters.logId}" | ||||
|     `;
 | ||||
|  | @ -45,12 +29,16 @@ export class CloudRunnerBuildCommandProcessor { | |||
|         throw error; | ||||
|       } | ||||
|     } | ||||
|     return output; | ||||
|     if (Input.cloudRunnerTests) { | ||||
|       CloudRunnerLogger.log(`Getting hooks: ${JSON.stringify(output, undefined, 4)}`); | ||||
|     } | ||||
|     return output.filter((x) => x.step !== undefined && x.hook !== undefined && x.hook.length > 0); | ||||
|   } | ||||
| } | ||||
| export class Hook { | ||||
|   public commands; | ||||
|   public secrets: CloudRunnerSecret[] = []; | ||||
|   public name; | ||||
|   public hook; | ||||
|   public hook!: string[]; | ||||
|   public step!: string[]; | ||||
| } | ||||
|  |  | |||
|  | @ -1,5 +1,6 @@ | |||
| import path from 'path'; | ||||
| import { Input } from '../..'; | ||||
| import { CloudRunnerBuildCommandProcessor } from '../services/cloud-runner-build-command-process'; | ||||
| import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable'; | ||||
| import CloudRunnerLogger from '../services/cloud-runner-logger'; | ||||
| import CloudRunnerSecret from '../services/cloud-runner-secret'; | ||||
|  | @ -23,10 +24,12 @@ export class BuildStep implements StepInterface { | |||
|   ) { | ||||
|     CloudRunnerLogger.logLine(` `); | ||||
|     CloudRunnerLogger.logLine('Starting part 2/2 (build unity project)'); | ||||
|     const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`setup`)); | ||||
|     return await CloudRunnerState.CloudRunnerProviderPlatform.runTask( | ||||
|       CloudRunnerState.buildParams.buildGuid, | ||||
|       image, | ||||
|       ` | ||||
|         ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         export GITHUB_WORKSPACE="${CloudRunnerState.repoPathFull}" | ||||
|         cp -r "${path | ||||
|           .join(CloudRunnerState.builderPathFull, 'dist', 'default-build-script') | ||||
|  | @ -56,6 +59,7 @@ export class BuildStep implements StepInterface { | |||
|         `/`, | ||||
|       )}" | ||||
|         ${Input.cloudRunnerTests ? '' : '#'} tree -lh "${CloudRunnerState.cacheFolderFull}" | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|       `,
 | ||||
|       `/${CloudRunnerState.buildVolumeFolder}`, | ||||
|       `/${CloudRunnerState.projectPathFull}`, | ||||
|  |  | |||
|  | @ -1,5 +1,6 @@ | |||
| import path from 'path'; | ||||
| import { Input } from '../..'; | ||||
| import { CloudRunnerBuildCommandProcessor } from '../services/cloud-runner-build-command-process'; | ||||
| import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable'; | ||||
| import CloudRunnerLogger from '../services/cloud-runner-logger'; | ||||
| import CloudRunnerSecret from '../services/cloud-runner-secret'; | ||||
|  | @ -28,11 +29,12 @@ export class SetupStep implements StepInterface { | |||
|     try { | ||||
|       CloudRunnerLogger.log(` `); | ||||
|       CloudRunnerLogger.logLine('Starting step 1/2 (setup game files from repository)'); | ||||
| 
 | ||||
|       const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`setup`)); | ||||
|       return await CloudRunnerState.CloudRunnerProviderPlatform.runTask( | ||||
|         CloudRunnerState.buildParams.buildGuid, | ||||
|         image, | ||||
|         ` | ||||
|         ${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '} | ||||
|         apk update -q | ||||
|         apk add unzip zip git-lfs jq tree nodejs -q | ||||
|         ${Input.cloudRunnerTests ? '' : '#'} apk add tree -q | ||||
|  | @ -44,6 +46,7 @@ export class SetupStep implements StepInterface { | |||
|         ${Input.cloudRunnerTests ? '' : '#'} tree ${CloudRunnerState.builderPathFull.replace(/\\/g, `/`)} | ||||
|         chmod +x ${path.join(CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} | ||||
|         node ${path.join(CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli | ||||
|         ${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '} | ||||
|         `,
 | ||||
|         `/${CloudRunnerState.buildVolumeFolder}`, | ||||
|         `/${CloudRunnerState.buildVolumeFolder}/`, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue