All multi-line parameters in ImageEnvFactory should use --env {paramter} notation rather than --env{name}={value}

pull/310/head
Frostebite 2021-12-29 19:08:41 +00:00
parent d0ae159ab0
commit ce1716ae05
9 changed files with 98 additions and 92 deletions

156
dist/index.js vendored
View File

@ -216,7 +216,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
const nanoid_1 = __webpack_require__(39140);
const android_versioning_1 = __importDefault(__webpack_require__(43059));
const cloud_runner_constants_1 = __importDefault(__webpack_require__(91311));
const input_1 = __importDefault(__webpack_require__(91933));
const platform_1 = __importDefault(__webpack_require__(9707));
const unity_versioning_1 = __importDefault(__webpack_require__(17146));
@ -270,6 +272,7 @@ class BuildParameters {
remoteBuildCluster: input_1.default.cloudRunnerCluster,
awsStackName: input_1.default.awsBaseStackName,
gitSha: input_1.default.gitSha,
logId: nanoid_1.customAlphabet(cloud_runner_constants_1.default.alphabet, 9)(),
};
});
}
@ -814,7 +817,7 @@ const cloud_runner_logger_1 = __importDefault(__webpack_require__(22855));
const core = __importStar(__webpack_require__(42186));
const fs = __importStar(__webpack_require__(35747));
const path_1 = __importDefault(__webpack_require__(85622));
const crypto = __webpack_require__(33373);
const crypto = __webpack_require__(76417);
class AWSBaseStack {
constructor(baseStackName) {
this.baseStackName = baseStackName;
@ -1008,8 +1011,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.AWSJobStack = void 0;
const cloud_runner_constants_1 = __importDefault(__webpack_require__(91311));
const nanoid_1 = __webpack_require__(39140);
const aws_templates_1 = __webpack_require__(6436);
const cloud_runner_logger_1 = __importDefault(__webpack_require__(22855));
const fs = __importStar(__webpack_require__(35747));
@ -1020,10 +1021,6 @@ class AWSJobStack {
}
setupCloudFormations(CF, buildGuid, image, entrypoint, commands, mountdir, workingdir, secrets) {
return __awaiter(this, void 0, void 0, function* () {
const logGuid = nanoid_1.customAlphabet(cloud_runner_constants_1.default.alphabet, 9)();
commands += `
echo "${logGuid}"
`;
const taskDefStackName = `${this.baseStackName}-${buildGuid}`;
let taskDefCloudFormation = aws_templates_1.AWSTemplates.readTaskCloudFormationTemplate();
const cleanupTaskDefStackName = `${taskDefStackName}-cleanup`;
@ -1138,7 +1135,8 @@ class AWSJobStack {
StackName: taskDefStackName,
}).promise()).StackResources;
const baseResources = (yield CF.describeStackResources({ StackName: this.baseStackName }).promise()).StackResources;
// TODO: offer a parameter to decide if you want the guaranteed shutdown or fastest startup time possible
// TODO add a log to identify the time taken awaiting cleanup then review solutions based on how long this takes.
// One option is to offer an option to not await cleanup
return {
taskDefStackName,
taskDefCloudFormation,
@ -1146,7 +1144,6 @@ class AWSJobStack {
ttlCloudFormation: cleanupCloudFormation,
taskDefResources,
baseResources,
logid: logGuid,
};
});
}
@ -1221,7 +1218,7 @@ class AWSTaskRunner {
{
name: taskDef.taskDefStackName,
environment: [...environment, { name: 'BUILDID', value: buildGuid }],
command: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(commands)],
command: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(commands, cloud_runner_state_1.CloudRunnerState.buildParams)],
},
],
},
@ -1326,7 +1323,7 @@ class AWSTaskRunner {
if (json.messageType === 'DATA_MESSAGE') {
for (let logEventsIndex = 0; logEventsIndex < json.logEvents.length; logEventsIndex++) {
let message = json.logEvents[logEventsIndex].message;
if (json.logEvents[logEventsIndex].message.includes(taskDef.logid)) {
if (json.logEvents[logEventsIndex].message.includes(cloud_runner_state_1.CloudRunnerState.buildParams.logId)) {
cloud_runner_logger_1.default.log('End of log transmission received');
shouldReadLogs = false;
}
@ -1865,6 +1862,7 @@ exports.default = Kubernetes;
Object.defineProperty(exports, "__esModule", ({ value: true }));
const cloud_runner_build_command_process_1 = __webpack_require__(71899);
const cloud_runner_state_1 = __webpack_require__(70912);
class KubernetesJobSpecFactory {
static getJobSpec(command, image, mountdir, workingDirectory, environment, buildGuid, buildParameters, secretName, pvcName, jobName, k8s) {
environment.push(...[
@ -1954,7 +1952,7 @@ class KubernetesJobSpecFactory {
name: 'main',
image,
command: ['/bin/sh'],
args: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(command)],
args: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(command, cloud_runner_state_1.CloudRunnerState.buildParams)],
workingDir: `/${workingDirectory}`,
resources: {
requests: {
@ -2390,11 +2388,11 @@ exports.default = KubernetesTaskRunner;
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.CloudRunnerBuildCommandProcessor = void 0;
class CloudRunnerBuildCommandProcessor {
static ProcessCommands(commands) {
static ProcessCommands(commands, buildParameters) {
return `echo "---"
echo "start"
${commands}
echo "end"
echo "end--${buildParameters.logId}"
`;
}
}
@ -3228,6 +3226,10 @@ class ImageEnvironmentFactory {
if (p.value === '' || p.value === undefined) {
continue;
}
if (p.value.includes(`\n`)) {
string += `--env ${p.name} `;
continue;
}
string += `--env ${p.name}="${p.value}" `;
}
return string;
@ -134292,7 +134294,7 @@ module.exports = (date) => Math.floor(date.getTime() / 1000)
/***/ 3796:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { randomBytes } = __webpack_require__(33373)
const { randomBytes } = __webpack_require__(76417)
const { IVLENGTHS } = __webpack_require__(47359)
@ -134375,7 +134377,7 @@ let KeyObject
let asInput
if (keyObjectSupported) {
({ createPublicKey, createPrivateKey, createSecretKey, KeyObject } = __webpack_require__(33373))
({ createPublicKey, createPrivateKey, createSecretKey, KeyObject } = __webpack_require__(76417))
asInput = (input) => input
} else {
const { EOL } = __webpack_require__(12087)
@ -135123,7 +135125,7 @@ module.exports = alg => `sha${alg.substr(2, 3)}`
/***/ 4438:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { randomBytes } = __webpack_require__(33373)
const { randomBytes } = __webpack_require__(76417)
const base64url = __webpack_require__(93312)
const errors = __webpack_require__(35132)
@ -135300,7 +135302,7 @@ module.exports = (jwk) => {
/***/ 57494:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { diffieHellman, KeyObject, sign, verify } = __webpack_require__(33373)
const { diffieHellman, KeyObject, sign, verify } = __webpack_require__(76417)
const [major, minor] = process.version.substr(1).split('.').map(x => parseInt(x, 10))
@ -135378,7 +135380,7 @@ module.exports = (str) => {
/***/ 15300:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { timingSafeEqual: TSE } = __webpack_require__(33373)
const { timingSafeEqual: TSE } = __webpack_require__(76417)
const paddedBuffer = (input, length) => {
if (input.length === length) {
@ -135483,7 +135485,7 @@ module.exports = {
/***/ 26468:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createCipheriv, createDecipheriv, getCiphers } = __webpack_require__(33373)
const { createCipheriv, createDecipheriv, getCiphers } = __webpack_require__(76417)
const uint64be = __webpack_require__(82267)
const timingSafeEqual = __webpack_require__(15300)
@ -135564,7 +135566,7 @@ module.exports = (JWA, JWK) => {
/***/ 69480:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createCipheriv, createDecipheriv, getCiphers } = __webpack_require__(33373)
const { createCipheriv, createDecipheriv, getCiphers } = __webpack_require__(76417)
const { KEYOBJECT } = __webpack_require__(62928)
const { JWEInvalid, JWEDecryptionFailed } = __webpack_require__(35132)
@ -135657,7 +135659,7 @@ module.exports = (JWA, JWK) => {
/***/ 50253:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createCipheriv, createDecipheriv, getCiphers } = __webpack_require__(33373)
const { createCipheriv, createDecipheriv, getCiphers } = __webpack_require__(76417)
const { KEYOBJECT } = __webpack_require__(62928)
const { asInput } = __webpack_require__(31032)
@ -135704,7 +135706,7 @@ module.exports = (JWA, JWK) => {
const { improvedDH } = __webpack_require__(57494)
if (improvedDH) {
const { diffieHellman } = __webpack_require__(33373)
const { diffieHellman } = __webpack_require__(76417)
const { KeyObject } = __webpack_require__(31032)
const importKey = __webpack_require__(77722)
@ -135717,7 +135719,7 @@ if (improvedDH) {
return diffieHellman({ privateKey, publicKey })
}
} else {
const { createECDH, constants: { POINT_CONVERSION_UNCOMPRESSED } } = __webpack_require__(33373)
const { createECDH, constants: { POINT_CONVERSION_UNCOMPRESSED } } = __webpack_require__(76417)
const base64url = __webpack_require__(93312)
@ -135751,7 +135753,7 @@ if (improvedDH) {
/***/ 95320:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createHash } = __webpack_require__(33373)
const { createHash } = __webpack_require__(76417)
const ecdhComputeSecret = __webpack_require__(53791)
const concat = (key, length, value) => {
@ -135890,7 +135892,7 @@ module.exports.unwrapKey = unwrapKey
/***/ 92251:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { sign: signOneShot, verify: verifyOneShot, createSign, createVerify, getCurves } = __webpack_require__(33373)
const { sign: signOneShot, verify: verifyOneShot, createSign, createVerify, getCurves } = __webpack_require__(76417)
const { derToJose, joseToDer } = __webpack_require__(64575)
const { KEYOBJECT } = __webpack_require__(62928)
@ -135974,7 +135976,7 @@ module.exports = (JWA, JWK) => {
/***/ 81448:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { sign: signOneShot, verify: verifyOneShot } = __webpack_require__(33373)
const { sign: signOneShot, verify: verifyOneShot } = __webpack_require__(76417)
const { KEYOBJECT } = __webpack_require__(62928)
const { edDSASupported } = __webpack_require__(57494)
@ -136005,7 +136007,7 @@ module.exports = (JWA, JWK) => {
/***/ 71367:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createHmac } = __webpack_require__(33373)
const { createHmac } = __webpack_require__(76417)
const { KEYOBJECT } = __webpack_require__(62928)
const timingSafeEqual = __webpack_require__(15300)
@ -136149,7 +136151,7 @@ module.exports = (JWA, JWK) => {
/***/ 41613:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { pbkdf2Sync: pbkdf2, randomBytes } = __webpack_require__(33373)
const { pbkdf2Sync: pbkdf2, randomBytes } = __webpack_require__(76417)
const { KEYOBJECT } = __webpack_require__(62928)
const base64url = __webpack_require__(93312)
@ -136212,7 +136214,7 @@ module.exports = (JWA, JWK) => {
/***/ 4061:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { publicEncrypt, privateDecrypt, constants } = __webpack_require__(33373)
const { publicEncrypt, privateDecrypt, constants } = __webpack_require__(76417)
const { oaepHashSupported } = __webpack_require__(57494)
const { KEYOBJECT } = __webpack_require__(62928)
@ -136286,7 +136288,7 @@ module.exports = (JWA, JWK) => {
/***/ 75778:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createSign, createVerify } = __webpack_require__(33373)
const { createSign, createVerify } = __webpack_require__(76417)
const { KEYOBJECT } = __webpack_require__(62928)
const resolveNodeAlg = __webpack_require__(81942)
@ -136326,7 +136328,7 @@ const {
createSign,
createVerify,
constants
} = __webpack_require__(33373)
} = __webpack_require__(76417)
const { KEYOBJECT } = __webpack_require__(62928)
const resolveNodeAlg = __webpack_require__(81942)
@ -136829,7 +136831,7 @@ module.exports = Encrypt
/***/ 22329:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { randomBytes } = __webpack_require__(33373)
const { randomBytes } = __webpack_require__(76417)
const { createSecretKey } = __webpack_require__(31032)
const { KEYLENGTHS } = __webpack_require__(47359)
@ -137647,7 +137649,7 @@ module.exports = Key
/***/ 36582:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { generateKeyPairSync, generateKeyPair: async } = __webpack_require__(33373)
const { generateKeyPairSync, generateKeyPair: async } = __webpack_require__(76417)
const { promisify } = __webpack_require__(31669)
const {
@ -137873,7 +137875,7 @@ module.exports = new NoneKey()
/***/ 14591:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { randomBytes } = __webpack_require__(33373)
const { randomBytes } = __webpack_require__(76417)
const { createSecretKey } = __webpack_require__(31032)
const base64url = __webpack_require__(93312)
@ -137983,7 +137985,7 @@ module.exports = OctKey
/***/ 8658:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { generateKeyPairSync, generateKeyPair: async } = __webpack_require__(33373)
const { generateKeyPairSync, generateKeyPair: async } = __webpack_require__(76417)
const { promisify } = __webpack_require__(31669)
const {
@ -138076,7 +138078,7 @@ module.exports = OKPKey
/***/ 52679:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { generateKeyPairSync, generateKeyPair: async } = __webpack_require__(33373)
const { generateKeyPairSync, generateKeyPair: async } = __webpack_require__(76417)
const { promisify } = __webpack_require__(31669)
const {
@ -138200,7 +138202,7 @@ module.exports = RSAKey
/***/ 89020:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createHash } = __webpack_require__(33373)
const { createHash } = __webpack_require__(76417)
const base64url = __webpack_require__(93312)
@ -139476,7 +139478,7 @@ module.exports = (token, key, options = {}) => {
/***/ 91071:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { getCurves } = __webpack_require__(33373)
const { getCurves } = __webpack_require__(76417)
const curves = new Set()
@ -139649,7 +139651,7 @@ module.exports = curves
const { inspect } = __webpack_require__(31669);
const stdhttp = __webpack_require__(98605);
const crypto = __webpack_require__(33373);
const crypto = __webpack_require__(76417);
const { strict: assert } = __webpack_require__(42357);
const querystring = __webpack_require__(71191);
const url = __webpack_require__(78835);
@ -141919,7 +141921,7 @@ module.exports.deep = defaults.bind(undefined, true);
/***/ 65894:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { createHash, randomBytes } = __webpack_require__(33373);
const { createHash, randomBytes } = __webpack_require__(76417);
const base64url = __webpack_require__(23570);
@ -166711,7 +166713,7 @@ util.isBrowser = function() { return false; };
util.isNode = function() { return true; };
// node.js specific modules
util.crypto.lib = __webpack_require__(33373);
util.crypto.lib = __webpack_require__(76417);
util.Buffer = __webpack_require__(64293).Buffer;
util.domain = __webpack_require__(85229);
util.stream = __webpack_require__(92413);
@ -177255,7 +177257,7 @@ exports.LRUCache = LRUCache;
* Module dependencies.
*/
var crypto = __webpack_require__(33373)
var crypto = __webpack_require__(76417)
, parse = __webpack_require__(78835).parse
;
@ -177456,7 +177458,7 @@ module.exports.canonicalizeResource = canonicalizeResource
var aws4 = exports,
url = __webpack_require__(78835),
querystring = __webpack_require__(71191),
crypto = __webpack_require__(33373),
crypto = __webpack_require__(76417),
lru = __webpack_require__(74225),
credentialsCache = lru(1000)
@ -183222,7 +183224,7 @@ DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {
/***/ 49865:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var BigInteger = __webpack_require__(85587).BigInteger;
var ECPointFp = __webpack_require__(3943).ECPointFp;
var Buffer = __webpack_require__(15118).Buffer;
@ -195113,7 +195115,7 @@ module.exports = {
// Copyright 2012 Joyent, Inc. All rights reserved.
var assert = __webpack_require__(66631);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var http = __webpack_require__(98605);
var util = __webpack_require__(31669);
var sshpk = __webpack_require__(87022);
@ -195640,7 +195642,7 @@ module.exports = {
// Copyright 2015 Joyent, Inc.
var assert = __webpack_require__(66631);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var sshpk = __webpack_require__(87022);
var utils = __webpack_require__(65689);
@ -210159,7 +210161,7 @@ module.exports.default = normalizeUrl;
/***/ 43248:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var crypto = __webpack_require__(33373)
var crypto = __webpack_require__(76417)
function sha (key, body, algorithm) {
return crypto.createHmac(algorithm, key).update(body).digest('base64')
@ -210314,7 +210316,7 @@ exports.generateBase = generateBase
"use strict";
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
/**
* Exported function
@ -210770,7 +210772,7 @@ function PassThrough() {
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const { strict: assert } = __webpack_require__(42357);
const { createHash } = __webpack_require__(33373);
const { createHash } = __webpack_require__(76417);
const { format } = __webpack_require__(31669);
const shake256 = __webpack_require__(19811);
@ -210882,7 +210884,7 @@ module.exports = {
/***/ 19811:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const crypto = __webpack_require__(33373);
const crypto = __webpack_require__(76417);
const [major, minor] = process.version.substr(1).split('.').map((x) => parseInt(x, 10));
const xofOutputLength = major > 12 || (major === 12 && minor >= 8);
@ -213501,7 +213503,7 @@ exports.t = Har
"use strict";
var crypto = __webpack_require__(33373)
var crypto = __webpack_require__(76417)
function randomString (size) {
var bits = (size + 1) * 6
@ -213599,7 +213601,7 @@ exports.header = function (uri, method, opts) {
var jsonSafeStringify = __webpack_require__(57073)
var crypto = __webpack_require__(33373)
var crypto = __webpack_require__(76417)
var Buffer = __webpack_require__(21867).Buffer
var defer = typeof setImmediate === 'undefined'
@ -213797,7 +213799,7 @@ var qs = __webpack_require__(47457)
var caseless = __webpack_require__(35684)
var uuid = __webpack_require__(71435)
var oauth = __webpack_require__(43248)
var crypto = __webpack_require__(33373)
var crypto = __webpack_require__(76417)
var Buffer = __webpack_require__(21867).Buffer
function OAuth (request) {
@ -215531,7 +215533,7 @@ module.exports = bytesToUuid;
// 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__(33373);
var crypto = __webpack_require__(76417);
module.exports = function nodeRNG() {
return crypto.randomBytes(16);
@ -219248,7 +219250,7 @@ module.exports = prerelease
/***/ }),
/***/ 76417:
/***/ 87499:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const compare = __webpack_require__(44309)
@ -219331,7 +219333,7 @@ module.exports = {
patch: __webpack_require__(42866),
prerelease: __webpack_require__(24016),
compare: __webpack_require__(44309),
rcompare: __webpack_require__(76417),
rcompare: __webpack_require__(87499),
compareLoose: __webpack_require__(62804),
compareBuild: __webpack_require__(92156),
sort: __webpack_require__(61426),
@ -224486,7 +224488,7 @@ module.exports = Certificate;
var assert = __webpack_require__(66631);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Fingerprint = __webpack_require__(13079);
var Signature = __webpack_require__(91394);
var errs = __webpack_require__(27979);
@ -224905,7 +224907,7 @@ module.exports = {
};
var assert = __webpack_require__(66631);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var utils = __webpack_require__(80575);
@ -225497,7 +225499,7 @@ module.exports = Fingerprint;
var assert = __webpack_require__(66631);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var errs = __webpack_require__(27979);
var Key = __webpack_require__(36814);
var PrivateKey = __webpack_require__(29602);
@ -226158,7 +226160,7 @@ module.exports = {
var assert = __webpack_require__(66631);
var SSHBuffer = __webpack_require__(25621);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var Key = __webpack_require__(36814);
@ -226510,7 +226512,7 @@ module.exports = {
var assert = __webpack_require__(66631);
var asn1 = __webpack_require__(80970);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var utils = __webpack_require__(80575);
@ -228108,7 +228110,7 @@ var asn1 = __webpack_require__(80970);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var utils = __webpack_require__(80575);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Key = __webpack_require__(36814);
var PrivateKey = __webpack_require__(29602);
@ -229346,7 +229348,7 @@ module.exports = Identity;
var assert = __webpack_require__(66631);
var algs = __webpack_require__(66126);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Fingerprint = __webpack_require__(13079);
var Signature = __webpack_require__(91394);
var errs = __webpack_require__(27979);
@ -229773,7 +229775,7 @@ module.exports = Key;
var assert = __webpack_require__(66631);
var algs = __webpack_require__(66126);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Fingerprint = __webpack_require__(13079);
var Signature = __webpack_require__(91394);
var DiffieHellman = __webpack_require__(57602).DiffieHellman;
@ -230075,7 +230077,7 @@ module.exports = PrivateKey;
var assert = __webpack_require__(66631);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var Fingerprint = __webpack_require__(13079);
var Signature = __webpack_require__(91394);
var errs = __webpack_require__(27979);
@ -230328,7 +230330,7 @@ module.exports = Signature;
var assert = __webpack_require__(66631);
var Buffer = __webpack_require__(15118).Buffer;
var algs = __webpack_require__(66126);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var errs = __webpack_require__(27979);
var utils = __webpack_require__(80575);
var asn1 = __webpack_require__(80970);
@ -230825,7 +230827,7 @@ var assert = __webpack_require__(66631);
var Buffer = __webpack_require__(15118).Buffer;
var PrivateKey = __webpack_require__(29602);
var Key = __webpack_require__(36814);
var crypto = __webpack_require__(33373);
var crypto = __webpack_require__(76417);
var algs = __webpack_require__(66126);
var asn1 = __webpack_require__(80970);
@ -234183,7 +234185,7 @@ const SKIP = Symbol('skip')
const DOCHOWN = Symbol('doChown')
const UID = Symbol('uid')
const GID = Symbol('gid')
const crypto = __webpack_require__(33373)
const crypto = __webpack_require__(76417)
const getFlag = __webpack_require__(91172)
/* istanbul ignore next */
@ -235449,7 +235451,7 @@ module.exports.setGracefulCleanup = tmp.setGracefulCleanup;
const fs = __webpack_require__(35747);
const os = __webpack_require__(12087);
const path = __webpack_require__(85622);
const crypto = __webpack_require__(33373);
const crypto = __webpack_require__(76417);
const _c = { fs: fs.constants, os: os.constants };
const rimraf = __webpack_require__(14959);
@ -241052,7 +241054,7 @@ nacl.setPRNG = function(fn) {
});
} else if (true) {
// Node.js.
crypto = __webpack_require__(33373);
crypto = __webpack_require__(76417);
if (crypto && crypto.randomBytes) {
nacl.setPRNG(function(x, n) {
var i, v = crypto.randomBytes(n);
@ -242569,7 +242571,7 @@ module.exports = bytesToUuid;
// 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__(33373);
var crypto = __webpack_require__(76417);
module.exports = function nodeRNG() {
return crypto.randomBytes(16);
@ -245165,7 +245167,7 @@ function error(ErrorCtor, message, prefix, statusCode) {
"use strict";
const { randomFillSync } = __webpack_require__(33373);
const { randomFillSync } = __webpack_require__(76417);
const PerMessageDeflate = __webpack_require__(56684);
const { EMPTY_BUFFER } = __webpack_require__(15949);
@ -245864,7 +245866,7 @@ try {
const EventEmitter = __webpack_require__(28614);
const { createHash } = __webpack_require__(33373);
const { createHash } = __webpack_require__(76417);
const { createServer, STATUS_CODES } = __webpack_require__(98605);
const PerMessageDeflate = __webpack_require__(56684);
@ -246282,7 +246284,7 @@ const https = __webpack_require__(57211);
const http = __webpack_require__(98605);
const net = __webpack_require__(11631);
const tls = __webpack_require__(4016);
const { randomBytes, createHash } = __webpack_require__(33373);
const { randomBytes, createHash } = __webpack_require__(76417);
const { URL } = __webpack_require__(78835);
const PerMessageDeflate = __webpack_require__(56684);
@ -259233,7 +259235,7 @@ module.exports = eval("require")("utf-8-validate");
/***/ 39140:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
let crypto = __webpack_require__(33373)
let crypto = __webpack_require__(76417)
let { urlAlphabet } = __webpack_require__(53861)
@ -266537,7 +266539,7 @@ module.exports = require("console");;
/***/ }),
/***/ 33373:
/***/ 76417:
/***/ ((module) => {
"use strict";

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,6 @@
import { customAlphabet } from 'nanoid';
import AndroidVersioning from './android-versioning';
import CloudRunnerConstants from './cloud-runner/services/cloud-runner-constants';
import Input from './input';
import Platform from './platform';
import UnityVersioning from './unity-versioning';
@ -46,6 +48,7 @@ class BuildParameters {
public githubRepo!: string;
public logToFile!: boolean;
public gitSha!: string;
public logId!: string;
static async create(): Promise<BuildParameters> {
const buildFile = this.parseBuildFile(Input.buildName, Input.targetPlatform, Input.androidAppBundle);
@ -99,6 +102,7 @@ class BuildParameters {
remoteBuildCluster: Input.cloudRunnerCluster,
awsStackName: Input.awsBaseStackName,
gitSha: Input.gitSha,
logId: customAlphabet(CloudRunnerConstants.alphabet, 9)(),
};
}

View File

@ -1,8 +1,6 @@
import * as SDK from 'aws-sdk';
import CloudRunnerTaskDef from '../services/cloud-runner-task-def';
import CloudRunnerSecret from '../services/cloud-runner-secret';
import CloudRunnerConstants from '../services/cloud-runner-constants';
import { customAlphabet } from 'nanoid';
import { AWSTemplates } from './aws-templates';
import CloudRunnerLogger from '../services/cloud-runner-logger';
import * as fs from 'fs';
@ -24,10 +22,6 @@ export class AWSJobStack {
workingdir: string,
secrets: CloudRunnerSecret[],
): Promise<CloudRunnerTaskDef> {
const logGuid = customAlphabet(CloudRunnerConstants.alphabet, 9)();
commands += `
echo "${logGuid}"
`;
const taskDefStackName = `${this.baseStackName}-${buildGuid}`;
let taskDefCloudFormation = AWSTemplates.readTaskCloudFormationTemplate();
const cleanupTaskDefStackName = `${taskDefStackName}-cleanup`;
@ -171,7 +165,8 @@ export class AWSJobStack {
const baseResources = (await CF.describeStackResources({ StackName: this.baseStackName }).promise()).StackResources;
// TODO: offer a parameter to decide if you want the guaranteed shutdown or fastest startup time possible
// TODO add a log to identify the time taken awaiting cleanup then review solutions based on how long this takes.
// One option is to offer an option to not await cleanup
return {
taskDefStackName,
@ -180,7 +175,6 @@ export class AWSJobStack {
ttlCloudFormation: cleanupCloudFormation,
taskDefResources,
baseResources,
logid: logGuid,
};
}
}

View File

@ -40,7 +40,7 @@ class AWSTaskRunner {
{
name: taskDef.taskDefStackName,
environment: [...environment, { name: 'BUILDID', value: buildGuid }],
command: ['-c', CloudRunnerBuildCommandProcessor.ProcessCommands(commands)],
command: ['-c', CloudRunnerBuildCommandProcessor.ProcessCommands(commands, CloudRunnerState.buildParams)],
},
],
},
@ -174,7 +174,7 @@ class AWSTaskRunner {
if (json.messageType === 'DATA_MESSAGE') {
for (let logEventsIndex = 0; logEventsIndex < json.logEvents.length; logEventsIndex++) {
let message = json.logEvents[logEventsIndex].message;
if (json.logEvents[logEventsIndex].message.includes(taskDef.logid)) {
if (json.logEvents[logEventsIndex].message.includes(CloudRunnerState.buildParams.logId)) {
CloudRunnerLogger.log('End of log transmission received');
shouldReadLogs = false;
} else if (message.includes('Rebuilding Library because the asset database could not be found!')) {

View File

@ -1,6 +1,7 @@
import BuildParameters from '../../build-parameters';
import { CloudRunnerBuildCommandProcessor } from '../services/cloud-runner-build-command-process';
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
import { CloudRunnerState } from '../state/cloud-runner-state';
class KubernetesJobSpecFactory {
static getJobSpec(
@ -105,7 +106,7 @@ class KubernetesJobSpecFactory {
name: 'main',
image,
command: ['/bin/sh'],
args: ['-c', CloudRunnerBuildCommandProcessor.ProcessCommands(command)],
args: ['-c', CloudRunnerBuildCommandProcessor.ProcessCommands(command, CloudRunnerState.buildParams)],
workingDir: `/${workingDirectory}`,
resources: {

View File

@ -1,9 +1,11 @@
import { BuildParameters } from '../..';
export class CloudRunnerBuildCommandProcessor {
public static ProcessCommands(commands: string): string {
public static ProcessCommands(commands: string, buildParameters: BuildParameters): string {
return `echo "---"
echo "start"
${commands}
echo "end"
echo "end--${buildParameters.logId}"
`;
}
}

View File

@ -7,6 +7,5 @@ class CloudRunnerTaskDef {
public ttlCloudFormation!: string;
public taskDefResources: AWS.CloudFormation.StackResources | undefined;
public baseResources: AWS.CloudFormation.StackResources | undefined;
public logid!: string;
}
export default CloudRunnerTaskDef;

View File

@ -11,6 +11,10 @@ class ImageEnvironmentFactory {
if (p.value === '' || p.value === undefined) {
continue;
}
if (p.value.includes(`\n`)) {
string += `--env ${p.name} `;
continue;
}
string += `--env ${p.name}="${p.value}" `;
}
return string;