diff --git a/dist/index.js b/dist/index.js
index 3d2b8436..0763fd4d 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -5,84 +5,84 @@ require('./sourcemap-register.js');/******/ (() => { // webpackBootstrap
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __importStar(__nccwpck_require__(42186));
-const model_1 = __nccwpck_require__(41359);
-const cli_1 = __nccwpck_require__(55651);
-const mac_builder_1 = __importDefault(__nccwpck_require__(39364));
-const platform_setup_1 = __importDefault(__nccwpck_require__(64423));
-function runMain() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- model_1.Action.checkCompatibility();
- model_1.Cache.verify();
- const { dockerfile, workspace, actionFolder } = model_1.Action;
- const buildParameters = yield model_1.BuildParameters.create();
- const baseImage = new model_1.ImageTag(buildParameters);
- let builtImage;
- if (buildParameters.cloudRunnerCluster &&
- buildParameters.cloudRunnerCluster !== '' &&
- buildParameters.cloudRunnerCluster !== 'local') {
- yield model_1.CloudRunner.run(buildParameters, baseImage.toString());
- }
- else {
- core.info('Building locally');
- yield platform_setup_1.default.setup(buildParameters, actionFolder);
- if (process.platform === 'darwin') {
- mac_builder_1.default.run(actionFolder, workspace, buildParameters);
- }
- else {
- builtImage = yield model_1.Docker.build({ path: actionFolder, dockerfile, baseImage });
- yield model_1.Docker.run(builtImage, Object.assign({ workspace }, buildParameters));
- }
- }
- // Set output
- yield model_1.Output.setBuildVersion(buildParameters.buildVersion);
- }
- catch (error) {
- core.setFailed(error.message);
- }
- });
-}
-const options = cli_1.CLI.SetupCli();
-if (cli_1.CLI.isCliMode(options)) {
- cli_1.CLI.RunCli(options);
-}
-else {
- runMain();
-}
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(42186));
+const model_1 = __nccwpck_require__(41359);
+const cli_1 = __nccwpck_require__(55651);
+const mac_builder_1 = __importDefault(__nccwpck_require__(39364));
+const platform_setup_1 = __importDefault(__nccwpck_require__(64423));
+function runMain() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ model_1.Action.checkCompatibility();
+ model_1.Cache.verify();
+ const { dockerfile, workspace, actionFolder } = model_1.Action;
+ const buildParameters = yield model_1.BuildParameters.create();
+ const baseImage = new model_1.ImageTag(buildParameters);
+ let builtImage;
+ if (buildParameters.cloudRunnerCluster &&
+ buildParameters.cloudRunnerCluster !== '' &&
+ buildParameters.cloudRunnerCluster !== 'local') {
+ yield model_1.CloudRunner.run(buildParameters, baseImage.toString());
+ }
+ else {
+ core.info('Building locally');
+ yield platform_setup_1.default.setup(buildParameters, actionFolder);
+ if (process.platform === 'darwin') {
+ mac_builder_1.default.run(actionFolder, workspace, buildParameters);
+ }
+ else {
+ builtImage = yield model_1.Docker.build({ path: actionFolder, dockerfile, baseImage });
+ yield model_1.Docker.run(builtImage, Object.assign({ workspace }, buildParameters));
+ }
+ }
+ // Set output
+ yield model_1.Output.setBuildVersion(buildParameters.buildVersion);
+ }
+ catch (error) {
+ core.setFailed(error.message);
+ }
+ });
+}
+const options = cli_1.CLI.SetupCli();
+if (cli_1.CLI.isCliMode(options)) {
+ cli_1.CLI.RunCli(options);
+}
+else {
+ runMain();
+}
/***/ }),
@@ -91,58 +91,58 @@ else {
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const path_1 = __importDefault(__nccwpck_require__(71017));
-class Action {
- static get supportedPlatforms() {
- return ['linux', 'win32', 'darwin'];
- }
- static get isRunningLocally() {
- return process.env.RUNNER_WORKSPACE === undefined;
- }
- static get isRunningFromSource() {
- return path_1.default.basename(__dirname) === 'model';
- }
- static get canonicalName() {
- return 'unity-builder';
- }
- static get rootFolder() {
- if (Action.isRunningFromSource) {
- return path_1.default.dirname(path_1.default.dirname(path_1.default.dirname(__filename)));
- }
- return path_1.default.dirname(path_1.default.dirname(__filename));
- }
- static get actionFolder() {
- return `${Action.rootFolder}/dist`;
- }
- static get dockerfile() {
- const currentPlatform = process.platform;
- switch (currentPlatform) {
- case 'linux':
- return `${Action.actionFolder}/platforms/ubuntu/Dockerfile`;
- case 'win32':
- return `${Action.actionFolder}/platforms/windows/Dockerfile`;
- case 'darwin':
- return 'unused'; //Mac doesn't use a container
- default:
- throw new Error(`No Dockerfile for currently unsupported platform: ${currentPlatform}`);
- }
- }
- static get workspace() {
- return process.env.GITHUB_WORKSPACE;
- }
- static checkCompatibility() {
- const currentPlatform = process.platform;
- if (!Action.supportedPlatforms.includes(currentPlatform)) {
- throw new Error(`Currently ${currentPlatform}-platform is not supported`);
- }
- }
-}
-exports["default"] = Action;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const path_1 = __importDefault(__nccwpck_require__(71017));
+class Action {
+ static get supportedPlatforms() {
+ return ['linux', 'win32', 'darwin'];
+ }
+ static get isRunningLocally() {
+ return process.env.RUNNER_WORKSPACE === undefined;
+ }
+ static get isRunningFromSource() {
+ return path_1.default.basename(__dirname) === 'model';
+ }
+ static get canonicalName() {
+ return 'unity-builder';
+ }
+ static get rootFolder() {
+ if (Action.isRunningFromSource) {
+ return path_1.default.dirname(path_1.default.dirname(path_1.default.dirname(__filename)));
+ }
+ return path_1.default.dirname(path_1.default.dirname(__filename));
+ }
+ static get actionFolder() {
+ return `${Action.rootFolder}/dist`;
+ }
+ static get dockerfile() {
+ const currentPlatform = process.platform;
+ switch (currentPlatform) {
+ case 'linux':
+ return `${Action.actionFolder}/platforms/ubuntu/Dockerfile`;
+ case 'win32':
+ return `${Action.actionFolder}/platforms/windows/Dockerfile`;
+ case 'darwin':
+ return 'unused'; //Mac doesn't use a container
+ default:
+ throw new Error(`No Dockerfile for currently unsupported platform: ${currentPlatform}`);
+ }
+ }
+ static get workspace() {
+ return process.env.GITHUB_WORKSPACE;
+ }
+ static checkCompatibility() {
+ const currentPlatform = process.platform;
+ if (!Action.supportedPlatforms.includes(currentPlatform)) {
+ throw new Error(`Currently ${currentPlatform}-platform is not supported`);
+ }
+ }
+}
+exports["default"] = Action;
/***/ }),
@@ -151,61 +151,61 @@ exports["default"] = Action;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __importStar(__nccwpck_require__(42186));
-const semver = __importStar(__nccwpck_require__(11383));
-class AndroidVersioning {
- static determineVersionCode(version, inputVersionCode) {
- if (!inputVersionCode) {
- return AndroidVersioning.versionToVersionCode(version);
- }
- return inputVersionCode;
- }
- static versionToVersionCode(version) {
- if (version === 'none') {
- core.info(`Versioning strategy is set to ${version}, so android version code should not be applied.`);
- return 0;
- }
- const parsedVersion = semver.parse(version);
- if (!parsedVersion) {
- core.warning(`Could not parse "${version}" to semver, defaulting android version code to 1`);
- return 1;
- }
- // The greatest value Google Plays allows is 2100000000.
- // Allow for 3 patch digits, 3 minor digits and 3 major digits.
- const versionCode = parsedVersion.major * 1000000 + parsedVersion.minor * 1000 + parsedVersion.patch;
- if (versionCode >= 2050000000) {
- throw new Error(`Generated versionCode ${versionCode} is dangerously close to the maximum allowed number 2100000000. Consider a different versioning scheme to be able to continue updating your application.`);
- }
- core.info(`Using android versionCode ${versionCode}`);
- return versionCode;
- }
- static determineSdkManagerParameters(targetSdkVersion) {
- const parsedVersion = Number.parseInt(targetSdkVersion.slice(-2), 10);
- return Number.isNaN(parsedVersion) ? '' : `platforms;android-${parsedVersion}`;
- }
-}
-exports["default"] = AndroidVersioning;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(42186));
+const semver = __importStar(__nccwpck_require__(11383));
+class AndroidVersioning {
+ static determineVersionCode(version, inputVersionCode) {
+ if (!inputVersionCode) {
+ return AndroidVersioning.versionToVersionCode(version);
+ }
+ return inputVersionCode;
+ }
+ static versionToVersionCode(version) {
+ if (version === 'none') {
+ core.info(`Versioning strategy is set to ${version}, so android version code should not be applied.`);
+ return 0;
+ }
+ const parsedVersion = semver.parse(version);
+ if (!parsedVersion) {
+ core.warning(`Could not parse "${version}" to semver, defaulting android version code to 1`);
+ return 1;
+ }
+ // The greatest value Google Plays allows is 2100000000.
+ // Allow for 3 patch digits, 3 minor digits and 3 major digits.
+ const versionCode = parsedVersion.major * 1000000 + parsedVersion.minor * 1000 + parsedVersion.patch;
+ if (versionCode >= 2050000000) {
+ throw new Error(`Generated versionCode ${versionCode} is dangerously close to the maximum allowed number 2100000000. Consider a different versioning scheme to be able to continue updating your application.`);
+ }
+ core.info(`Using android versionCode ${versionCode}`);
+ return versionCode;
+ }
+ static determineSdkManagerParameters(targetSdkVersion) {
+ const parsedVersion = Number.parseInt(targetSdkVersion.slice(-2), 10);
+ return Number.isNaN(parsedVersion) ? '' : `platforms;android-${parsedVersion}`;
+ }
+}
+exports["default"] = AndroidVersioning;
/***/ }),
@@ -214,139 +214,139 @@ exports["default"] = AndroidVersioning;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const nanoid_1 = __nccwpck_require__(17592);
-const core = __importStar(__nccwpck_require__(42186));
-const android_versioning_1 = __importDefault(__nccwpck_require__(43059));
-const cloud_runner_constants_1 = __importDefault(__nccwpck_require__(91311));
-const cloud_runner_namespace_1 = __importDefault(__nccwpck_require__(63287));
-const input_1 = __importDefault(__nccwpck_require__(91933));
-const platform_1 = __importDefault(__nccwpck_require__(9707));
-const unity_versioning_1 = __importDefault(__nccwpck_require__(17146));
-const versioning_1 = __importDefault(__nccwpck_require__(88729));
-class BuildParameters {
- static create() {
- return __awaiter(this, void 0, void 0, function* () {
- const buildFile = this.parseBuildFile(input_1.default.buildName, input_1.default.targetPlatform, input_1.default.androidAppBundle);
- const unityVersion = unity_versioning_1.default.determineUnityVersion(input_1.default.projectPath, input_1.default.unityVersion);
- const buildVersion = yield versioning_1.default.determineVersion(input_1.default.versioningStrategy, input_1.default.specifiedVersion);
- const androidVersionCode = android_versioning_1.default.determineVersionCode(buildVersion, input_1.default.androidVersionCode);
- const androidSdkManagerParameters = android_versioning_1.default.determineSdkManagerParameters(input_1.default.androidTargetSdkVersion);
- let unitySerial = '';
- if (!process.env.UNITY_SERIAL) {
- //No serial was present so it is a personal license that we need to convert
- if (!process.env.UNITY_LICENSE) {
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const nanoid_1 = __nccwpck_require__(17592);
+const core = __importStar(__nccwpck_require__(42186));
+const android_versioning_1 = __importDefault(__nccwpck_require__(43059));
+const cloud_runner_constants_1 = __importDefault(__nccwpck_require__(91311));
+const cloud_runner_namespace_1 = __importDefault(__nccwpck_require__(63287));
+const input_1 = __importDefault(__nccwpck_require__(91933));
+const platform_1 = __importDefault(__nccwpck_require__(9707));
+const unity_versioning_1 = __importDefault(__nccwpck_require__(17146));
+const versioning_1 = __importDefault(__nccwpck_require__(88729));
+class BuildParameters {
+ static create() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const buildFile = this.parseBuildFile(input_1.default.buildName, input_1.default.targetPlatform, input_1.default.androidAppBundle);
+ const unityVersion = unity_versioning_1.default.determineUnityVersion(input_1.default.projectPath, input_1.default.unityVersion);
+ const buildVersion = yield versioning_1.default.determineVersion(input_1.default.versioningStrategy, input_1.default.specifiedVersion);
+ const androidVersionCode = android_versioning_1.default.determineVersionCode(buildVersion, input_1.default.androidVersionCode);
+ const androidSdkManagerParameters = android_versioning_1.default.determineSdkManagerParameters(input_1.default.androidTargetSdkVersion);
+ let unitySerial = '';
+ if (!process.env.UNITY_SERIAL) {
+ //No serial was present so it is a personal license that we need to convert
+ if (!process.env.UNITY_LICENSE) {
throw new Error(`Missing Unity License File and no Serial was found. If this
is a personal license, make sure to follow the activation
steps and set the UNITY_LICENSE GitHub secret or enter a Unity
- serial number inside the UNITY_SERIAL GitHub secret.`);
- }
- unitySerial = this.getSerialFromLicenseFile(process.env.UNITY_LICENSE);
- }
- else {
- unitySerial = process.env.UNITY_SERIAL;
- }
- core.setSecret(unitySerial);
- return {
- version: unityVersion,
- customImage: input_1.default.customImage,
- unitySerial,
- runnerTempPath: process.env.RUNNER_TEMP,
- platform: input_1.default.targetPlatform,
- projectPath: input_1.default.projectPath,
- buildName: input_1.default.buildName,
- buildPath: `${input_1.default.buildsPath}/${input_1.default.targetPlatform}`,
- buildFile,
- buildMethod: input_1.default.buildMethod,
- buildVersion,
- androidVersionCode,
- androidKeystoreName: input_1.default.androidKeystoreName,
- androidKeystoreBase64: input_1.default.androidKeystoreBase64,
- androidKeystorePass: input_1.default.androidKeystorePass,
- androidKeyaliasName: input_1.default.androidKeyaliasName,
- androidKeyaliasPass: input_1.default.androidKeyaliasPass,
- androidTargetSdkVersion: input_1.default.androidTargetSdkVersion,
- androidSdkManagerParameters,
- customParameters: input_1.default.customParameters,
- sshAgent: input_1.default.sshAgent,
- gitPrivateToken: yield input_1.default.gitPrivateToken(),
- chownFilesTo: input_1.default.chownFilesTo,
- cloudRunnerCluster: input_1.default.cloudRunnerCluster,
- awsBaseStackName: input_1.default.awsBaseStackName,
- kubeConfig: input_1.default.kubeConfig,
- githubToken: yield input_1.default.githubToken(),
- cloudRunnerMemory: input_1.default.cloudRunnerMemory,
- cloudRunnerCpu: input_1.default.cloudRunnerCpu,
- kubeVolumeSize: input_1.default.kubeVolumeSize,
- kubeVolume: input_1.default.kubeVolume,
- postBuildSteps: input_1.default.postBuildSteps,
- preBuildSteps: input_1.default.preBuildSteps,
- customJob: input_1.default.customJob,
- runNumber: input_1.default.runNumber,
- branch: yield input_1.default.branch(),
- githubRepo: yield input_1.default.githubRepo(),
- 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)(),
- buildGuid: cloud_runner_namespace_1.default.generateBuildName(input_1.default.runNumber, input_1.default.targetPlatform),
- };
- });
- }
- static parseBuildFile(filename, platform, androidAppBundle) {
- if (platform_1.default.isWindows(platform)) {
- return `${filename}.exe`;
- }
- if (platform_1.default.isAndroid(platform)) {
- return androidAppBundle ? `${filename}.aab` : `${filename}.apk`;
- }
- return filename;
- }
- static getSerialFromLicenseFile(license) {
- const startKey = ``;
- const startIndex = license.indexOf(startKey) + startKey.length;
- if (startIndex < 0) {
- throw new Error(`License File was corrupted, unable to locate serial`);
- }
- const endIndex = license.indexOf(endKey, startIndex);
- // Slice off the first 4 characters as they are garbage values
- return Buffer.from(license.slice(startIndex, endIndex), 'base64').toString('binary').slice(4);
- }
-}
-exports["default"] = BuildParameters;
+ serial number inside the UNITY_SERIAL GitHub secret.`);
+ }
+ unitySerial = this.getSerialFromLicenseFile(process.env.UNITY_LICENSE);
+ }
+ else {
+ unitySerial = process.env.UNITY_SERIAL;
+ }
+ core.setSecret(unitySerial);
+ return {
+ version: unityVersion,
+ customImage: input_1.default.customImage,
+ unitySerial,
+ runnerTempPath: process.env.RUNNER_TEMP,
+ platform: input_1.default.targetPlatform,
+ projectPath: input_1.default.projectPath,
+ buildName: input_1.default.buildName,
+ buildPath: `${input_1.default.buildsPath}/${input_1.default.targetPlatform}`,
+ buildFile,
+ buildMethod: input_1.default.buildMethod,
+ buildVersion,
+ androidVersionCode,
+ androidKeystoreName: input_1.default.androidKeystoreName,
+ androidKeystoreBase64: input_1.default.androidKeystoreBase64,
+ androidKeystorePass: input_1.default.androidKeystorePass,
+ androidKeyaliasName: input_1.default.androidKeyaliasName,
+ androidKeyaliasPass: input_1.default.androidKeyaliasPass,
+ androidTargetSdkVersion: input_1.default.androidTargetSdkVersion,
+ androidSdkManagerParameters,
+ customParameters: input_1.default.customParameters,
+ sshAgent: input_1.default.sshAgent,
+ gitPrivateToken: yield input_1.default.gitPrivateToken(),
+ chownFilesTo: input_1.default.chownFilesTo,
+ cloudRunnerCluster: input_1.default.cloudRunnerCluster,
+ awsBaseStackName: input_1.default.awsBaseStackName,
+ kubeConfig: input_1.default.kubeConfig,
+ githubToken: yield input_1.default.githubToken(),
+ cloudRunnerMemory: input_1.default.cloudRunnerMemory,
+ cloudRunnerCpu: input_1.default.cloudRunnerCpu,
+ kubeVolumeSize: input_1.default.kubeVolumeSize,
+ kubeVolume: input_1.default.kubeVolume,
+ postBuildSteps: input_1.default.postBuildSteps,
+ preBuildSteps: input_1.default.preBuildSteps,
+ customJob: input_1.default.customJob,
+ runNumber: input_1.default.runNumber,
+ branch: yield input_1.default.branch(),
+ githubRepo: yield input_1.default.githubRepo(),
+ 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)(),
+ buildGuid: cloud_runner_namespace_1.default.generateBuildName(input_1.default.runNumber, input_1.default.targetPlatform),
+ };
+ });
+ }
+ static parseBuildFile(filename, platform, androidAppBundle) {
+ if (platform_1.default.isWindows(platform)) {
+ return `${filename}.exe`;
+ }
+ if (platform_1.default.isAndroid(platform)) {
+ return androidAppBundle ? `${filename}.aab` : `${filename}.apk`;
+ }
+ return filename;
+ }
+ static getSerialFromLicenseFile(license) {
+ const startKey = ``;
+ const startIndex = license.indexOf(startKey) + startKey.length;
+ if (startIndex < 0) {
+ throw new Error(`License File was corrupted, unable to locate serial`);
+ }
+ const endIndex = license.indexOf(endKey, startIndex);
+ // Slice off the first 4 characters as they are garbage values
+ return Buffer.from(license.slice(startIndex, endIndex), 'base64').toString('binary').slice(4);
+ }
+}
+exports["default"] = BuildParameters;
/***/ }),
@@ -355,52 +355,52 @@ exports["default"] = BuildParameters;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __importStar(__nccwpck_require__(42186));
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const action_1 = __importDefault(__nccwpck_require__(89088));
-const project_1 = __importDefault(__nccwpck_require__(88666));
-class Cache {
- static verify() {
- if (!fs_1.default.existsSync(project_1.default.libraryFolder)) {
- this.notifyAboutCachingPossibility();
- }
- }
- static notifyAboutCachingPossibility() {
- if (action_1.default.isRunningLocally) {
- return;
- }
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(42186));
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const action_1 = __importDefault(__nccwpck_require__(89088));
+const project_1 = __importDefault(__nccwpck_require__(88666));
+class Cache {
+ static verify() {
+ if (!fs_1.default.existsSync(project_1.default.libraryFolder)) {
+ this.notifyAboutCachingPossibility();
+ }
+ }
+ static notifyAboutCachingPossibility() {
+ if (action_1.default.isRunningLocally) {
+ return;
+ }
core.warning(`
Library folder does not exist.
Consider setting up caching to speed up your workflow,
if this is not your first build.
- `);
- }
-}
-exports["default"] = Cache;
+ `);
+ }
+}
+exports["default"] = Cache;
/***/ }),
@@ -409,35 +409,35 @@ exports["default"] = Cache;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.GetAllCliModes = exports.GetCliFunctions = exports.CliFunction = void 0;
-const targets = new Array();
-function CliFunction(key, description) {
- return function (target, propertyKey, descriptor) {
- targets.push({
- target,
- propertyKey,
- descriptor,
- key,
- description,
- });
- };
-}
-exports.CliFunction = CliFunction;
-function GetCliFunctions(key) {
- return targets.find((x) => x.key === key);
-}
-exports.GetCliFunctions = GetCliFunctions;
-function GetAllCliModes() {
- return targets.map((x) => {
- return {
- key: x.key,
- description: x.description,
- };
- });
-}
-exports.GetAllCliModes = GetAllCliModes;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GetAllCliModes = exports.GetCliFunctions = exports.CliFunction = void 0;
+const targets = new Array();
+function CliFunction(key, description) {
+ return function (target, propertyKey, descriptor) {
+ targets.push({
+ target,
+ propertyKey,
+ descriptor,
+ key,
+ description,
+ });
+ };
+}
+exports.CliFunction = CliFunction;
+function GetCliFunctions(key) {
+ return targets.find((x) => x.key === key);
+}
+exports.GetCliFunctions = GetCliFunctions;
+function GetAllCliModes() {
+ return targets.map((x) => {
+ return {
+ key: x.key,
+ description: x.description,
+ };
+ });
+}
+exports.GetAllCliModes = GetAllCliModes;
/***/ }),
@@ -446,141 +446,141 @@ exports.GetAllCliModes = GetAllCliModes;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
-};
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CLI = void 0;
-const commander_ts_1 = __nccwpck_require__(40451);
-const __1 = __nccwpck_require__(41359);
-const core = __importStar(__nccwpck_require__(42186));
-const action_yaml_1 = __nccwpck_require__(11091);
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const cli_decorator_1 = __nccwpck_require__(8731);
-const remote_client_logger_1 = __nccwpck_require__(28082);
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const setup_cloud_runner_repository_1 = __nccwpck_require__(39656);
-const SDK = __importStar(__nccwpck_require__(71786));
-class CLI {
- static RunCli(options) {
- return __awaiter(this, void 0, void 0, function* () {
- __1.Input.githubInputEnabled = false;
- const results = cli_decorator_1.GetCliFunctions(options.mode);
- if (results === undefined || results.length === 0) {
- throw new Error('no CLI mode found');
- }
- cloud_runner_logger_1.default.log(`Entrypoint: ${results.key}`);
- options.versioning = 'None';
- __1.Input.cliOptions = options;
- return yield results.target[results.propertyKey]();
- });
- }
- static isCliMode(options) {
- return options.mode !== undefined && options.mode !== '';
- }
- static SetupCli() {
- const program = new commander_ts_1.Command();
- program.version('0.0.1');
- const properties = Object.getOwnPropertyNames(__1.Input);
- core.info(`\n`);
- core.info(`INPUT:`);
- const actionYamlReader = new action_yaml_1.ActionYamlReader();
- for (const element of properties) {
- program.option(`--${element} <${element}>`, actionYamlReader.GetActionYamlValue(element));
- if (__1.Input[element] !== undefined && __1.Input[element] !== '' && typeof __1.Input[element] !== `function`) {
- core.info(`${element} ${__1.Input[element]}`);
- }
- }
- core.info(`\n`);
- program.option('-m, --mode ', cli_decorator_1.GetAllCliModes()
- .map((x) => `${x.key} (${x.description})`)
- .join(` | `));
- program.parse(process.argv);
- return program.opts();
- }
- static CLIBuild() {
- return __awaiter(this, void 0, void 0, function* () {
- const buildParameter = yield __1.BuildParameters.create();
- const baseImage = new __1.ImageTag(buildParameter);
- return yield __1.CloudRunner.run(buildParameter, baseImage.toString());
- });
- }
- static runRemoteClientJob() {
- return __awaiter(this, void 0, void 0, function* () {
- const buildParameter = JSON.parse(process.env.BUILD_PARAMETERS || '{}');
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CLI = void 0;
+const commander_ts_1 = __nccwpck_require__(40451);
+const __1 = __nccwpck_require__(41359);
+const core = __importStar(__nccwpck_require__(42186));
+const action_yaml_1 = __nccwpck_require__(11091);
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const cli_decorator_1 = __nccwpck_require__(8731);
+const remote_client_logger_1 = __nccwpck_require__(28082);
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const setup_cloud_runner_repository_1 = __nccwpck_require__(39656);
+const SDK = __importStar(__nccwpck_require__(71786));
+class CLI {
+ static RunCli(options) {
+ return __awaiter(this, void 0, void 0, function* () {
+ __1.Input.githubInputEnabled = false;
+ const results = cli_decorator_1.GetCliFunctions(options.mode);
+ if (results === undefined || results.length === 0) {
+ throw new Error('no CLI mode found');
+ }
+ cloud_runner_logger_1.default.log(`Entrypoint: ${results.key}`);
+ options.versioning = 'None';
+ __1.Input.cliOptions = options;
+ return yield results.target[results.propertyKey]();
+ });
+ }
+ static isCliMode(options) {
+ return options.mode !== undefined && options.mode !== '';
+ }
+ static SetupCli() {
+ const program = new commander_ts_1.Command();
+ program.version('0.0.1');
+ const properties = Object.getOwnPropertyNames(__1.Input);
+ core.info(`\n`);
+ core.info(`INPUT:`);
+ const actionYamlReader = new action_yaml_1.ActionYamlReader();
+ for (const element of properties) {
+ program.option(`--${element} <${element}>`, actionYamlReader.GetActionYamlValue(element));
+ if (__1.Input[element] !== undefined && __1.Input[element] !== '' && typeof __1.Input[element] !== `function`) {
+ core.info(`${element} ${__1.Input[element]}`);
+ }
+ }
+ core.info(`\n`);
+ program.option('-m, --mode ', cli_decorator_1.GetAllCliModes()
+ .map((x) => `${x.key} (${x.description})`)
+ .join(` | `));
+ program.parse(process.argv);
+ return program.opts();
+ }
+ static CLIBuild() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const buildParameter = yield __1.BuildParameters.create();
+ const baseImage = new __1.ImageTag(buildParameter);
+ return yield __1.CloudRunner.run(buildParameter, baseImage.toString());
+ });
+ }
+ static runRemoteClientJob() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const buildParameter = JSON.parse(process.env.BUILD_PARAMETERS || '{}');
remote_client_logger_1.RemoteClientLogger.log(`Build Params:
${JSON.stringify(buildParameter, undefined, 4)}
- `);
- cloud_runner_state_1.CloudRunnerState.setup(buildParameter);
- yield setup_cloud_runner_repository_1.SetupCloudRunnerRepository.run();
- });
- }
- static cachePush() {
- return __awaiter(this, void 0, void 0, function* () { });
- }
- static cachePull() {
- return __awaiter(this, void 0, void 0, function* () { });
- }
- static garbageCollectAws() {
- return __awaiter(this, void 0, void 0, function* () {
- process.env.AWS_REGION = __1.Input.region;
- const CF = new SDK.CloudFormation();
- const stacks = yield CF.listStacks().promise();
- cloud_runner_logger_1.default.log(JSON.stringify(stacks, undefined, 4));
- });
- }
-}
-__decorate([
- cli_decorator_1.CliFunction(`cli`, `runs a cloud runner build`)
-], CLI, "CLIBuild", null);
-__decorate([
- cli_decorator_1.CliFunction(`remote-cli`, `sets up a repository, usually before a game-ci build`)
-], CLI, "runRemoteClientJob", null);
-__decorate([
- cli_decorator_1.CliFunction(`cach-push`, `push to cache`)
-], CLI, "cachePush", null);
-__decorate([
- cli_decorator_1.CliFunction(`cach-pull`, `pull from cache`)
-], CLI, "cachePull", null);
-__decorate([
- cli_decorator_1.CliFunction(`garbage-collect-aws`, `garbage collect aws`)
-], CLI, "garbageCollectAws", null);
-exports.CLI = CLI;
+ `);
+ cloud_runner_state_1.CloudRunnerState.setup(buildParameter);
+ yield setup_cloud_runner_repository_1.SetupCloudRunnerRepository.run();
+ });
+ }
+ static cachePush() {
+ return __awaiter(this, void 0, void 0, function* () { });
+ }
+ static cachePull() {
+ return __awaiter(this, void 0, void 0, function* () { });
+ }
+ static garbageCollectAws() {
+ return __awaiter(this, void 0, void 0, function* () {
+ process.env.AWS_REGION = __1.Input.region;
+ const CF = new SDK.CloudFormation();
+ const stacks = yield CF.listStacks().promise();
+ cloud_runner_logger_1.default.log(JSON.stringify(stacks, undefined, 4));
+ });
+ }
+}
+__decorate([
+ cli_decorator_1.CliFunction(`cli`, `runs a cloud runner build`)
+], CLI, "CLIBuild", null);
+__decorate([
+ cli_decorator_1.CliFunction(`remote-cli`, `sets up a repository, usually before a game-ci build`)
+], CLI, "runRemoteClientJob", null);
+__decorate([
+ cli_decorator_1.CliFunction(`cach-push`, `push to cache`)
+], CLI, "cachePush", null);
+__decorate([
+ cli_decorator_1.CliFunction(`cach-pull`, `pull from cache`)
+], CLI, "cachePull", null);
+__decorate([
+ cli_decorator_1.CliFunction(`garbage-collect-aws`, `garbage collect aws`)
+], CLI, "garbageCollectAws", null);
+exports.CLI = CLI;
/***/ }),
@@ -589,130 +589,130 @@ exports.CLI = CLI;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.Caching = void 0;
-const console_1 = __nccwpck_require__(96206);
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const __1 = __nccwpck_require__(41359);
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const cloud_runner_system_1 = __nccwpck_require__(66879);
-const lfs_hashing_1 = __nccwpck_require__(31938);
-const remote_client_logger_1 = __nccwpck_require__(28082);
-class Caching {
- static PushToCache(cacheFolder, sourceFolder, cacheKey) {
- return __awaiter(this, void 0, void 0, function* () {
- const startPath = process.cwd();
- try {
- if (!fs_1.default.existsSync(cacheFolder)) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cacheFolder}`);
- }
- process.chdir(path_1.default.resolve(sourceFolder, '..'));
- if (__1.Input.cloudRunnerTests) {
- cloud_runner_logger_1.default.log(`Hashed cache folder ${yield lfs_hashing_1.LFSHashing.hashAllFiles(sourceFolder)} ${sourceFolder} ${path_1.default.basename(sourceFolder)}`);
- }
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls ${path_1.default.basename(sourceFolder)}`);
- }
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`zip ${cacheKey}.zip ${path_1.default.basename(sourceFolder)}`);
- console_1.assert(fs_1.default.existsSync(`${cacheKey}.zip`), 'cache zip exists');
- console_1.assert(fs_1.default.existsSync(path_1.default.basename(sourceFolder)), 'source folder exists');
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`mv ${cacheKey}.zip ${cacheFolder}`);
- remote_client_logger_1.RemoteClientLogger.log(`moved ${cacheKey}.zip to ${cacheFolder}`);
- console_1.assert(fs_1.default.existsSync(`${path_1.default.join(cacheFolder, cacheKey)}.zip`), 'cache zip exists inside cache folder');
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls ${cacheFolder}`);
- }
- }
- catch (error) {
- process.chdir(`${startPath}`);
- throw error;
- }
- process.chdir(`${startPath}`);
- });
- }
- static PullFromCache(cacheFolder, destinationFolder, cacheKey = ``) {
- return __awaiter(this, void 0, void 0, function* () {
- const startPath = process.cwd();
- remote_client_logger_1.RemoteClientLogger.log(`Caching for ${path_1.default.basename(destinationFolder)}`);
- try {
- if (!fs_1.default.existsSync(cacheFolder)) {
- fs_1.default.mkdirSync(cacheFolder);
- }
- if (!fs_1.default.existsSync(destinationFolder)) {
- fs_1.default.mkdirSync(destinationFolder);
- }
- const latestInBranch = yield (yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -t "${cacheFolder}" | grep .zip$ | head -1`))
- .replace(/\n/g, ``)
- .replace('.zip', '');
- process.chdir(cacheFolder);
- const cacheSelection = cacheKey !== `` && fs_1.default.existsSync(`${cacheKey}.zip`) ? cacheKey : latestInBranch;
- yield cloud_runner_logger_1.default.log(`cache key ${cacheKey} selection ${cacheSelection}`);
- if (fs_1.default.existsSync(`${cacheSelection}.zip`)) {
- const resultsFolder = `results${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}`;
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${resultsFolder}`);
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${destinationFolder}`);
- }
- remote_client_logger_1.RemoteClientLogger.log(`cache item exists ${cacheFolder}/${cacheSelection}.zip`);
- console_1.assert(`${fs_1.default.existsSync(destinationFolder)}`);
- console_1.assert(`${fs_1.default.existsSync(`${cacheSelection}.zip`)}`);
- const fullResultsFolder = path_1.default.join(cacheFolder, resultsFolder);
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${cacheFolder}`);
- }
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`unzip ${cacheSelection}.zip -d ${path_1.default.basename(resultsFolder)}`);
- remote_client_logger_1.RemoteClientLogger.log(`cache item extracted to ${fullResultsFolder}`);
- console_1.assert(`${fs_1.default.existsSync(fullResultsFolder)}`);
- const destinationParentFolder = path_1.default.resolve(destinationFolder, '..');
- if (fs_1.default.existsSync(destinationFolder)) {
- fs_1.default.rmSync(destinationFolder, { recursive: true, force: true });
- }
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`mv "${fullResultsFolder}/${path_1.default.basename(destinationFolder)}" "${destinationParentFolder}"`);
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${destinationParentFolder}`);
- }
- }
- else {
- remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheKey} doesn't exist ${destinationFolder}`);
- if (cacheSelection !== ``) {
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${cacheFolder}`);
- }
- remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheKey}.zip doesn't exist ${destinationFolder}`);
- throw new Error(`Failed to get cache item, but cache hit was found: ${cacheSelection}`);
- }
- }
- }
- catch (error) {
- process.chdir(`${startPath}`);
- throw error;
- }
- process.chdir(`${startPath}`);
- });
- }
- static handleCachePurging() {
- if (process.env.PURGE_REMOTE_BUILDER_CACHE !== undefined) {
- remote_client_logger_1.RemoteClientLogger.log(`purging ${cloud_runner_state_1.CloudRunnerState.purgeRemoteCaching}`);
- fs_1.default.rmdirSync(cloud_runner_state_1.CloudRunnerState.cacheFolder, { recursive: true });
- }
- }
-}
-exports.Caching = Caching;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Caching = void 0;
+const console_1 = __nccwpck_require__(96206);
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const __1 = __nccwpck_require__(41359);
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const cloud_runner_system_1 = __nccwpck_require__(66879);
+const lfs_hashing_1 = __nccwpck_require__(31938);
+const remote_client_logger_1 = __nccwpck_require__(28082);
+class Caching {
+ static PushToCache(cacheFolder, sourceFolder, cacheKey) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const startPath = process.cwd();
+ try {
+ if (!fs_1.default.existsSync(cacheFolder)) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cacheFolder}`);
+ }
+ process.chdir(path_1.default.resolve(sourceFolder, '..'));
+ if (__1.Input.cloudRunnerTests) {
+ cloud_runner_logger_1.default.log(`Hashed cache folder ${yield lfs_hashing_1.LFSHashing.hashAllFiles(sourceFolder)} ${sourceFolder} ${path_1.default.basename(sourceFolder)}`);
+ }
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls ${path_1.default.basename(sourceFolder)}`);
+ }
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`zip ${cacheKey}.zip ${path_1.default.basename(sourceFolder)}`);
+ console_1.assert(fs_1.default.existsSync(`${cacheKey}.zip`), 'cache zip exists');
+ console_1.assert(fs_1.default.existsSync(path_1.default.basename(sourceFolder)), 'source folder exists');
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`mv ${cacheKey}.zip ${cacheFolder}`);
+ remote_client_logger_1.RemoteClientLogger.log(`moved ${cacheKey}.zip to ${cacheFolder}`);
+ console_1.assert(fs_1.default.existsSync(`${path_1.default.join(cacheFolder, cacheKey)}.zip`), 'cache zip exists inside cache folder');
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls ${cacheFolder}`);
+ }
+ }
+ catch (error) {
+ process.chdir(`${startPath}`);
+ throw error;
+ }
+ process.chdir(`${startPath}`);
+ });
+ }
+ static PullFromCache(cacheFolder, destinationFolder, cacheKey = ``) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const startPath = process.cwd();
+ remote_client_logger_1.RemoteClientLogger.log(`Caching for ${path_1.default.basename(destinationFolder)}`);
+ try {
+ if (!fs_1.default.existsSync(cacheFolder)) {
+ fs_1.default.mkdirSync(cacheFolder);
+ }
+ if (!fs_1.default.existsSync(destinationFolder)) {
+ fs_1.default.mkdirSync(destinationFolder);
+ }
+ const latestInBranch = yield (yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -t "${cacheFolder}" | grep .zip$ | head -1`))
+ .replace(/\n/g, ``)
+ .replace('.zip', '');
+ process.chdir(cacheFolder);
+ const cacheSelection = cacheKey !== `` && fs_1.default.existsSync(`${cacheKey}.zip`) ? cacheKey : latestInBranch;
+ yield cloud_runner_logger_1.default.log(`cache key ${cacheKey} selection ${cacheSelection}`);
+ if (fs_1.default.existsSync(`${cacheSelection}.zip`)) {
+ const resultsFolder = `results${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}`;
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${resultsFolder}`);
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${destinationFolder}`);
+ }
+ remote_client_logger_1.RemoteClientLogger.log(`cache item exists ${cacheFolder}/${cacheSelection}.zip`);
+ console_1.assert(`${fs_1.default.existsSync(destinationFolder)}`);
+ console_1.assert(`${fs_1.default.existsSync(`${cacheSelection}.zip`)}`);
+ const fullResultsFolder = path_1.default.join(cacheFolder, resultsFolder);
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${cacheFolder}`);
+ }
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`unzip ${cacheSelection}.zip -d ${path_1.default.basename(resultsFolder)}`);
+ remote_client_logger_1.RemoteClientLogger.log(`cache item extracted to ${fullResultsFolder}`);
+ console_1.assert(`${fs_1.default.existsSync(fullResultsFolder)}`);
+ const destinationParentFolder = path_1.default.resolve(destinationFolder, '..');
+ if (fs_1.default.existsSync(destinationFolder)) {
+ fs_1.default.rmSync(destinationFolder, { recursive: true, force: true });
+ }
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`mv "${fullResultsFolder}/${path_1.default.basename(destinationFolder)}" "${destinationParentFolder}"`);
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${destinationParentFolder}`);
+ }
+ }
+ else {
+ remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheKey} doesn't exist ${destinationFolder}`);
+ if (cacheSelection !== ``) {
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree ${cacheFolder}`);
+ }
+ remote_client_logger_1.RemoteClientLogger.logWarning(`cache item ${cacheKey}.zip doesn't exist ${destinationFolder}`);
+ throw new Error(`Failed to get cache item, but cache hit was found: ${cacheSelection}`);
+ }
+ }
+ }
+ catch (error) {
+ process.chdir(`${startPath}`);
+ throw error;
+ }
+ process.chdir(`${startPath}`);
+ });
+ }
+ static handleCachePurging() {
+ if (process.env.PURGE_REMOTE_BUILDER_CACHE !== undefined) {
+ remote_client_logger_1.RemoteClientLogger.log(`purging ${cloud_runner_state_1.CloudRunnerState.purgeRemoteCaching}`);
+ fs_1.default.rmdirSync(cloud_runner_state_1.CloudRunnerState.cacheFolder, { recursive: true });
+ }
+ }
+}
+exports.Caching = Caching;
/***/ }),
@@ -721,57 +721,57 @@ exports.Caching = Caching;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CloudRunnerSystem = void 0;
-const child_process_1 = __nccwpck_require__(32081);
-const remote_client_logger_1 = __nccwpck_require__(28082);
-class CloudRunnerSystem {
- static Run(command, suppressError = false) {
- return __awaiter(this, void 0, void 0, function* () {
- for (const element of command.split(`\n`)) {
- remote_client_logger_1.RemoteClientLogger.log(element);
- }
- return yield new Promise((promise) => {
- let output = '';
- const child = child_process_1.exec(command, (error, stdout, stderr) => {
- if (error && !suppressError) {
- throw error;
- }
- if (stderr) {
- const diagnosticOutput = `${stderr.toString()}`;
- remote_client_logger_1.RemoteClientLogger.logCliDiagnostic(diagnosticOutput);
- output += diagnosticOutput;
- return;
- }
- const outputChunk = `${stdout}`;
- output += outputChunk;
- });
- child.on('close', function (code) {
- remote_client_logger_1.RemoteClientLogger.log(`[Exit code ${code}]`);
- if (code !== 0 && !suppressError) {
- throw new Error(output);
- }
- const outputLines = output.split(`\n`);
- for (const element of outputLines) {
- remote_client_logger_1.RemoteClientLogger.log(element);
- }
- promise(output);
- });
- });
- });
- }
-}
-exports.CloudRunnerSystem = CloudRunnerSystem;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudRunnerSystem = void 0;
+const child_process_1 = __nccwpck_require__(32081);
+const remote_client_logger_1 = __nccwpck_require__(28082);
+class CloudRunnerSystem {
+ static Run(command, suppressError = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ for (const element of command.split(`\n`)) {
+ remote_client_logger_1.RemoteClientLogger.log(element);
+ }
+ return yield new Promise((promise) => {
+ let output = '';
+ const child = child_process_1.exec(command, (error, stdout, stderr) => {
+ if (error && !suppressError) {
+ throw error;
+ }
+ if (stderr) {
+ const diagnosticOutput = `${stderr.toString()}`;
+ remote_client_logger_1.RemoteClientLogger.logCliDiagnostic(diagnosticOutput);
+ output += diagnosticOutput;
+ return;
+ }
+ const outputChunk = `${stdout}`;
+ output += outputChunk;
+ });
+ child.on('close', function (code) {
+ remote_client_logger_1.RemoteClientLogger.log(`[Exit code ${code}]`);
+ if (code !== 0 && !suppressError) {
+ throw new Error(output);
+ }
+ const outputLines = output.split(`\n`);
+ for (const element of outputLines) {
+ remote_client_logger_1.RemoteClientLogger.log(element);
+ }
+ promise(output);
+ });
+ });
+ });
+ }
+}
+exports.CloudRunnerSystem = CloudRunnerSystem;
/***/ }),
@@ -780,68 +780,68 @@ exports.CloudRunnerSystem = CloudRunnerSystem;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.LFSHashing = void 0;
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const cloud_runner_system_1 = __nccwpck_require__(66879);
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const console_1 = __nccwpck_require__(96206);
-const __1 = __nccwpck_require__(41359);
-const remote_client_logger_1 = __nccwpck_require__(28082);
-class LFSHashing {
- static createLFSHashFiles() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs ls-files -l | cut -d ' ' -f1 | sort > .lfs-assets-guid`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`md5sum .lfs-assets-guid > .lfs-assets-guid-sum`);
- console_1.assert(fs_1.default.existsSync(`.lfs-assets-guid-sum`));
- console_1.assert(fs_1.default.existsSync(`.lfs-assets-guid`));
- const lfsHashes = {
- lfsGuid: fs_1.default
- .readFileSync(`${path_1.default.join(cloud_runner_state_1.CloudRunnerState.repoPathFull, `.lfs-assets-guid`)}`, 'utf8')
- .replace(/\n/g, ``),
- lfsGuidSum: fs_1.default
- .readFileSync(`${path_1.default.join(cloud_runner_state_1.CloudRunnerState.repoPathFull, `.lfs-assets-guid-sum`)}`, 'utf8')
- .replace(/\n/g, ``),
- };
- if (__1.Input.cloudRunnerTests) {
- remote_client_logger_1.RemoteClientLogger.log(lfsHashes.lfsGuid);
- remote_client_logger_1.RemoteClientLogger.log(lfsHashes.lfsGuidSum);
- }
- return lfsHashes;
- }
- catch (error) {
- throw error;
- }
- });
- }
- static hashAllFiles(folder) {
- return __awaiter(this, void 0, void 0, function* () {
- const startPath = process.cwd();
- process.chdir(folder);
- const result = yield (yield cloud_runner_system_1.CloudRunnerSystem.Run(`find -type f -exec md5sum "{}" + | sort | md5sum`))
- .replace(/\n/g, '')
- .split(` `)[0];
- process.chdir(startPath);
- return result;
- });
- }
-}
-exports.LFSHashing = LFSHashing;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.LFSHashing = void 0;
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const cloud_runner_system_1 = __nccwpck_require__(66879);
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const console_1 = __nccwpck_require__(96206);
+const __1 = __nccwpck_require__(41359);
+const remote_client_logger_1 = __nccwpck_require__(28082);
+class LFSHashing {
+ static createLFSHashFiles() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs ls-files -l | cut -d ' ' -f1 | sort > .lfs-assets-guid`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`md5sum .lfs-assets-guid > .lfs-assets-guid-sum`);
+ console_1.assert(fs_1.default.existsSync(`.lfs-assets-guid-sum`));
+ console_1.assert(fs_1.default.existsSync(`.lfs-assets-guid`));
+ const lfsHashes = {
+ lfsGuid: fs_1.default
+ .readFileSync(`${path_1.default.join(cloud_runner_state_1.CloudRunnerState.repoPathFull, `.lfs-assets-guid`)}`, 'utf8')
+ .replace(/\n/g, ``),
+ lfsGuidSum: fs_1.default
+ .readFileSync(`${path_1.default.join(cloud_runner_state_1.CloudRunnerState.repoPathFull, `.lfs-assets-guid-sum`)}`, 'utf8')
+ .replace(/\n/g, ``),
+ };
+ if (__1.Input.cloudRunnerTests) {
+ remote_client_logger_1.RemoteClientLogger.log(lfsHashes.lfsGuid);
+ remote_client_logger_1.RemoteClientLogger.log(lfsHashes.lfsGuidSum);
+ }
+ return lfsHashes;
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+ static hashAllFiles(folder) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const startPath = process.cwd();
+ process.chdir(folder);
+ const result = yield (yield cloud_runner_system_1.CloudRunnerSystem.Run(`find -type f -exec md5sum "{}" + | sort | md5sum`))
+ .replace(/\n/g, '')
+ .split(` `)[0];
+ process.chdir(startPath);
+ return result;
+ });
+ }
+}
+exports.LFSHashing = LFSHashing;
/***/ }),
@@ -850,28 +850,28 @@ exports.LFSHashing = LFSHashing;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.RemoteClientLogger = void 0;
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-class RemoteClientLogger {
- static log(message) {
- cloud_runner_logger_1.default.log(`[Client] ${message}`);
- }
- static logCliError(message) {
- cloud_runner_logger_1.default.log(`[Client][Error] ${message}`);
- }
- static logCliDiagnostic(message) {
- cloud_runner_logger_1.default.log(`[Client][Diagnostic] ${message}`);
- }
- static logWarning(message) {
- cloud_runner_logger_1.default.logWarning(message);
- }
-}
-exports.RemoteClientLogger = RemoteClientLogger;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.RemoteClientLogger = void 0;
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+class RemoteClientLogger {
+ static log(message) {
+ cloud_runner_logger_1.default.log(`[Client] ${message}`);
+ }
+ static logCliError(message) {
+ cloud_runner_logger_1.default.log(`[Client][Error] ${message}`);
+ }
+ static logCliDiagnostic(message) {
+ cloud_runner_logger_1.default.log(`[Client][Diagnostic] ${message}`);
+ }
+ static logWarning(message) {
+ cloud_runner_logger_1.default.logWarning(message);
+ }
+}
+exports.RemoteClientLogger = RemoteClientLogger;
/***/ }),
@@ -880,94 +880,94 @@ exports.RemoteClientLogger = RemoteClientLogger;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.SetupCloudRunnerRepository = void 0;
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const caching_1 = __nccwpck_require__(38759);
-const lfs_hashing_1 = __nccwpck_require__(31938);
-const cloud_runner_system_1 = __nccwpck_require__(66879);
-const __1 = __nccwpck_require__(41359);
-const remote_client_logger_1 = __nccwpck_require__(28082);
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const console_1 = __nccwpck_require__(96206);
-class SetupCloudRunnerRepository {
- static run() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cloud_runner_state_1.CloudRunnerState.buildPathFull}`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cloud_runner_state_1.CloudRunnerState.repoPathFull}`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cloud_runner_state_1.CloudRunnerState.cacheFolderFull}`);
- process.chdir(cloud_runner_state_1.CloudRunnerState.repoPathFull);
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree`);
- }
- yield SetupCloudRunnerRepository.cloneRepoWithoutLFSFiles();
- if (__1.Input.cloudRunnerTests) {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree`);
- }
- const lfsHashes = yield lfs_hashing_1.LFSHashing.createLFSHashFiles();
- if (fs_1.default.existsSync(cloud_runner_state_1.CloudRunnerState.libraryFolderFull)) {
- remote_client_logger_1.RemoteClientLogger.logWarning(`!Warning!: The Unity library was included in the git repository`);
- }
- yield caching_1.Caching.PullFromCache(cloud_runner_state_1.CloudRunnerState.lfsCacheFolderFull, cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull, `${lfsHashes.lfsGuid}`);
- yield SetupCloudRunnerRepository.pullLatestLFS();
- yield caching_1.Caching.PushToCache(cloud_runner_state_1.CloudRunnerState.lfsCacheFolderFull, cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull, `${lfsHashes.lfsGuid}`);
- yield caching_1.Caching.PullFromCache(cloud_runner_state_1.CloudRunnerState.libraryCacheFolderFull, cloud_runner_state_1.CloudRunnerState.libraryFolderFull);
- caching_1.Caching.handleCachePurging();
- }
- catch (error) {
- throw error;
- }
- });
- }
- static cloneRepoWithoutLFSFiles() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- process.chdir(`${cloud_runner_state_1.CloudRunnerState.repoPathFull}`);
- remote_client_logger_1.RemoteClientLogger.log(`Initializing source repository for cloning with caching of LFS files`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`git config --global advice.detachedHead false`);
- remote_client_logger_1.RemoteClientLogger.log(`Cloning the repository being built:`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs install --skip-smudge`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`git clone -b ${cloud_runner_state_1.CloudRunnerState.branchName} ${cloud_runner_state_1.CloudRunnerState.targetBuildRepoUrl} ${path_1.default.resolve(`..`, path_1.default.basename(cloud_runner_state_1.CloudRunnerState.repoPathFull))}`);
- console_1.assert(fs_1.default.existsSync(`.git`));
- remote_client_logger_1.RemoteClientLogger.log(`${cloud_runner_state_1.CloudRunnerState.buildParams.branch}`);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${cloud_runner_state_1.CloudRunnerState.buildParams.branch}`);
- console_1.assert(fs_1.default.existsSync(path_1.default.join(`.git`, `lfs`)), 'LFS folder should not exist before caching');
- remote_client_logger_1.RemoteClientLogger.log(`Checked out ${process.env.GITHUB_SHA}`);
- }
- catch (error) {
- throw error;
- }
- });
- }
- static pullLatestLFS() {
- return __awaiter(this, void 0, void 0, function* () {
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh ${cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull}/..`);
- process.chdir(cloud_runner_state_1.CloudRunnerState.repoPathFull);
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs pull`);
- remote_client_logger_1.RemoteClientLogger.log(`pulled latest LFS files`);
- console_1.assert(fs_1.default.existsSync(cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull));
- yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh ${cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull}/..`);
- });
- }
-}
-exports.SetupCloudRunnerRepository = SetupCloudRunnerRepository;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SetupCloudRunnerRepository = void 0;
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const caching_1 = __nccwpck_require__(38759);
+const lfs_hashing_1 = __nccwpck_require__(31938);
+const cloud_runner_system_1 = __nccwpck_require__(66879);
+const __1 = __nccwpck_require__(41359);
+const remote_client_logger_1 = __nccwpck_require__(28082);
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const console_1 = __nccwpck_require__(96206);
+class SetupCloudRunnerRepository {
+ static run() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cloud_runner_state_1.CloudRunnerState.buildPathFull}`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cloud_runner_state_1.CloudRunnerState.repoPathFull}`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`mkdir -p ${cloud_runner_state_1.CloudRunnerState.cacheFolderFull}`);
+ process.chdir(cloud_runner_state_1.CloudRunnerState.repoPathFull);
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree`);
+ }
+ yield SetupCloudRunnerRepository.cloneRepoWithoutLFSFiles();
+ if (__1.Input.cloudRunnerTests) {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`tree`);
+ }
+ const lfsHashes = yield lfs_hashing_1.LFSHashing.createLFSHashFiles();
+ if (fs_1.default.existsSync(cloud_runner_state_1.CloudRunnerState.libraryFolderFull)) {
+ remote_client_logger_1.RemoteClientLogger.logWarning(`!Warning!: The Unity library was included in the git repository`);
+ }
+ yield caching_1.Caching.PullFromCache(cloud_runner_state_1.CloudRunnerState.lfsCacheFolderFull, cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull, `${lfsHashes.lfsGuid}`);
+ yield SetupCloudRunnerRepository.pullLatestLFS();
+ yield caching_1.Caching.PushToCache(cloud_runner_state_1.CloudRunnerState.lfsCacheFolderFull, cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull, `${lfsHashes.lfsGuid}`);
+ yield caching_1.Caching.PullFromCache(cloud_runner_state_1.CloudRunnerState.libraryCacheFolderFull, cloud_runner_state_1.CloudRunnerState.libraryFolderFull);
+ caching_1.Caching.handleCachePurging();
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+ static cloneRepoWithoutLFSFiles() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ process.chdir(`${cloud_runner_state_1.CloudRunnerState.repoPathFull}`);
+ remote_client_logger_1.RemoteClientLogger.log(`Initializing source repository for cloning with caching of LFS files`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`git config --global advice.detachedHead false`);
+ remote_client_logger_1.RemoteClientLogger.log(`Cloning the repository being built:`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs install --skip-smudge`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`git clone -b ${cloud_runner_state_1.CloudRunnerState.branchName} ${cloud_runner_state_1.CloudRunnerState.targetBuildRepoUrl} ${path_1.default.resolve(`..`, path_1.default.basename(cloud_runner_state_1.CloudRunnerState.repoPathFull))}`);
+ console_1.assert(fs_1.default.existsSync(`.git`));
+ remote_client_logger_1.RemoteClientLogger.log(`${cloud_runner_state_1.CloudRunnerState.buildParams.branch}`);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${cloud_runner_state_1.CloudRunnerState.buildParams.branch}`);
+ console_1.assert(fs_1.default.existsSync(path_1.default.join(`.git`, `lfs`)), 'LFS folder should not exist before caching');
+ remote_client_logger_1.RemoteClientLogger.log(`Checked out ${process.env.GITHUB_SHA}`);
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+ static pullLatestLFS() {
+ return __awaiter(this, void 0, void 0, function* () {
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh ${cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull}/..`);
+ process.chdir(cloud_runner_state_1.CloudRunnerState.repoPathFull);
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`git lfs pull`);
+ remote_client_logger_1.RemoteClientLogger.log(`pulled latest LFS files`);
+ console_1.assert(fs_1.default.existsSync(cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull));
+ yield cloud_runner_system_1.CloudRunnerSystem.Run(`ls -lh ${cloud_runner_state_1.CloudRunnerState.lfsDirectoryFull}/..`);
+ });
+ }
+}
+exports.SetupCloudRunnerRepository = SetupCloudRunnerRepository;
/***/ }),
@@ -976,143 +976,143 @@ exports.SetupCloudRunnerRepository = SetupCloudRunnerRepository;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.AWSBaseStack = void 0;
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const core = __importStar(__nccwpck_require__(42186));
-const fs = __importStar(__nccwpck_require__(57147));
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const crypto = __nccwpck_require__(6113);
-class AWSBaseStack {
- constructor(baseStackName) {
- this.baseStackName = baseStackName;
- }
- setupBaseStack(CF) {
- var _a, _b, _c, _d, _e;
- return __awaiter(this, void 0, void 0, function* () {
- const baseStackName = this.baseStackName;
- const baseStack = fs.readFileSync(path_1.default.join(__dirname, 'cloud-formations', 'base-setup.yml'), 'utf8');
- // Cloud Formation Input
- const describeStackInput = {
- StackName: baseStackName,
- };
- const parametersWithoutHash = [
- { ParameterKey: 'EnvironmentName', ParameterValue: baseStackName },
- ];
- const parametersHash = crypto
- .createHash('md5')
- .update(baseStack + JSON.stringify(parametersWithoutHash))
- .digest('hex');
- const parameters = [
- ...parametersWithoutHash,
- ...[{ ParameterKey: 'Version', ParameterValue: parametersHash }],
- ];
- const updateInput = {
- StackName: baseStackName,
- TemplateBody: baseStack,
- Parameters: parameters,
- Capabilities: ['CAPABILITY_IAM'],
- };
- const createStackInput = {
- StackName: baseStackName,
- TemplateBody: baseStack,
- Parameters: parameters,
- Capabilities: ['CAPABILITY_IAM'],
- };
- const stacks = yield CF.listStacks({
- StackStatusFilter: ['UPDATE_COMPLETE', 'CREATE_COMPLETE', 'ROLLBACK_COMPLETE'],
- }).promise();
- const stackNames = ((_a = stacks.StackSummaries) === null || _a === void 0 ? void 0 : _a.map((x) => x.StackName)) || [];
- const stackExists = stackNames.includes(baseStackName) || false;
- const describeStack = () => __awaiter(this, void 0, void 0, function* () {
- return yield CF.describeStacks(describeStackInput).promise();
- });
- try {
- if (!stackExists) {
- cloud_runner_logger_1.default.log(`${baseStackName} stack does not exist (${JSON.stringify(stackNames)})`);
- yield CF.createStack(createStackInput).promise();
- cloud_runner_logger_1.default.log(`created stack (version: ${parametersHash})`);
- }
- const CFState = yield describeStack();
- let stack = (_b = CFState.Stacks) === null || _b === void 0 ? void 0 : _b[0];
- if (!stack) {
- throw new Error(`Base stack doesn't exist, even after creation, stackExists check: ${stackExists}`);
- }
- const stackVersion = (_d = (_c = stack.Parameters) === null || _c === void 0 ? void 0 : _c.find((x) => x.ParameterKey === 'Version')) === null || _d === void 0 ? void 0 : _d.ParameterValue;
- if (stack.StackStatus === 'CREATE_IN_PROGRESS') {
- yield CF.waitFor('stackCreateComplete', describeStackInput).promise();
- }
- if (stackExists) {
- cloud_runner_logger_1.default.log(`Base stack exists (version: ${stackVersion}, local version: ${parametersHash})`);
- if (parametersHash !== stackVersion) {
- cloud_runner_logger_1.default.log(`Attempting update of base stack`);
- try {
- yield CF.updateStack(updateInput).promise();
- }
- catch (error) {
- if (error['message'].includes('No updates are to be performed')) {
- cloud_runner_logger_1.default.log(`No updates are to be performed`);
- }
- else {
- cloud_runner_logger_1.default.log(`Update Failed (Stack name: ${baseStackName})`);
- cloud_runner_logger_1.default.log(error['message']);
- }
- cloud_runner_logger_1.default.log(`Continuing...`);
- }
- }
- else {
- cloud_runner_logger_1.default.log(`No update required`);
- }
- stack = (_e = (yield describeStack()).Stacks) === null || _e === void 0 ? void 0 : _e[0];
- if (!stack) {
- throw new Error(`Base stack doesn't exist, even after updating and creation, stackExists check: ${stackExists}`);
- }
- if (stack.StackStatus === 'UPDATE_IN_PROGRESS') {
- yield CF.waitFor('stackUpdateComplete', describeStackInput).promise();
- }
- }
- cloud_runner_logger_1.default.log('base stack is now ready');
- }
- catch (error) {
- core.error(JSON.stringify(yield describeStack(), undefined, 4));
- throw error;
- }
- });
- }
-}
-exports.AWSBaseStack = AWSBaseStack;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSBaseStack = void 0;
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const core = __importStar(__nccwpck_require__(42186));
+const fs = __importStar(__nccwpck_require__(57147));
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const crypto = __nccwpck_require__(6113);
+class AWSBaseStack {
+ constructor(baseStackName) {
+ this.baseStackName = baseStackName;
+ }
+ setupBaseStack(CF) {
+ var _a, _b, _c, _d, _e;
+ return __awaiter(this, void 0, void 0, function* () {
+ const baseStackName = this.baseStackName;
+ const baseStack = fs.readFileSync(path_1.default.join(__dirname, 'cloud-formations', 'base-setup.yml'), 'utf8');
+ // Cloud Formation Input
+ const describeStackInput = {
+ StackName: baseStackName,
+ };
+ const parametersWithoutHash = [
+ { ParameterKey: 'EnvironmentName', ParameterValue: baseStackName },
+ ];
+ const parametersHash = crypto
+ .createHash('md5')
+ .update(baseStack + JSON.stringify(parametersWithoutHash))
+ .digest('hex');
+ const parameters = [
+ ...parametersWithoutHash,
+ ...[{ ParameterKey: 'Version', ParameterValue: parametersHash }],
+ ];
+ const updateInput = {
+ StackName: baseStackName,
+ TemplateBody: baseStack,
+ Parameters: parameters,
+ Capabilities: ['CAPABILITY_IAM'],
+ };
+ const createStackInput = {
+ StackName: baseStackName,
+ TemplateBody: baseStack,
+ Parameters: parameters,
+ Capabilities: ['CAPABILITY_IAM'],
+ };
+ const stacks = yield CF.listStacks({
+ StackStatusFilter: ['UPDATE_COMPLETE', 'CREATE_COMPLETE', 'ROLLBACK_COMPLETE'],
+ }).promise();
+ const stackNames = ((_a = stacks.StackSummaries) === null || _a === void 0 ? void 0 : _a.map((x) => x.StackName)) || [];
+ const stackExists = stackNames.includes(baseStackName) || false;
+ const describeStack = () => __awaiter(this, void 0, void 0, function* () {
+ return yield CF.describeStacks(describeStackInput).promise();
+ });
+ try {
+ if (!stackExists) {
+ cloud_runner_logger_1.default.log(`${baseStackName} stack does not exist (${JSON.stringify(stackNames)})`);
+ yield CF.createStack(createStackInput).promise();
+ cloud_runner_logger_1.default.log(`created stack (version: ${parametersHash})`);
+ }
+ const CFState = yield describeStack();
+ let stack = (_b = CFState.Stacks) === null || _b === void 0 ? void 0 : _b[0];
+ if (!stack) {
+ throw new Error(`Base stack doesn't exist, even after creation, stackExists check: ${stackExists}`);
+ }
+ const stackVersion = (_d = (_c = stack.Parameters) === null || _c === void 0 ? void 0 : _c.find((x) => x.ParameterKey === 'Version')) === null || _d === void 0 ? void 0 : _d.ParameterValue;
+ if (stack.StackStatus === 'CREATE_IN_PROGRESS') {
+ yield CF.waitFor('stackCreateComplete', describeStackInput).promise();
+ }
+ if (stackExists) {
+ cloud_runner_logger_1.default.log(`Base stack exists (version: ${stackVersion}, local version: ${parametersHash})`);
+ if (parametersHash !== stackVersion) {
+ cloud_runner_logger_1.default.log(`Attempting update of base stack`);
+ try {
+ yield CF.updateStack(updateInput).promise();
+ }
+ catch (error) {
+ if (error['message'].includes('No updates are to be performed')) {
+ cloud_runner_logger_1.default.log(`No updates are to be performed`);
+ }
+ else {
+ cloud_runner_logger_1.default.log(`Update Failed (Stack name: ${baseStackName})`);
+ cloud_runner_logger_1.default.log(error['message']);
+ }
+ cloud_runner_logger_1.default.log(`Continuing...`);
+ }
+ }
+ else {
+ cloud_runner_logger_1.default.log(`No update required`);
+ }
+ stack = (_e = (yield describeStack()).Stacks) === null || _e === void 0 ? void 0 : _e[0];
+ if (!stack) {
+ throw new Error(`Base stack doesn't exist, even after updating and creation, stackExists check: ${stackExists}`);
+ }
+ if (stack.StackStatus === 'UPDATE_IN_PROGRESS') {
+ yield CF.waitFor('stackUpdateComplete', describeStackInput).promise();
+ }
+ }
+ cloud_runner_logger_1.default.log('base stack is now ready');
+ }
+ catch (error) {
+ core.error(JSON.stringify(yield describeStack(), undefined, 4));
+ throw error;
+ }
+ });
+ }
+}
+exports.AWSBaseStack = AWSBaseStack;
/***/ }),
@@ -1121,57 +1121,57 @@ exports.AWSBaseStack = AWSBaseStack;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.AWSError = void 0;
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const core = __importStar(__nccwpck_require__(42186));
-const __1 = __nccwpck_require__(41359);
-class AWSError {
- static handleStackCreationFailure(error, CF, taskDefStackName) {
- return __awaiter(this, void 0, void 0, function* () {
- cloud_runner_logger_1.default.log('aws error: ');
- core.error(JSON.stringify(error, undefined, 4));
- if (__1.Input.cloudRunnerTests) {
- cloud_runner_logger_1.default.log('Getting events and resources for task stack');
- const events = (yield CF.describeStackEvents({ StackName: taskDefStackName }).promise()).StackEvents;
- cloud_runner_logger_1.default.log(JSON.stringify(events, undefined, 4));
- }
- });
- }
-}
-exports.AWSError = AWSError;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSError = void 0;
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const core = __importStar(__nccwpck_require__(42186));
+const __1 = __nccwpck_require__(41359);
+class AWSError {
+ static handleStackCreationFailure(error, CF, taskDefStackName) {
+ return __awaiter(this, void 0, void 0, function* () {
+ cloud_runner_logger_1.default.log('aws error: ');
+ core.error(JSON.stringify(error, undefined, 4));
+ if (__1.Input.cloudRunnerTests) {
+ cloud_runner_logger_1.default.log('Getting events and resources for task stack');
+ const events = (yield CF.describeStackEvents({ StackName: taskDefStackName }).promise()).StackEvents;
+ cloud_runner_logger_1.default.log(JSON.stringify(events, undefined, 4));
+ }
+ });
+ }
+}
+exports.AWSError = AWSError;
/***/ }),
@@ -1180,122 +1180,122 @@ exports.AWSError = AWSError;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.AWSJobStack = void 0;
-const aws_templates_1 = __nccwpck_require__(6436);
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const aws_error_1 = __nccwpck_require__(83683);
-class AWSJobStack {
- constructor(baseStackName) {
- this.baseStackName = baseStackName;
- }
- setupCloudFormations(CF, buildGuid, image, entrypoint, commands, mountdir, workingdir, secrets) {
- return __awaiter(this, void 0, void 0, function* () {
- const taskDefStackName = `${this.baseStackName}-${buildGuid}`;
- let taskDefCloudFormation = aws_templates_1.AWSTemplates.readTaskCloudFormationTemplate();
- for (const secret of secrets) {
- secret.ParameterKey = `${buildGuid.replace(/[^\dA-Za-z]/g, '')}${secret.ParameterKey.replace(/[^\dA-Za-z]/g, '')}`;
- if (typeof secret.ParameterValue == 'number') {
- secret.ParameterValue = `${secret.ParameterValue}`;
- }
- if (!secret.ParameterValue || secret.ParameterValue === '') {
- secrets = secrets.filter((x) => x !== secret);
- continue;
- }
- taskDefCloudFormation = aws_templates_1.AWSTemplates.insertAtTemplate(taskDefCloudFormation, 'p1 - input', aws_templates_1.AWSTemplates.getParameterTemplate(secret.ParameterKey));
- taskDefCloudFormation = aws_templates_1.AWSTemplates.insertAtTemplate(taskDefCloudFormation, 'p2 - secret', aws_templates_1.AWSTemplates.getSecretTemplate(`${secret.ParameterKey}`));
- taskDefCloudFormation = aws_templates_1.AWSTemplates.insertAtTemplate(taskDefCloudFormation, 'p3 - container def', aws_templates_1.AWSTemplates.getSecretDefinitionTemplate(secret.EnvironmentVariable, secret.ParameterKey));
- }
- const secretsMappedToCloudFormationParameters = secrets.map((x) => {
- return { ParameterKey: x.ParameterKey.replace(/[^\dA-Za-z]/g, ''), ParameterValue: x.ParameterValue };
- });
- const parameters = [
- {
- ParameterKey: 'EnvironmentName',
- ParameterValue: this.baseStackName,
- },
- {
- ParameterKey: 'ImageUrl',
- ParameterValue: image,
- },
- {
- ParameterKey: 'ServiceName',
- ParameterValue: taskDefStackName,
- },
- {
- ParameterKey: 'Command',
- ParameterValue: 'echo "this template should be overwritten when running a task"',
- },
- {
- ParameterKey: 'EntryPoint',
- ParameterValue: entrypoint.join(','),
- },
- {
- ParameterKey: 'WorkingDirectory',
- ParameterValue: workingdir,
- },
- {
- ParameterKey: 'EFSMountDirectory',
- ParameterValue: mountdir,
- },
- ...secretsMappedToCloudFormationParameters,
- ];
- let previousStackExists = true;
- while (previousStackExists) {
- previousStackExists = false;
- const stacks = yield CF.listStacks().promise();
- if (!stacks.StackSummaries) {
- throw new Error('Faild to get stacks');
- }
- for (let index = 0; index < stacks.StackSummaries.length; index++) {
- const element = stacks.StackSummaries[index];
- if (element.StackName === taskDefStackName && element.StackStatus !== 'DELETE_COMPLETE') {
- previousStackExists = true;
- cloud_runner_logger_1.default.log(`Previous stack still exists: ${JSON.stringify(element)}`);
- }
- }
- }
- try {
- yield CF.createStack({
- StackName: taskDefStackName,
- TemplateBody: taskDefCloudFormation,
- Capabilities: ['CAPABILITY_IAM'],
- Parameters: parameters,
- }).promise();
- cloud_runner_logger_1.default.log('Creating cloud runner job');
- yield CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
- }
- catch (error) {
- yield aws_error_1.AWSError.handleStackCreationFailure(error, CF, taskDefStackName);
- throw error;
- }
- const taskDefResources = (yield CF.describeStackResources({
- StackName: taskDefStackName,
- }).promise()).StackResources;
- const baseResources = (yield CF.describeStackResources({ StackName: this.baseStackName }).promise()).StackResources;
- return {
- taskDefStackName,
- taskDefCloudFormation,
- taskDefResources,
- baseResources,
- };
- });
- }
-}
-exports.AWSJobStack = AWSJobStack;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSJobStack = void 0;
+const aws_templates_1 = __nccwpck_require__(6436);
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const aws_error_1 = __nccwpck_require__(83683);
+class AWSJobStack {
+ constructor(baseStackName) {
+ this.baseStackName = baseStackName;
+ }
+ setupCloudFormations(CF, buildGuid, image, entrypoint, commands, mountdir, workingdir, secrets) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const taskDefStackName = `${this.baseStackName}-${buildGuid}`;
+ let taskDefCloudFormation = aws_templates_1.AWSTemplates.readTaskCloudFormationTemplate();
+ for (const secret of secrets) {
+ secret.ParameterKey = `${buildGuid.replace(/[^\dA-Za-z]/g, '')}${secret.ParameterKey.replace(/[^\dA-Za-z]/g, '')}`;
+ if (typeof secret.ParameterValue == 'number') {
+ secret.ParameterValue = `${secret.ParameterValue}`;
+ }
+ if (!secret.ParameterValue || secret.ParameterValue === '') {
+ secrets = secrets.filter((x) => x !== secret);
+ continue;
+ }
+ taskDefCloudFormation = aws_templates_1.AWSTemplates.insertAtTemplate(taskDefCloudFormation, 'p1 - input', aws_templates_1.AWSTemplates.getParameterTemplate(secret.ParameterKey));
+ taskDefCloudFormation = aws_templates_1.AWSTemplates.insertAtTemplate(taskDefCloudFormation, 'p2 - secret', aws_templates_1.AWSTemplates.getSecretTemplate(`${secret.ParameterKey}`));
+ taskDefCloudFormation = aws_templates_1.AWSTemplates.insertAtTemplate(taskDefCloudFormation, 'p3 - container def', aws_templates_1.AWSTemplates.getSecretDefinitionTemplate(secret.EnvironmentVariable, secret.ParameterKey));
+ }
+ const secretsMappedToCloudFormationParameters = secrets.map((x) => {
+ return { ParameterKey: x.ParameterKey.replace(/[^\dA-Za-z]/g, ''), ParameterValue: x.ParameterValue };
+ });
+ const parameters = [
+ {
+ ParameterKey: 'EnvironmentName',
+ ParameterValue: this.baseStackName,
+ },
+ {
+ ParameterKey: 'ImageUrl',
+ ParameterValue: image,
+ },
+ {
+ ParameterKey: 'ServiceName',
+ ParameterValue: taskDefStackName,
+ },
+ {
+ ParameterKey: 'Command',
+ ParameterValue: 'echo "this template should be overwritten when running a task"',
+ },
+ {
+ ParameterKey: 'EntryPoint',
+ ParameterValue: entrypoint.join(','),
+ },
+ {
+ ParameterKey: 'WorkingDirectory',
+ ParameterValue: workingdir,
+ },
+ {
+ ParameterKey: 'EFSMountDirectory',
+ ParameterValue: mountdir,
+ },
+ ...secretsMappedToCloudFormationParameters,
+ ];
+ let previousStackExists = true;
+ while (previousStackExists) {
+ previousStackExists = false;
+ const stacks = yield CF.listStacks().promise();
+ if (!stacks.StackSummaries) {
+ throw new Error('Faild to get stacks');
+ }
+ for (let index = 0; index < stacks.StackSummaries.length; index++) {
+ const element = stacks.StackSummaries[index];
+ if (element.StackName === taskDefStackName && element.StackStatus !== 'DELETE_COMPLETE') {
+ previousStackExists = true;
+ cloud_runner_logger_1.default.log(`Previous stack still exists: ${JSON.stringify(element)}`);
+ }
+ }
+ }
+ try {
+ yield CF.createStack({
+ StackName: taskDefStackName,
+ TemplateBody: taskDefCloudFormation,
+ Capabilities: ['CAPABILITY_IAM'],
+ Parameters: parameters,
+ }).promise();
+ cloud_runner_logger_1.default.log('Creating cloud runner job');
+ yield CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
+ }
+ catch (error) {
+ yield aws_error_1.AWSError.handleStackCreationFailure(error, CF, taskDefStackName);
+ throw error;
+ }
+ const taskDefResources = (yield CF.describeStackResources({
+ StackName: taskDefStackName,
+ }).promise()).StackResources;
+ const baseResources = (yield CF.describeStackResources({ StackName: this.baseStackName }).promise()).StackResources;
+ return {
+ taskDefStackName,
+ taskDefCloudFormation,
+ taskDefResources,
+ baseResources,
+ };
+ });
+ }
+}
+exports.AWSJobStack = AWSJobStack;
/***/ }),
@@ -1304,214 +1304,214 @@ exports.AWSJobStack = AWSJobStack;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const AWS = __importStar(__nccwpck_require__(71786));
-const core = __importStar(__nccwpck_require__(42186));
-const zlib = __importStar(__nccwpck_require__(59796));
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const __1 = __nccwpck_require__(41359);
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const cloud_runner_statics_1 = __nccwpck_require__(90828);
-const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
-class AWSTaskRunner {
- static runTask(taskDef, ECS, CF, environment, buildGuid, commands) {
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
- return __awaiter(this, void 0, void 0, function* () {
- const cluster = ((_b = (_a = taskDef.baseResources) === null || _a === void 0 ? void 0 : _a.find((x) => x.LogicalResourceId === 'ECSCluster')) === null || _b === void 0 ? void 0 : _b.PhysicalResourceId) || '';
- const taskDefinition = ((_d = (_c = taskDef.taskDefResources) === null || _c === void 0 ? void 0 : _c.find((x) => x.LogicalResourceId === 'TaskDefinition')) === null || _d === void 0 ? void 0 : _d.PhysicalResourceId) || '';
- const SubnetOne = ((_f = (_e = taskDef.baseResources) === null || _e === void 0 ? void 0 : _e.find((x) => x.LogicalResourceId === 'PublicSubnetOne')) === null || _f === void 0 ? void 0 : _f.PhysicalResourceId) || '';
- const SubnetTwo = ((_h = (_g = taskDef.baseResources) === null || _g === void 0 ? void 0 : _g.find((x) => x.LogicalResourceId === 'PublicSubnetTwo')) === null || _h === void 0 ? void 0 : _h.PhysicalResourceId) || '';
- const ContainerSecurityGroup = ((_k = (_j = taskDef.baseResources) === null || _j === void 0 ? void 0 : _j.find((x) => x.LogicalResourceId === 'ContainerSecurityGroup')) === null || _k === void 0 ? void 0 : _k.PhysicalResourceId) || '';
- const streamName = ((_m = (_l = taskDef.taskDefResources) === null || _l === void 0 ? void 0 : _l.find((x) => x.LogicalResourceId === 'KinesisStream')) === null || _m === void 0 ? void 0 : _m.PhysicalResourceId) || '';
- const task = yield ECS.runTask({
- cluster,
- taskDefinition,
- platformVersion: '1.4.0',
- overrides: {
- containerOverrides: [
- {
- name: taskDef.taskDefStackName,
- environment,
- command: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(commands, cloud_runner_state_1.CloudRunnerState.buildParams)],
- },
- ],
- },
- launchType: 'FARGATE',
- networkConfiguration: {
- awsvpcConfiguration: {
- subnets: [SubnetOne, SubnetTwo],
- assignPublicIp: 'ENABLED',
- securityGroups: [ContainerSecurityGroup],
- },
- },
- }).promise();
- cloud_runner_logger_1.default.log('Cloud runner job is starting');
- const taskArn = ((_o = task.tasks) === null || _o === void 0 ? void 0 : _o[0].taskArn) || '';
- try {
- yield ECS.waitFor('tasksRunning', { tasks: [taskArn], cluster }).promise();
- }
- catch (error_) {
- const error = error_;
- yield new Promise((resolve) => setTimeout(resolve, 3000));
- cloud_runner_logger_1.default.log(`Cloud runner job has ended ${(_p = (yield AWSTaskRunner.describeTasks(ECS, cluster, taskArn)).containers) === null || _p === void 0 ? void 0 : _p[0].lastStatus}`);
- core.setFailed(error);
- core.error(error);
- }
- cloud_runner_logger_1.default.log(`Cloud runner job is running`);
- const output = yield this.streamLogsUntilTaskStops(ECS, CF, taskDef, cluster, taskArn, streamName);
- const exitCode = (_q = (yield AWSTaskRunner.describeTasks(ECS, cluster, taskArn)).containers) === null || _q === void 0 ? void 0 : _q[0].exitCode;
- cloud_runner_logger_1.default.log(`Cloud runner job exit code ${exitCode}`);
- if (exitCode !== 0 && exitCode !== undefined) {
- core.error(`job failed with exit code ${exitCode} ${JSON.stringify(yield ECS.describeTasks({ tasks: [taskArn], cluster }).promise(), undefined, 4)}`);
- throw new Error(`job failed with exit code ${exitCode}`);
- }
- else {
- cloud_runner_logger_1.default.log(`Cloud runner job has finished successfully`);
- return output;
- }
- });
- }
- static describeTasks(ECS, clusterName, taskArn) {
- var _a, _b;
- return __awaiter(this, void 0, void 0, function* () {
- const tasks = yield ECS.describeTasks({
- cluster: clusterName,
- tasks: [taskArn],
- }).promise();
- if ((_a = tasks.tasks) === null || _a === void 0 ? void 0 : _a[0]) {
- return (_b = tasks.tasks) === null || _b === void 0 ? void 0 : _b[0];
- }
- else {
- throw new Error('No task found');
- }
- });
- }
- static streamLogsUntilTaskStops(ECS, CF, taskDef, clusterName, taskArn, kinesisStreamName) {
- var _a;
- return __awaiter(this, void 0, void 0, function* () {
- const kinesis = new AWS.Kinesis();
- const stream = yield AWSTaskRunner.getLogStream(kinesis, kinesisStreamName);
- let iterator = yield AWSTaskRunner.getLogIterator(kinesis, stream);
- cloud_runner_logger_1.default.log(`Cloud runner job status is ${(_a = (yield AWSTaskRunner.describeTasks(ECS, clusterName, taskArn))) === null || _a === void 0 ? void 0 : _a.lastStatus}`);
- const logBaseUrl = `https://${__1.Input.region}.console.aws.amazon.com/cloudwatch/home?region=${CF.config.region}#logsV2:log-groups/log-group/${taskDef.taskDefStackName}`;
- cloud_runner_logger_1.default.log(`You can also see the logs at AWS Cloud Watch: ${logBaseUrl}`);
- let shouldReadLogs = true;
- let timestamp = 0;
- let output = '';
- while (shouldReadLogs) {
- yield new Promise((resolve) => setTimeout(resolve, 1500));
- const taskData = yield AWSTaskRunner.describeTasks(ECS, clusterName, taskArn);
- ({ timestamp, shouldReadLogs } = AWSTaskRunner.checkStreamingShouldContinue(taskData, timestamp, shouldReadLogs));
- ({ iterator, shouldReadLogs, output } = yield AWSTaskRunner.handleLogStreamIteration(kinesis, iterator, shouldReadLogs, taskDef, output));
- }
- return output;
- });
- }
- static handleLogStreamIteration(kinesis, iterator, shouldReadLogs, taskDef, output) {
- return __awaiter(this, void 0, void 0, function* () {
- const records = yield kinesis
- .getRecords({
- ShardIterator: iterator,
- })
- .promise();
- iterator = records.NextShardIterator || '';
- ({ shouldReadLogs, output } = AWSTaskRunner.logRecords(records, iterator, taskDef, shouldReadLogs, output));
- return { iterator, shouldReadLogs, output };
- });
- }
- static checkStreamingShouldContinue(taskData, timestamp, shouldReadLogs) {
- if ((taskData === null || taskData === void 0 ? void 0 : taskData.lastStatus) !== 'RUNNING') {
- if (timestamp === 0) {
- cloud_runner_logger_1.default.log('## Cloud runner job stopped, streaming end of logs');
- timestamp = Date.now();
- }
- if (timestamp !== 0 && Date.now() - timestamp > 30000) {
- cloud_runner_logger_1.default.log('## Cloud runner status is not RUNNING for 30 seconds, last query for logs');
- shouldReadLogs = false;
- }
- cloud_runner_logger_1.default.log(`## Status of job: ${taskData.lastStatus}`);
- }
- return { timestamp, shouldReadLogs };
- }
- static logRecords(records, iterator, taskDef, shouldReadLogs, output) {
- if (records.Records.length > 0 && iterator) {
- for (let index = 0; index < records.Records.length; index++) {
- const json = JSON.parse(zlib.gunzipSync(Buffer.from(records.Records[index].Data, 'base64')).toString('utf8'));
- 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(`---${cloud_runner_state_1.CloudRunnerState.buildParams.logId}`)) {
- cloud_runner_logger_1.default.log('End of log transmission received');
- shouldReadLogs = false;
- }
- else if (message.includes('Rebuilding Library because the asset database could not be found!')) {
- core.warning('LIBRARY NOT FOUND!');
- }
- message = `[${cloud_runner_statics_1.CloudRunnerStatics.logPrefix}] ${message}`;
- if (__1.Input.cloudRunnerTests) {
- output += message;
- }
- cloud_runner_logger_1.default.log(message);
- }
- }
- }
- }
- return { shouldReadLogs, output };
- }
- static getLogStream(kinesis, kinesisStreamName) {
- return __awaiter(this, void 0, void 0, function* () {
- return yield kinesis
- .describeStream({
- StreamName: kinesisStreamName,
- })
- .promise();
- });
- }
- static getLogIterator(kinesis, stream) {
- return __awaiter(this, void 0, void 0, function* () {
- return ((yield kinesis
- .getShardIterator({
- ShardIteratorType: 'TRIM_HORIZON',
- StreamName: stream.StreamDescription.StreamName,
- ShardId: stream.StreamDescription.Shards[0].ShardId,
- })
- .promise()).ShardIterator || '');
- });
- }
-}
-exports["default"] = AWSTaskRunner;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const AWS = __importStar(__nccwpck_require__(71786));
+const core = __importStar(__nccwpck_require__(42186));
+const zlib = __importStar(__nccwpck_require__(59796));
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const __1 = __nccwpck_require__(41359);
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const cloud_runner_statics_1 = __nccwpck_require__(90828);
+const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
+class AWSTaskRunner {
+ static runTask(taskDef, ECS, CF, environment, buildGuid, commands) {
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
+ return __awaiter(this, void 0, void 0, function* () {
+ const cluster = ((_b = (_a = taskDef.baseResources) === null || _a === void 0 ? void 0 : _a.find((x) => x.LogicalResourceId === 'ECSCluster')) === null || _b === void 0 ? void 0 : _b.PhysicalResourceId) || '';
+ const taskDefinition = ((_d = (_c = taskDef.taskDefResources) === null || _c === void 0 ? void 0 : _c.find((x) => x.LogicalResourceId === 'TaskDefinition')) === null || _d === void 0 ? void 0 : _d.PhysicalResourceId) || '';
+ const SubnetOne = ((_f = (_e = taskDef.baseResources) === null || _e === void 0 ? void 0 : _e.find((x) => x.LogicalResourceId === 'PublicSubnetOne')) === null || _f === void 0 ? void 0 : _f.PhysicalResourceId) || '';
+ const SubnetTwo = ((_h = (_g = taskDef.baseResources) === null || _g === void 0 ? void 0 : _g.find((x) => x.LogicalResourceId === 'PublicSubnetTwo')) === null || _h === void 0 ? void 0 : _h.PhysicalResourceId) || '';
+ const ContainerSecurityGroup = ((_k = (_j = taskDef.baseResources) === null || _j === void 0 ? void 0 : _j.find((x) => x.LogicalResourceId === 'ContainerSecurityGroup')) === null || _k === void 0 ? void 0 : _k.PhysicalResourceId) || '';
+ const streamName = ((_m = (_l = taskDef.taskDefResources) === null || _l === void 0 ? void 0 : _l.find((x) => x.LogicalResourceId === 'KinesisStream')) === null || _m === void 0 ? void 0 : _m.PhysicalResourceId) || '';
+ const task = yield ECS.runTask({
+ cluster,
+ taskDefinition,
+ platformVersion: '1.4.0',
+ overrides: {
+ containerOverrides: [
+ {
+ name: taskDef.taskDefStackName,
+ environment,
+ command: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(commands, cloud_runner_state_1.CloudRunnerState.buildParams)],
+ },
+ ],
+ },
+ launchType: 'FARGATE',
+ networkConfiguration: {
+ awsvpcConfiguration: {
+ subnets: [SubnetOne, SubnetTwo],
+ assignPublicIp: 'ENABLED',
+ securityGroups: [ContainerSecurityGroup],
+ },
+ },
+ }).promise();
+ cloud_runner_logger_1.default.log('Cloud runner job is starting');
+ const taskArn = ((_o = task.tasks) === null || _o === void 0 ? void 0 : _o[0].taskArn) || '';
+ try {
+ yield ECS.waitFor('tasksRunning', { tasks: [taskArn], cluster }).promise();
+ }
+ catch (error_) {
+ const error = error_;
+ yield new Promise((resolve) => setTimeout(resolve, 3000));
+ cloud_runner_logger_1.default.log(`Cloud runner job has ended ${(_p = (yield AWSTaskRunner.describeTasks(ECS, cluster, taskArn)).containers) === null || _p === void 0 ? void 0 : _p[0].lastStatus}`);
+ core.setFailed(error);
+ core.error(error);
+ }
+ cloud_runner_logger_1.default.log(`Cloud runner job is running`);
+ const output = yield this.streamLogsUntilTaskStops(ECS, CF, taskDef, cluster, taskArn, streamName);
+ const exitCode = (_q = (yield AWSTaskRunner.describeTasks(ECS, cluster, taskArn)).containers) === null || _q === void 0 ? void 0 : _q[0].exitCode;
+ cloud_runner_logger_1.default.log(`Cloud runner job exit code ${exitCode}`);
+ if (exitCode !== 0 && exitCode !== undefined) {
+ core.error(`job failed with exit code ${exitCode} ${JSON.stringify(yield ECS.describeTasks({ tasks: [taskArn], cluster }).promise(), undefined, 4)}`);
+ throw new Error(`job failed with exit code ${exitCode}`);
+ }
+ else {
+ cloud_runner_logger_1.default.log(`Cloud runner job has finished successfully`);
+ return output;
+ }
+ });
+ }
+ static describeTasks(ECS, clusterName, taskArn) {
+ var _a, _b;
+ return __awaiter(this, void 0, void 0, function* () {
+ const tasks = yield ECS.describeTasks({
+ cluster: clusterName,
+ tasks: [taskArn],
+ }).promise();
+ if ((_a = tasks.tasks) === null || _a === void 0 ? void 0 : _a[0]) {
+ return (_b = tasks.tasks) === null || _b === void 0 ? void 0 : _b[0];
+ }
+ else {
+ throw new Error('No task found');
+ }
+ });
+ }
+ static streamLogsUntilTaskStops(ECS, CF, taskDef, clusterName, taskArn, kinesisStreamName) {
+ var _a;
+ return __awaiter(this, void 0, void 0, function* () {
+ const kinesis = new AWS.Kinesis();
+ const stream = yield AWSTaskRunner.getLogStream(kinesis, kinesisStreamName);
+ let iterator = yield AWSTaskRunner.getLogIterator(kinesis, stream);
+ cloud_runner_logger_1.default.log(`Cloud runner job status is ${(_a = (yield AWSTaskRunner.describeTasks(ECS, clusterName, taskArn))) === null || _a === void 0 ? void 0 : _a.lastStatus}`);
+ const logBaseUrl = `https://${__1.Input.region}.console.aws.amazon.com/cloudwatch/home?region=${CF.config.region}#logsV2:log-groups/log-group/${taskDef.taskDefStackName}`;
+ cloud_runner_logger_1.default.log(`You can also see the logs at AWS Cloud Watch: ${logBaseUrl}`);
+ let shouldReadLogs = true;
+ let timestamp = 0;
+ let output = '';
+ while (shouldReadLogs) {
+ yield new Promise((resolve) => setTimeout(resolve, 1500));
+ const taskData = yield AWSTaskRunner.describeTasks(ECS, clusterName, taskArn);
+ ({ timestamp, shouldReadLogs } = AWSTaskRunner.checkStreamingShouldContinue(taskData, timestamp, shouldReadLogs));
+ ({ iterator, shouldReadLogs, output } = yield AWSTaskRunner.handleLogStreamIteration(kinesis, iterator, shouldReadLogs, taskDef, output));
+ }
+ return output;
+ });
+ }
+ static handleLogStreamIteration(kinesis, iterator, shouldReadLogs, taskDef, output) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const records = yield kinesis
+ .getRecords({
+ ShardIterator: iterator,
+ })
+ .promise();
+ iterator = records.NextShardIterator || '';
+ ({ shouldReadLogs, output } = AWSTaskRunner.logRecords(records, iterator, taskDef, shouldReadLogs, output));
+ return { iterator, shouldReadLogs, output };
+ });
+ }
+ static checkStreamingShouldContinue(taskData, timestamp, shouldReadLogs) {
+ if ((taskData === null || taskData === void 0 ? void 0 : taskData.lastStatus) !== 'RUNNING') {
+ if (timestamp === 0) {
+ cloud_runner_logger_1.default.log('## Cloud runner job stopped, streaming end of logs');
+ timestamp = Date.now();
+ }
+ if (timestamp !== 0 && Date.now() - timestamp > 30000) {
+ cloud_runner_logger_1.default.log('## Cloud runner status is not RUNNING for 30 seconds, last query for logs');
+ shouldReadLogs = false;
+ }
+ cloud_runner_logger_1.default.log(`## Status of job: ${taskData.lastStatus}`);
+ }
+ return { timestamp, shouldReadLogs };
+ }
+ static logRecords(records, iterator, taskDef, shouldReadLogs, output) {
+ if (records.Records.length > 0 && iterator) {
+ for (let index = 0; index < records.Records.length; index++) {
+ const json = JSON.parse(zlib.gunzipSync(Buffer.from(records.Records[index].Data, 'base64')).toString('utf8'));
+ 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(`---${cloud_runner_state_1.CloudRunnerState.buildParams.logId}`)) {
+ cloud_runner_logger_1.default.log('End of log transmission received');
+ shouldReadLogs = false;
+ }
+ else if (message.includes('Rebuilding Library because the asset database could not be found!')) {
+ core.warning('LIBRARY NOT FOUND!');
+ }
+ message = `[${cloud_runner_statics_1.CloudRunnerStatics.logPrefix}] ${message}`;
+ if (__1.Input.cloudRunnerTests) {
+ output += message;
+ }
+ cloud_runner_logger_1.default.log(message);
+ }
+ }
+ }
+ }
+ return { shouldReadLogs, output };
+ }
+ static getLogStream(kinesis, kinesisStreamName) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return yield kinesis
+ .describeStream({
+ StreamName: kinesisStreamName,
+ })
+ .promise();
+ });
+ }
+ static getLogIterator(kinesis, stream) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return ((yield kinesis
+ .getShardIterator({
+ ShardIteratorType: 'TRIM_HORIZON',
+ StreamName: stream.StreamDescription.StreamName,
+ ShardId: stream.StreamDescription.Shards[0].ShardId,
+ })
+ .promise()).ShardIterator || '');
+ });
+ }
+}
+exports["default"] = AWSTaskRunner;
/***/ }),
@@ -1520,62 +1520,62 @@ exports["default"] = AWSTaskRunner;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.AWSTemplates = void 0;
-const fs = __importStar(__nccwpck_require__(57147));
-class AWSTemplates {
- static getParameterTemplate(p1) {
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.AWSTemplates = void 0;
+const fs = __importStar(__nccwpck_require__(57147));
+class AWSTemplates {
+ static getParameterTemplate(p1) {
return `
${p1}:
Type: String
Default: ''
-`;
- }
- static getSecretTemplate(p1) {
+`;
+ }
+ static getSecretTemplate(p1) {
return `
${p1}Secret:
Type: AWS::SecretsManager::Secret
Properties:
Name: '${p1}'
SecretString: !Ref ${p1}
-`;
- }
- static getSecretDefinitionTemplate(p1, p2) {
+`;
+ }
+ static getSecretDefinitionTemplate(p1, p2) {
return `
- Name: '${p1}'
ValueFrom: !Ref ${p2}Secret
-`;
- }
- static insertAtTemplate(template, insertionKey, insertion) {
- const index = template.search(insertionKey) + insertionKey.length + '\n'.length;
- template = [template.slice(0, index), insertion, template.slice(index)].join('');
- return template;
- }
- static readTaskCloudFormationTemplate() {
- return fs.readFileSync(`${__dirname}/cloud-formations/task-def-formation.yml`, 'utf8');
- }
-}
-exports.AWSTemplates = AWSTemplates;
+`;
+ }
+ static insertAtTemplate(template, insertionKey, insertion) {
+ const index = template.search(insertionKey) + insertionKey.length + '\n'.length;
+ template = [template.slice(0, index), insertion, template.slice(index)].join('');
+ return template;
+ }
+ static readTaskCloudFormationTemplate() {
+ return fs.readFileSync(`${__dirname}/cloud-formations/task-def-formation.yml`, 'utf8');
+ }
+}
+exports.AWSTemplates = AWSTemplates;
/***/ }),
@@ -1584,114 +1584,114 @@ exports.AWSTemplates = AWSTemplates;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const SDK = __importStar(__nccwpck_require__(71786));
-const aws_task_runner_1 = __importDefault(__nccwpck_require__(74668));
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const aws_job_stack_1 = __nccwpck_require__(85819);
-const aws_base_stack_1 = __nccwpck_require__(28730);
-const __1 = __nccwpck_require__(41359);
-class AWSBuildEnvironment {
- constructor(buildParameters) {
- this.baseStackName = buildParameters.awsBaseStackName;
- }
- cleanupSharedResources(
- // eslint-disable-next-line no-unused-vars
- buildGuid,
- // eslint-disable-next-line no-unused-vars
- buildParameters,
- // eslint-disable-next-line no-unused-vars
- branchName,
- // eslint-disable-next-line no-unused-vars
- defaultSecretsArray) {
- return __awaiter(this, void 0, void 0, function* () { });
- }
- setupSharedResources(
- // eslint-disable-next-line no-unused-vars
- buildGuid,
- // eslint-disable-next-line no-unused-vars
- buildParameters,
- // eslint-disable-next-line no-unused-vars
- branchName,
- // eslint-disable-next-line no-unused-vars
- defaultSecretsArray) {
- return __awaiter(this, void 0, void 0, function* () { });
- }
- runTask(buildGuid, image, commands, mountdir, workingdir, environment, secrets) {
- return __awaiter(this, void 0, void 0, function* () {
- process.env.AWS_REGION = __1.Input.region;
- const ECS = new SDK.ECS();
- const CF = new SDK.CloudFormation();
- cloud_runner_logger_1.default.log(`AWS Region: ${CF.config.region}`);
- const entrypoint = ['/bin/sh'];
- const startTimeMs = Date.now();
- yield new aws_base_stack_1.AWSBaseStack(this.baseStackName).setupBaseStack(CF);
- const taskDef = yield new aws_job_stack_1.AWSJobStack(this.baseStackName).setupCloudFormations(CF, buildGuid, image, entrypoint, commands, mountdir, workingdir, secrets);
- let postRunTaskTimeMs;
- let output = '';
- try {
- const postSetupStacksTimeMs = Date.now();
- cloud_runner_logger_1.default.log(`Setup job time: ${Math.floor((postSetupStacksTimeMs - startTimeMs) / 1000)}s`);
- output = yield aws_task_runner_1.default.runTask(taskDef, ECS, CF, environment, buildGuid, commands);
- postRunTaskTimeMs = Date.now();
- cloud_runner_logger_1.default.log(`Run job time: ${Math.floor((postRunTaskTimeMs - postSetupStacksTimeMs) / 1000)}s`);
- }
- finally {
- yield this.cleanupResources(CF, taskDef);
- const postCleanupTimeMs = Date.now();
- if (postRunTaskTimeMs !== undefined)
- cloud_runner_logger_1.default.log(`Cleanup job time: ${Math.floor((postCleanupTimeMs - postRunTaskTimeMs) / 1000)}s`);
- }
- return output;
- });
- }
- cleanupResources(CF, taskDef) {
- return __awaiter(this, void 0, void 0, function* () {
- cloud_runner_logger_1.default.log('Cleanup starting');
- yield CF.deleteStack({
- StackName: taskDef.taskDefStackName,
- }).promise();
- yield CF.waitFor('stackDeleteComplete', {
- StackName: taskDef.taskDefStackName,
- }).promise();
- cloud_runner_logger_1.default.log(`Deleted Stack: ${taskDef.taskDefStackName}`);
- cloud_runner_logger_1.default.log('Cleanup complete');
- });
- }
-}
-exports["default"] = AWSBuildEnvironment;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const SDK = __importStar(__nccwpck_require__(71786));
+const aws_task_runner_1 = __importDefault(__nccwpck_require__(74668));
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const aws_job_stack_1 = __nccwpck_require__(85819);
+const aws_base_stack_1 = __nccwpck_require__(28730);
+const __1 = __nccwpck_require__(41359);
+class AWSBuildEnvironment {
+ constructor(buildParameters) {
+ this.baseStackName = buildParameters.awsBaseStackName;
+ }
+ cleanupSharedResources(
+ // eslint-disable-next-line no-unused-vars
+ buildGuid,
+ // eslint-disable-next-line no-unused-vars
+ buildParameters,
+ // eslint-disable-next-line no-unused-vars
+ branchName,
+ // eslint-disable-next-line no-unused-vars
+ defaultSecretsArray) {
+ return __awaiter(this, void 0, void 0, function* () { });
+ }
+ setupSharedResources(
+ // eslint-disable-next-line no-unused-vars
+ buildGuid,
+ // eslint-disable-next-line no-unused-vars
+ buildParameters,
+ // eslint-disable-next-line no-unused-vars
+ branchName,
+ // eslint-disable-next-line no-unused-vars
+ defaultSecretsArray) {
+ return __awaiter(this, void 0, void 0, function* () { });
+ }
+ runTask(buildGuid, image, commands, mountdir, workingdir, environment, secrets) {
+ return __awaiter(this, void 0, void 0, function* () {
+ process.env.AWS_REGION = __1.Input.region;
+ const ECS = new SDK.ECS();
+ const CF = new SDK.CloudFormation();
+ cloud_runner_logger_1.default.log(`AWS Region: ${CF.config.region}`);
+ const entrypoint = ['/bin/sh'];
+ const startTimeMs = Date.now();
+ yield new aws_base_stack_1.AWSBaseStack(this.baseStackName).setupBaseStack(CF);
+ const taskDef = yield new aws_job_stack_1.AWSJobStack(this.baseStackName).setupCloudFormations(CF, buildGuid, image, entrypoint, commands, mountdir, workingdir, secrets);
+ let postRunTaskTimeMs;
+ let output = '';
+ try {
+ const postSetupStacksTimeMs = Date.now();
+ cloud_runner_logger_1.default.log(`Setup job time: ${Math.floor((postSetupStacksTimeMs - startTimeMs) / 1000)}s`);
+ output = yield aws_task_runner_1.default.runTask(taskDef, ECS, CF, environment, buildGuid, commands);
+ postRunTaskTimeMs = Date.now();
+ cloud_runner_logger_1.default.log(`Run job time: ${Math.floor((postRunTaskTimeMs - postSetupStacksTimeMs) / 1000)}s`);
+ }
+ finally {
+ yield this.cleanupResources(CF, taskDef);
+ const postCleanupTimeMs = Date.now();
+ if (postRunTaskTimeMs !== undefined)
+ cloud_runner_logger_1.default.log(`Cleanup job time: ${Math.floor((postCleanupTimeMs - postRunTaskTimeMs) / 1000)}s`);
+ }
+ return output;
+ });
+ }
+ cleanupResources(CF, taskDef) {
+ return __awaiter(this, void 0, void 0, function* () {
+ cloud_runner_logger_1.default.log('Cleanup starting');
+ yield CF.deleteStack({
+ StackName: taskDef.taskDefStackName,
+ }).promise();
+ yield CF.waitFor('stackDeleteComplete', {
+ StackName: taskDef.taskDefStackName,
+ }).promise();
+ cloud_runner_logger_1.default.log(`Deleted Stack: ${taskDef.taskDefStackName}`);
+ cloud_runner_logger_1.default.log('Cleanup complete');
+ });
+ }
+}
+exports["default"] = AWSBuildEnvironment;
/***/ }),
@@ -1700,13 +1700,13 @@ exports["default"] = AWSBuildEnvironment;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CloudRunnerStatics = void 0;
-class CloudRunnerStatics {
-}
-exports.CloudRunnerStatics = CloudRunnerStatics;
-CloudRunnerStatics.logPrefix = `Cloud-Runner-System`;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudRunnerStatics = void 0;
+class CloudRunnerStatics {
+}
+exports.CloudRunnerStatics = CloudRunnerStatics;
+CloudRunnerStatics.logPrefix = `Cloud-Runner-System`;
/***/ }),
@@ -1715,94 +1715,94 @@ CloudRunnerStatics.logPrefix = `Cloud-Runner-System`;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const aws_1 = __importDefault(__nccwpck_require__(37569));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const k8s_1 = __importDefault(__nccwpck_require__(25107));
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const cloud_runner_step_state_1 = __nccwpck_require__(64854);
-const workflow_composition_root_1 = __nccwpck_require__(54204);
-const cloud_runner_error_1 = __nccwpck_require__(91477);
-const task_parameter_serializer_1 = __nccwpck_require__(35346);
-const core = __importStar(__nccwpck_require__(42186));
-class CloudRunner {
- static setup(buildParameters) {
- cloud_runner_logger_1.default.setup();
- cloud_runner_state_1.CloudRunnerState.setup(buildParameters);
- CloudRunner.setupBuildPlatform();
- const parameters = task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables();
- for (const element of parameters) {
- core.setOutput(element.name, element.value);
- }
- }
- static setupBuildPlatform() {
- switch (cloud_runner_state_1.CloudRunnerState.buildParams.cloudRunnerCluster) {
- case 'k8s':
- cloud_runner_logger_1.default.log('Cloud Runner platform selected Kubernetes');
- cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform = new k8s_1.default(cloud_runner_state_1.CloudRunnerState.buildParams);
- break;
- default:
- case 'aws':
- cloud_runner_logger_1.default.log('Cloud Runner platform selected AWS');
- cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform = new aws_1.default(cloud_runner_state_1.CloudRunnerState.buildParams);
- break;
- }
- }
- static run(buildParameters, baseImage) {
- return __awaiter(this, void 0, void 0, function* () {
- CloudRunner.setup(buildParameters);
- try {
- core.startGroup('Setup remote runner');
- yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.setupSharedResources(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, cloud_runner_state_1.CloudRunnerState.buildParams, cloud_runner_state_1.CloudRunnerState.branchName, cloud_runner_state_1.CloudRunnerState.defaultSecrets);
- core.endGroup();
- const output = yield new workflow_composition_root_1.WorkflowCompositionRoot().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
- core.startGroup('Cleanup');
- yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.cleanupSharedResources(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, cloud_runner_state_1.CloudRunnerState.buildParams, cloud_runner_state_1.CloudRunnerState.branchName, cloud_runner_state_1.CloudRunnerState.defaultSecrets);
- cloud_runner_logger_1.default.log(`Cleanup complete`);
- core.endGroup();
- return output;
- }
- catch (error) {
- core.endGroup();
- yield cloud_runner_error_1.CloudRunnerError.handleException(error);
- throw error;
- }
- });
- }
-}
-exports["default"] = CloudRunner;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const aws_1 = __importDefault(__nccwpck_require__(37569));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const k8s_1 = __importDefault(__nccwpck_require__(25107));
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const cloud_runner_step_state_1 = __nccwpck_require__(64854);
+const workflow_composition_root_1 = __nccwpck_require__(54204);
+const cloud_runner_error_1 = __nccwpck_require__(91477);
+const task_parameter_serializer_1 = __nccwpck_require__(35346);
+const core = __importStar(__nccwpck_require__(42186));
+class CloudRunner {
+ static setup(buildParameters) {
+ cloud_runner_logger_1.default.setup();
+ cloud_runner_state_1.CloudRunnerState.setup(buildParameters);
+ CloudRunner.setupBuildPlatform();
+ const parameters = task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables();
+ for (const element of parameters) {
+ core.setOutput(element.name, element.value);
+ }
+ }
+ static setupBuildPlatform() {
+ switch (cloud_runner_state_1.CloudRunnerState.buildParams.cloudRunnerCluster) {
+ case 'k8s':
+ cloud_runner_logger_1.default.log('Cloud Runner platform selected Kubernetes');
+ cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform = new k8s_1.default(cloud_runner_state_1.CloudRunnerState.buildParams);
+ break;
+ default:
+ case 'aws':
+ cloud_runner_logger_1.default.log('Cloud Runner platform selected AWS');
+ cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform = new aws_1.default(cloud_runner_state_1.CloudRunnerState.buildParams);
+ break;
+ }
+ }
+ static run(buildParameters, baseImage) {
+ return __awaiter(this, void 0, void 0, function* () {
+ CloudRunner.setup(buildParameters);
+ try {
+ core.startGroup('Setup remote runner');
+ yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.setupSharedResources(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, cloud_runner_state_1.CloudRunnerState.buildParams, cloud_runner_state_1.CloudRunnerState.branchName, cloud_runner_state_1.CloudRunnerState.defaultSecrets);
+ core.endGroup();
+ const output = yield new workflow_composition_root_1.WorkflowCompositionRoot().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
+ core.startGroup('Cleanup');
+ yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.cleanupSharedResources(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, cloud_runner_state_1.CloudRunnerState.buildParams, cloud_runner_state_1.CloudRunnerState.branchName, cloud_runner_state_1.CloudRunnerState.defaultSecrets);
+ cloud_runner_logger_1.default.log(`Cleanup complete`);
+ core.endGroup();
+ return output;
+ }
+ catch (error) {
+ core.endGroup();
+ yield cloud_runner_error_1.CloudRunnerError.handleException(error);
+ throw error;
+ }
+ });
+ }
+}
+exports["default"] = CloudRunner;
/***/ }),
@@ -1811,53 +1811,53 @@ exports["default"] = CloudRunner;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CloudRunnerError = void 0;
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const core = __importStar(__nccwpck_require__(42186));
-class CloudRunnerError {
- static handleException(error) {
- return __awaiter(this, void 0, void 0, function* () {
- cloud_runner_logger_1.default.error(JSON.stringify(error, undefined, 4));
- core.setFailed('Cloud Runner failed');
- yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.cleanupSharedResources(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, cloud_runner_state_1.CloudRunnerState.buildParams, cloud_runner_state_1.CloudRunnerState.branchName, cloud_runner_state_1.CloudRunnerState.defaultSecrets);
- });
- }
-}
-exports.CloudRunnerError = CloudRunnerError;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudRunnerError = void 0;
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const core = __importStar(__nccwpck_require__(42186));
+class CloudRunnerError {
+ static handleException(error) {
+ return __awaiter(this, void 0, void 0, function* () {
+ cloud_runner_logger_1.default.error(JSON.stringify(error, undefined, 4));
+ core.setFailed('Cloud Runner failed');
+ yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.cleanupSharedResources(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, cloud_runner_state_1.CloudRunnerState.buildParams, cloud_runner_state_1.CloudRunnerState.branchName, cloud_runner_state_1.CloudRunnerState.defaultSecrets);
+ });
+ }
+}
+exports.CloudRunnerError = CloudRunnerError;
/***/ }),
@@ -1866,191 +1866,191 @@ exports.CloudRunnerError = CloudRunnerError;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const k8s = __importStar(__nccwpck_require__(89679));
-const __1 = __nccwpck_require__(41359);
-const core = __importStar(__nccwpck_require__(42186));
-const kubernetes_storage_1 = __importDefault(__nccwpck_require__(43951));
-const kubernetes_task_runner_1 = __importDefault(__nccwpck_require__(7181));
-const kubernetes_secret_1 = __importDefault(__nccwpck_require__(71586));
-const async_wait_until_1 = __importDefault(__nccwpck_require__(41299));
-const kubernetes_job_spec_factory_1 = __importDefault(__nccwpck_require__(1739));
-const kubernetes_service_account_1 = __importDefault(__nccwpck_require__(42915));
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-class Kubernetes {
- constructor(buildParameters) {
- this.buildGuid = '';
- this.pvcName = '';
- this.secretName = '';
- this.jobName = '';
- this.podName = '';
- this.containerName = '';
- this.cleanupCronJobName = '';
- this.serviceAccountName = '';
- this.kubeConfig = new k8s.KubeConfig();
- this.kubeConfig.loadFromDefault();
- this.kubeClient = this.kubeConfig.makeApiClient(k8s.CoreV1Api);
- this.kubeClientBatch = this.kubeConfig.makeApiClient(k8s.BatchV1Api);
- cloud_runner_logger_1.default.log('Loaded default Kubernetes configuration for this environment');
- this.namespace = 'default';
- this.buildParameters = buildParameters;
- }
- setupSharedResources(buildGuid, buildParameters,
- // eslint-disable-next-line no-unused-vars
- branchName,
- // eslint-disable-next-line no-unused-vars
- defaultSecretsArray) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- this.pvcName = `unity-builder-pvc-${buildGuid}`;
- this.cleanupCronJobName = `unity-builder-cronjob-${buildGuid}`;
- this.serviceAccountName = `service-account-${buildGuid}`;
- yield kubernetes_storage_1.default.createPersistentVolumeClaim(buildParameters, this.pvcName, this.kubeClient, this.namespace);
- yield kubernetes_service_account_1.default.createServiceAccount(this.serviceAccountName, this.namespace, this.kubeClient);
- }
- catch (error) {
- throw error;
- }
- });
- }
- runTask(buildGuid, image, commands, mountdir, workingdir, environment, secrets) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- // setup
- this.buildGuid = buildGuid;
- this.secretName = `build-credentials-${buildGuid}`;
- this.jobName = `unity-builder-job-${buildGuid}`;
- this.containerName = `main`;
- yield kubernetes_secret_1.default.createSecret(secrets, this.secretName, this.namespace, this.kubeClient);
- const jobSpec = kubernetes_job_spec_factory_1.default.getJobSpec(commands, image, mountdir, workingdir, environment, secrets, this.buildGuid, this.buildParameters, this.secretName, this.pvcName, this.jobName, k8s);
- //run
- const jobResult = yield this.kubeClientBatch.createNamespacedJob(this.namespace, jobSpec);
- cloud_runner_logger_1.default.log(`Creating build job ${JSON.stringify(jobResult.body.metadata, undefined, 4)}`);
- yield new Promise((promise) => setTimeout(promise, 5000));
- cloud_runner_logger_1.default.log('Job created');
- this.setPodNameAndContainerName(yield Kubernetes.findPodFromJob(this.kubeClient, this.jobName, this.namespace));
- cloud_runner_logger_1.default.log('Watching pod until running');
- let output = '';
- // eslint-disable-next-line no-constant-condition
- while (true) {
- try {
- yield kubernetes_task_runner_1.default.watchUntilPodRunning(this.kubeClient, this.podName, this.namespace);
- cloud_runner_logger_1.default.log('Pod running, streaming logs');
- output = yield kubernetes_task_runner_1.default.runTask(this.kubeConfig, this.kubeClient, this.jobName, this.podName, 'main', this.namespace, cloud_runner_logger_1.default.log);
- break;
- }
- catch (error) {
- if (error.message.includes(`HTTP`)) {
- continue;
- }
- else {
- throw error;
- }
- }
- }
- yield this.cleanupTaskResources();
- return output;
- }
- catch (error) {
- cloud_runner_logger_1.default.log('Running job failed');
- core.error(JSON.stringify(error, undefined, 4));
- yield this.cleanupTaskResources();
- throw error;
- }
- });
- }
- setPodNameAndContainerName(pod) {
- var _a, _b, _c;
- this.podName = ((_a = pod.metadata) === null || _a === void 0 ? void 0 : _a.name) || '';
- this.containerName = ((_c = (_b = pod.status) === null || _b === void 0 ? void 0 : _b.containerStatuses) === null || _c === void 0 ? void 0 : _c[0].name) || '';
- }
- cleanupTaskResources() {
- return __awaiter(this, void 0, void 0, function* () {
- cloud_runner_logger_1.default.log('cleaning up');
- try {
- yield this.kubeClientBatch.deleteNamespacedJob(this.jobName, this.namespace);
- yield this.kubeClient.deleteNamespacedPod(this.podName, this.namespace);
- yield this.kubeClient.deleteNamespacedSecret(this.secretName, this.namespace);
- yield new Promise((promise) => setTimeout(promise, 5000));
- }
- catch (error) {
- cloud_runner_logger_1.default.log('Failed to cleanup, error:');
- core.error(JSON.stringify(error, undefined, 4));
- cloud_runner_logger_1.default.log('Abandoning cleanup, build error:');
- throw error;
- }
- try {
- yield async_wait_until_1.default(() => __awaiter(this, void 0, void 0, function* () {
- var _b;
- const jobBody = (yield this.kubeClientBatch.readNamespacedJob(this.jobName, this.namespace)).body;
- const podBody = (yield this.kubeClient.readNamespacedPod(this.podName, this.namespace)).body;
- return (jobBody === null || ((_b = jobBody.status) === null || _b === void 0 ? void 0 : _b.active) === 0) && podBody === null;
- }), {
- timeout: 500000,
- intervalBetweenAttempts: 15000,
- });
- // eslint-disable-next-line no-empty
- }
- catch (_a) { }
- });
- }
- cleanupSharedResources(buildGuid, buildParameters,
- // eslint-disable-next-line no-unused-vars
- branchName,
- // eslint-disable-next-line no-unused-vars
- defaultSecretsArray) {
- return __awaiter(this, void 0, void 0, function* () {
- cloud_runner_logger_1.default.log(`deleting PVC`);
- yield this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace);
- yield __1.Output.setBuildVersion(buildParameters.buildVersion);
- // eslint-disable-next-line unicorn/no-process-exit
- process.exit();
- });
- }
- static findPodFromJob(kubeClient, jobName, namespace) {
- return __awaiter(this, void 0, void 0, function* () {
- const namespacedPods = yield kubeClient.listNamespacedPod(namespace);
- const pod = namespacedPods.body.items.find((x) => { var _a, _b; return ((_b = (_a = x.metadata) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b['job-name']) === jobName; });
- if (pod === undefined) {
- throw new Error("pod with job-name label doesn't exist");
- }
- return pod;
- });
- }
-}
-exports["default"] = Kubernetes;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const k8s = __importStar(__nccwpck_require__(89679));
+const __1 = __nccwpck_require__(41359);
+const core = __importStar(__nccwpck_require__(42186));
+const kubernetes_storage_1 = __importDefault(__nccwpck_require__(43951));
+const kubernetes_task_runner_1 = __importDefault(__nccwpck_require__(7181));
+const kubernetes_secret_1 = __importDefault(__nccwpck_require__(71586));
+const async_wait_until_1 = __importDefault(__nccwpck_require__(41299));
+const kubernetes_job_spec_factory_1 = __importDefault(__nccwpck_require__(1739));
+const kubernetes_service_account_1 = __importDefault(__nccwpck_require__(42915));
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+class Kubernetes {
+ constructor(buildParameters) {
+ this.buildGuid = '';
+ this.pvcName = '';
+ this.secretName = '';
+ this.jobName = '';
+ this.podName = '';
+ this.containerName = '';
+ this.cleanupCronJobName = '';
+ this.serviceAccountName = '';
+ this.kubeConfig = new k8s.KubeConfig();
+ this.kubeConfig.loadFromDefault();
+ this.kubeClient = this.kubeConfig.makeApiClient(k8s.CoreV1Api);
+ this.kubeClientBatch = this.kubeConfig.makeApiClient(k8s.BatchV1Api);
+ cloud_runner_logger_1.default.log('Loaded default Kubernetes configuration for this environment');
+ this.namespace = 'default';
+ this.buildParameters = buildParameters;
+ }
+ setupSharedResources(buildGuid, buildParameters,
+ // eslint-disable-next-line no-unused-vars
+ branchName,
+ // eslint-disable-next-line no-unused-vars
+ defaultSecretsArray) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ this.pvcName = `unity-builder-pvc-${buildGuid}`;
+ this.cleanupCronJobName = `unity-builder-cronjob-${buildGuid}`;
+ this.serviceAccountName = `service-account-${buildGuid}`;
+ yield kubernetes_storage_1.default.createPersistentVolumeClaim(buildParameters, this.pvcName, this.kubeClient, this.namespace);
+ yield kubernetes_service_account_1.default.createServiceAccount(this.serviceAccountName, this.namespace, this.kubeClient);
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+ runTask(buildGuid, image, commands, mountdir, workingdir, environment, secrets) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ // setup
+ this.buildGuid = buildGuid;
+ this.secretName = `build-credentials-${buildGuid}`;
+ this.jobName = `unity-builder-job-${buildGuid}`;
+ this.containerName = `main`;
+ yield kubernetes_secret_1.default.createSecret(secrets, this.secretName, this.namespace, this.kubeClient);
+ const jobSpec = kubernetes_job_spec_factory_1.default.getJobSpec(commands, image, mountdir, workingdir, environment, secrets, this.buildGuid, this.buildParameters, this.secretName, this.pvcName, this.jobName, k8s);
+ //run
+ const jobResult = yield this.kubeClientBatch.createNamespacedJob(this.namespace, jobSpec);
+ cloud_runner_logger_1.default.log(`Creating build job ${JSON.stringify(jobResult.body.metadata, undefined, 4)}`);
+ yield new Promise((promise) => setTimeout(promise, 5000));
+ cloud_runner_logger_1.default.log('Job created');
+ this.setPodNameAndContainerName(yield Kubernetes.findPodFromJob(this.kubeClient, this.jobName, this.namespace));
+ cloud_runner_logger_1.default.log('Watching pod until running');
+ let output = '';
+ // eslint-disable-next-line no-constant-condition
+ while (true) {
+ try {
+ yield kubernetes_task_runner_1.default.watchUntilPodRunning(this.kubeClient, this.podName, this.namespace);
+ cloud_runner_logger_1.default.log('Pod running, streaming logs');
+ output = yield kubernetes_task_runner_1.default.runTask(this.kubeConfig, this.kubeClient, this.jobName, this.podName, 'main', this.namespace, cloud_runner_logger_1.default.log);
+ break;
+ }
+ catch (error) {
+ if (error.message.includes(`HTTP`)) {
+ continue;
+ }
+ else {
+ throw error;
+ }
+ }
+ }
+ yield this.cleanupTaskResources();
+ return output;
+ }
+ catch (error) {
+ cloud_runner_logger_1.default.log('Running job failed');
+ core.error(JSON.stringify(error, undefined, 4));
+ yield this.cleanupTaskResources();
+ throw error;
+ }
+ });
+ }
+ setPodNameAndContainerName(pod) {
+ var _a, _b, _c;
+ this.podName = ((_a = pod.metadata) === null || _a === void 0 ? void 0 : _a.name) || '';
+ this.containerName = ((_c = (_b = pod.status) === null || _b === void 0 ? void 0 : _b.containerStatuses) === null || _c === void 0 ? void 0 : _c[0].name) || '';
+ }
+ cleanupTaskResources() {
+ return __awaiter(this, void 0, void 0, function* () {
+ cloud_runner_logger_1.default.log('cleaning up');
+ try {
+ yield this.kubeClientBatch.deleteNamespacedJob(this.jobName, this.namespace);
+ yield this.kubeClient.deleteNamespacedPod(this.podName, this.namespace);
+ yield this.kubeClient.deleteNamespacedSecret(this.secretName, this.namespace);
+ yield new Promise((promise) => setTimeout(promise, 5000));
+ }
+ catch (error) {
+ cloud_runner_logger_1.default.log('Failed to cleanup, error:');
+ core.error(JSON.stringify(error, undefined, 4));
+ cloud_runner_logger_1.default.log('Abandoning cleanup, build error:');
+ throw error;
+ }
+ try {
+ yield async_wait_until_1.default(() => __awaiter(this, void 0, void 0, function* () {
+ var _b;
+ const jobBody = (yield this.kubeClientBatch.readNamespacedJob(this.jobName, this.namespace)).body;
+ const podBody = (yield this.kubeClient.readNamespacedPod(this.podName, this.namespace)).body;
+ return (jobBody === null || ((_b = jobBody.status) === null || _b === void 0 ? void 0 : _b.active) === 0) && podBody === null;
+ }), {
+ timeout: 500000,
+ intervalBetweenAttempts: 15000,
+ });
+ // eslint-disable-next-line no-empty
+ }
+ catch (_a) { }
+ });
+ }
+ cleanupSharedResources(buildGuid, buildParameters,
+ // eslint-disable-next-line no-unused-vars
+ branchName,
+ // eslint-disable-next-line no-unused-vars
+ defaultSecretsArray) {
+ return __awaiter(this, void 0, void 0, function* () {
+ cloud_runner_logger_1.default.log(`deleting PVC`);
+ yield this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace);
+ yield __1.Output.setBuildVersion(buildParameters.buildVersion);
+ // eslint-disable-next-line unicorn/no-process-exit
+ process.exit();
+ });
+ }
+ static findPodFromJob(kubeClient, jobName, namespace) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const namespacedPods = yield kubeClient.listNamespacedPod(namespace);
+ const pod = namespacedPods.body.items.find((x) => { var _a, _b; return ((_b = (_a = x.metadata) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b['job-name']) === jobName; });
+ if (pod === undefined) {
+ throw new Error("pod with job-name label doesn't exist");
+ }
+ return pod;
+ });
+ }
+}
+exports["default"] = Kubernetes;
/***/ }),
@@ -2059,149 +2059,149 @@ exports["default"] = Kubernetes;
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const client_node_1 = __nccwpck_require__(89679);
-const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-class KubernetesJobSpecFactory {
- static getJobSpec(command, image, mountdir, workingDirectory, environment, secrets, buildGuid, buildParameters, secretName, pvcName, jobName, k8s) {
- environment.push(...[
- {
- name: 'GITHUB_SHA',
- value: buildGuid,
- },
- {
- name: 'GITHUB_WORKSPACE',
- value: '/data/repo',
- },
- {
- name: 'PROJECT_PATH',
- value: buildParameters.projectPath,
- },
- {
- name: 'BUILD_PATH',
- value: buildParameters.buildPath,
- },
- {
- name: 'BUILD_FILE',
- value: buildParameters.buildFile,
- },
- {
- name: 'BUILD_NAME',
- value: buildParameters.buildName,
- },
- {
- name: 'BUILD_METHOD',
- value: buildParameters.buildMethod,
- },
- {
- name: 'CUSTOM_PARAMETERS',
- value: buildParameters.customParameters,
- },
- {
- name: 'CHOWN_FILES_TO',
- value: buildParameters.chownFilesTo,
- },
- {
- name: 'BUILD_TARGET',
- value: buildParameters.platform,
- },
- {
- name: 'ANDROID_VERSION_CODE',
- value: buildParameters.androidVersionCode.toString(),
- },
- {
- name: 'ANDROID_KEYSTORE_NAME',
- value: buildParameters.androidKeystoreName,
- },
- {
- name: 'ANDROID_KEYALIAS_NAME',
- value: buildParameters.androidKeyaliasName,
- },
- ]);
- const job = new k8s.V1Job();
- job.apiVersion = 'batch/v1';
- job.kind = 'Job';
- job.metadata = {
- name: jobName,
- labels: {
- app: 'unity-builder',
- buildGuid,
- },
- };
- job.spec = {
- backoffLimit: 0,
- template: {
- spec: {
- volumes: [
- {
- name: 'build-mount',
- persistentVolumeClaim: {
- claimName: pvcName,
- },
- },
- ],
- containers: [
- {
- name: 'main',
- image,
- command: ['/bin/sh'],
- args: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(command, cloud_runner_state_1.CloudRunnerState.buildParams)],
- workingDir: `${workingDirectory}`,
- resources: {
- requests: {
- memory: buildParameters.cloudRunnerMemory,
- cpu: buildParameters.cloudRunnerCpu,
- },
- },
- env: [
- ...environment.map((x) => {
- const environmentVariable = new client_node_1.V1EnvVar();
- environmentVariable.name = x.name;
- environmentVariable.value = x.value;
- return environmentVariable;
- }),
- ...secrets.map((x) => {
- const secret = new client_node_1.V1EnvVarSource();
- secret.secretKeyRef = new client_node_1.V1SecretKeySelector();
- secret.secretKeyRef.key = x.ParameterKey;
- secret.secretKeyRef.name = secretName;
- const environmentVariable = new client_node_1.V1EnvVar();
- environmentVariable.name = x.EnvironmentVariable;
- environmentVariable.valueFrom = secret;
- return environmentVariable;
- }),
- ],
- volumeMounts: [
- {
- name: 'build-mount',
- mountPath: `/${mountdir}`,
- },
- ],
- lifecycle: {
- preStop: {
- exec: {
- command: [
- 'bin/bash',
- '-c',
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const client_node_1 = __nccwpck_require__(89679);
+const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+class KubernetesJobSpecFactory {
+ static getJobSpec(command, image, mountdir, workingDirectory, environment, secrets, buildGuid, buildParameters, secretName, pvcName, jobName, k8s) {
+ environment.push(...[
+ {
+ name: 'GITHUB_SHA',
+ value: buildGuid,
+ },
+ {
+ name: 'GITHUB_WORKSPACE',
+ value: '/data/repo',
+ },
+ {
+ name: 'PROJECT_PATH',
+ value: buildParameters.projectPath,
+ },
+ {
+ name: 'BUILD_PATH',
+ value: buildParameters.buildPath,
+ },
+ {
+ name: 'BUILD_FILE',
+ value: buildParameters.buildFile,
+ },
+ {
+ name: 'BUILD_NAME',
+ value: buildParameters.buildName,
+ },
+ {
+ name: 'BUILD_METHOD',
+ value: buildParameters.buildMethod,
+ },
+ {
+ name: 'CUSTOM_PARAMETERS',
+ value: buildParameters.customParameters,
+ },
+ {
+ name: 'CHOWN_FILES_TO',
+ value: buildParameters.chownFilesTo,
+ },
+ {
+ name: 'BUILD_TARGET',
+ value: buildParameters.platform,
+ },
+ {
+ name: 'ANDROID_VERSION_CODE',
+ value: buildParameters.androidVersionCode.toString(),
+ },
+ {
+ name: 'ANDROID_KEYSTORE_NAME',
+ value: buildParameters.androidKeystoreName,
+ },
+ {
+ name: 'ANDROID_KEYALIAS_NAME',
+ value: buildParameters.androidKeyaliasName,
+ },
+ ]);
+ const job = new k8s.V1Job();
+ job.apiVersion = 'batch/v1';
+ job.kind = 'Job';
+ job.metadata = {
+ name: jobName,
+ labels: {
+ app: 'unity-builder',
+ buildGuid,
+ },
+ };
+ job.spec = {
+ backoffLimit: 0,
+ template: {
+ spec: {
+ volumes: [
+ {
+ name: 'build-mount',
+ persistentVolumeClaim: {
+ claimName: pvcName,
+ },
+ },
+ ],
+ containers: [
+ {
+ name: 'main',
+ image,
+ command: ['/bin/sh'],
+ args: ['-c', cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.ProcessCommands(command, cloud_runner_state_1.CloudRunnerState.buildParams)],
+ workingDir: `${workingDirectory}`,
+ resources: {
+ requests: {
+ memory: buildParameters.cloudRunnerMemory,
+ cpu: buildParameters.cloudRunnerCpu,
+ },
+ },
+ env: [
+ ...environment.map((x) => {
+ const environmentVariable = new client_node_1.V1EnvVar();
+ environmentVariable.name = x.name;
+ environmentVariable.value = x.value;
+ return environmentVariable;
+ }),
+ ...secrets.map((x) => {
+ const secret = new client_node_1.V1EnvVarSource();
+ secret.secretKeyRef = new client_node_1.V1SecretKeySelector();
+ secret.secretKeyRef.key = x.ParameterKey;
+ secret.secretKeyRef.name = secretName;
+ const environmentVariable = new client_node_1.V1EnvVar();
+ environmentVariable.name = x.EnvironmentVariable;
+ environmentVariable.valueFrom = secret;
+ return environmentVariable;
+ }),
+ ],
+ volumeMounts: [
+ {
+ name: 'build-mount',
+ mountPath: `/${mountdir}`,
+ },
+ ],
+ lifecycle: {
+ preStop: {
+ exec: {
+ command: [
+ 'bin/bash',
+ '-c',
`cd /data/builder/action/steps;
chmod +x /return_license.sh;
- /return_license.sh;`,
- ],
- },
- },
- },
- },
- ],
- restartPolicy: 'Never',
- },
- },
- };
- return job;
- }
-}
-exports["default"] = KubernetesJobSpecFactory;
+ /return_license.sh;`,
+ ],
+ },
+ },
+ },
+ },
+ ],
+ restartPolicy: 'Never',
+ },
+ },
+ };
+ return job;
+ }
+}
+exports["default"] = KubernetesJobSpecFactory;
/***/ }),
@@ -2210,57 +2210,57 @@ exports["default"] = KubernetesJobSpecFactory;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const k8s = __importStar(__nccwpck_require__(89679));
-const base64 = __nccwpck_require__(85848);
-class KubernetesSecret {
- static createSecret(secrets, secretName, namespace, kubeClient) {
- return __awaiter(this, void 0, void 0, function* () {
- const secret = new k8s.V1Secret();
- secret.apiVersion = 'v1';
- secret.kind = 'Secret';
- secret.type = 'Opaque';
- secret.metadata = {
- name: secretName,
- };
- secret.data = {};
- for (const buildSecret of secrets) {
- secret.data[buildSecret.ParameterKey] = base64.encode(buildSecret.ParameterValue);
- }
- return kubeClient.createNamespacedSecret(namespace, secret);
- });
- }
-}
-exports["default"] = KubernetesSecret;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const k8s = __importStar(__nccwpck_require__(89679));
+const base64 = __nccwpck_require__(85848);
+class KubernetesSecret {
+ static createSecret(secrets, secretName, namespace, kubeClient) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const secret = new k8s.V1Secret();
+ secret.apiVersion = 'v1';
+ secret.kind = 'Secret';
+ secret.type = 'Opaque';
+ secret.metadata = {
+ name: secretName,
+ };
+ secret.data = {};
+ for (const buildSecret of secrets) {
+ secret.data[buildSecret.ParameterKey] = base64.encode(buildSecret.ParameterValue);
+ }
+ return kubeClient.createNamespacedSecret(namespace, secret);
+ });
+ }
+}
+exports["default"] = KubernetesSecret;
/***/ }),
@@ -2269,52 +2269,52 @@ exports["default"] = KubernetesSecret;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const k8s = __importStar(__nccwpck_require__(89679));
-class KubernetesServiceAccount {
- static createServiceAccount(serviceAccountName, namespace, kubeClient) {
- return __awaiter(this, void 0, void 0, function* () {
- const serviceAccount = new k8s.V1ServiceAccount();
- serviceAccount.apiVersion = 'v1';
- serviceAccount.kind = 'ServiceAccount';
- serviceAccount.metadata = {
- name: serviceAccountName,
- };
- serviceAccount.automountServiceAccountToken = false;
- return kubeClient.createNamespacedServiceAccount(namespace, serviceAccount);
- });
- }
-}
-exports["default"] = KubernetesServiceAccount;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const k8s = __importStar(__nccwpck_require__(89679));
+class KubernetesServiceAccount {
+ static createServiceAccount(serviceAccountName, namespace, kubeClient) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const serviceAccount = new k8s.V1ServiceAccount();
+ serviceAccount.apiVersion = 'v1';
+ serviceAccount.kind = 'ServiceAccount';
+ serviceAccount.metadata = {
+ name: serviceAccountName,
+ };
+ serviceAccount.automountServiceAccountToken = false;
+ return kubeClient.createNamespacedServiceAccount(namespace, serviceAccount);
+ });
+ }
+}
+exports["default"] = KubernetesServiceAccount;
/***/ }),
@@ -2323,134 +2323,134 @@ exports["default"] = KubernetesServiceAccount;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const async_wait_until_1 = __importDefault(__nccwpck_require__(41299));
-const core = __importStar(__nccwpck_require__(42186));
-const k8s = __importStar(__nccwpck_require__(89679));
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const yaml_1 = __importDefault(__nccwpck_require__(44603));
-class KubernetesStorage {
- static createPersistentVolumeClaim(buildParameters, pvcName, kubeClient, namespace) {
- return __awaiter(this, void 0, void 0, function* () {
- if (buildParameters.kubeVolume) {
- cloud_runner_logger_1.default.log(buildParameters.kubeVolume);
- pvcName = buildParameters.kubeVolume;
- return;
- }
- const pvcList = (yield kubeClient.listNamespacedPersistentVolumeClaim(namespace)).body.items.map((x) => { var _a; return (_a = x.metadata) === null || _a === void 0 ? void 0 : _a.name; });
- cloud_runner_logger_1.default.log(`Current PVCs in namespace ${namespace}`);
- cloud_runner_logger_1.default.log(JSON.stringify(pvcList, undefined, 4));
- if (pvcList.includes(pvcName)) {
- cloud_runner_logger_1.default.log(`pvc ${pvcName} already exists`);
- core.setOutput('volume', pvcName);
- return;
- }
- cloud_runner_logger_1.default.log(`Creating PVC ${pvcName} (does not exist)`);
- const result = yield KubernetesStorage.createPVC(pvcName, buildParameters, kubeClient, namespace);
- yield KubernetesStorage.handleResult(result, kubeClient, namespace, pvcName);
- });
- }
- static getPVCPhase(kubeClient, name, namespace) {
- var _a;
- return __awaiter(this, void 0, void 0, function* () {
- try {
- return (_a = (yield kubeClient.readNamespacedPersistentVolumeClaim(name, namespace)).body.status) === null || _a === void 0 ? void 0 : _a.phase;
- }
- catch (error) {
- core.error('Failed to get PVC phase');
- core.error(JSON.stringify(error, undefined, 4));
- throw error;
- }
- });
- }
- static watchUntilPVCNotPending(kubeClient, name, namespace) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- cloud_runner_logger_1.default.log(`watch Until PVC Not Pending ${name} ${namespace}`);
- cloud_runner_logger_1.default.log(`${yield this.getPVCPhase(kubeClient, name, namespace)}`);
- yield async_wait_until_1.default(() => __awaiter(this, void 0, void 0, function* () {
- return (yield this.getPVCPhase(kubeClient, name, namespace)) !== 'Pending';
- }), {
- timeout: 500000,
- intervalBetweenAttempts: 15000,
- });
- }
- catch (error) {
- core.error('Failed to watch PVC');
- core.error(error.toString());
- core.error(`PVC Body: ${JSON.stringify((yield kubeClient.readNamespacedPersistentVolumeClaim(name, namespace)).body, undefined, 4)}`);
- throw error;
- }
- });
- }
- static createPVC(pvcName, buildParameters, kubeClient, namespace) {
- return __awaiter(this, void 0, void 0, function* () {
- const pvc = new k8s.V1PersistentVolumeClaim();
- pvc.apiVersion = 'v1';
- pvc.kind = 'PersistentVolumeClaim';
- pvc.metadata = {
- name: pvcName,
- };
- pvc.spec = {
- accessModes: ['ReadWriteOnce'],
- storageClassName: process.env.K8s_STORAGE_CLASS || 'standard',
- resources: {
- requests: {
- storage: buildParameters.kubeVolumeSize,
- },
- },
- };
- if (process.env.K8s_STORAGE_PVC_SPEC) {
- yaml_1.default.parse(process.env.K8s_STORAGE_PVC_SPEC);
- }
- const result = yield kubeClient.createNamespacedPersistentVolumeClaim(namespace, pvc);
- return result;
- });
- }
- static handleResult(result, kubeClient, namespace, pvcName) {
- var _a;
- return __awaiter(this, void 0, void 0, function* () {
- const name = ((_a = result.body.metadata) === null || _a === void 0 ? void 0 : _a.name) || '';
- cloud_runner_logger_1.default.log(`PVC ${name} created`);
- yield this.watchUntilPVCNotPending(kubeClient, name, namespace);
- cloud_runner_logger_1.default.log(`PVC ${name} is ready and not pending`);
- core.setOutput('volume', pvcName);
- });
- }
-}
-exports["default"] = KubernetesStorage;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const async_wait_until_1 = __importDefault(__nccwpck_require__(41299));
+const core = __importStar(__nccwpck_require__(42186));
+const k8s = __importStar(__nccwpck_require__(89679));
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const yaml_1 = __importDefault(__nccwpck_require__(44603));
+class KubernetesStorage {
+ static createPersistentVolumeClaim(buildParameters, pvcName, kubeClient, namespace) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (buildParameters.kubeVolume) {
+ cloud_runner_logger_1.default.log(buildParameters.kubeVolume);
+ pvcName = buildParameters.kubeVolume;
+ return;
+ }
+ const pvcList = (yield kubeClient.listNamespacedPersistentVolumeClaim(namespace)).body.items.map((x) => { var _a; return (_a = x.metadata) === null || _a === void 0 ? void 0 : _a.name; });
+ cloud_runner_logger_1.default.log(`Current PVCs in namespace ${namespace}`);
+ cloud_runner_logger_1.default.log(JSON.stringify(pvcList, undefined, 4));
+ if (pvcList.includes(pvcName)) {
+ cloud_runner_logger_1.default.log(`pvc ${pvcName} already exists`);
+ core.setOutput('volume', pvcName);
+ return;
+ }
+ cloud_runner_logger_1.default.log(`Creating PVC ${pvcName} (does not exist)`);
+ const result = yield KubernetesStorage.createPVC(pvcName, buildParameters, kubeClient, namespace);
+ yield KubernetesStorage.handleResult(result, kubeClient, namespace, pvcName);
+ });
+ }
+ static getPVCPhase(kubeClient, name, namespace) {
+ var _a;
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ return (_a = (yield kubeClient.readNamespacedPersistentVolumeClaim(name, namespace)).body.status) === null || _a === void 0 ? void 0 : _a.phase;
+ }
+ catch (error) {
+ core.error('Failed to get PVC phase');
+ core.error(JSON.stringify(error, undefined, 4));
+ throw error;
+ }
+ });
+ }
+ static watchUntilPVCNotPending(kubeClient, name, namespace) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ cloud_runner_logger_1.default.log(`watch Until PVC Not Pending ${name} ${namespace}`);
+ cloud_runner_logger_1.default.log(`${yield this.getPVCPhase(kubeClient, name, namespace)}`);
+ yield async_wait_until_1.default(() => __awaiter(this, void 0, void 0, function* () {
+ return (yield this.getPVCPhase(kubeClient, name, namespace)) !== 'Pending';
+ }), {
+ timeout: 500000,
+ intervalBetweenAttempts: 15000,
+ });
+ }
+ catch (error) {
+ core.error('Failed to watch PVC');
+ core.error(error.toString());
+ core.error(`PVC Body: ${JSON.stringify((yield kubeClient.readNamespacedPersistentVolumeClaim(name, namespace)).body, undefined, 4)}`);
+ throw error;
+ }
+ });
+ }
+ static createPVC(pvcName, buildParameters, kubeClient, namespace) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const pvc = new k8s.V1PersistentVolumeClaim();
+ pvc.apiVersion = 'v1';
+ pvc.kind = 'PersistentVolumeClaim';
+ pvc.metadata = {
+ name: pvcName,
+ };
+ pvc.spec = {
+ accessModes: ['ReadWriteOnce'],
+ storageClassName: process.env.K8s_STORAGE_CLASS || 'standard',
+ resources: {
+ requests: {
+ storage: buildParameters.kubeVolumeSize,
+ },
+ },
+ };
+ if (process.env.K8s_STORAGE_PVC_SPEC) {
+ yaml_1.default.parse(process.env.K8s_STORAGE_PVC_SPEC);
+ }
+ const result = yield kubeClient.createNamespacedPersistentVolumeClaim(namespace, pvc);
+ return result;
+ });
+ }
+ static handleResult(result, kubeClient, namespace, pvcName) {
+ var _a;
+ return __awaiter(this, void 0, void 0, function* () {
+ const name = ((_a = result.body.metadata) === null || _a === void 0 ? void 0 : _a.name) || '';
+ cloud_runner_logger_1.default.log(`PVC ${name} created`);
+ yield this.watchUntilPVCNotPending(kubeClient, name, namespace);
+ cloud_runner_logger_1.default.log(`PVC ${name} is ready and not pending`);
+ core.setOutput('volume', pvcName);
+ });
+ }
+}
+exports["default"] = KubernetesStorage;
/***/ }),
@@ -2459,124 +2459,124 @@ exports["default"] = KubernetesStorage;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const client_node_1 = __nccwpck_require__(89679);
-const stream_1 = __nccwpck_require__(12781);
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const core = __importStar(__nccwpck_require__(42186));
-const cloud_runner_statics_1 = __nccwpck_require__(90828);
-const async_wait_until_1 = __importDefault(__nccwpck_require__(41299));
-const __1 = __nccwpck_require__(41359);
-class KubernetesTaskRunner {
- static runTask(kubeConfig, kubeClient, jobName, podName, containerName, namespace, logCallback) {
- return __awaiter(this, void 0, void 0, function* () {
- cloud_runner_logger_1.default.log(`Streaming logs from pod: ${podName} container: ${containerName} namespace: ${namespace}`);
- const stream = new stream_1.Writable();
- let output = '';
- let didStreamAnyLogs = false;
- stream._write = (chunk, encoding, next) => {
- didStreamAnyLogs = true;
- let message = chunk.toString().trimRight(`\n`);
- message = `[${cloud_runner_statics_1.CloudRunnerStatics.logPrefix}] ${message}`;
- if (__1.Input.cloudRunnerTests) {
- output += message;
- }
- logCallback(message);
- next();
- };
- const logOptions = {
- follow: true,
- pretty: false,
- previous: false,
- };
- try {
- const resultError = yield new Promise((resolve) => new client_node_1.Log(kubeConfig).log(namespace, podName, containerName, stream, resolve, logOptions));
- stream.destroy();
- if (resultError) {
- throw resultError;
- }
- if (!didStreamAnyLogs) {
- core.error('Failed to stream any logs, listing namespace events, check for an error with the container');
- core.error(JSON.stringify({
- events: (yield kubeClient.listNamespacedEvent(namespace)).body.items
- .filter((x) => {
- return x.involvedObject.name === podName || x.involvedObject.name === jobName;
- })
- .map((x) => {
- return {
- type: x.involvedObject.kind,
- name: x.involvedObject.name,
- message: x.message,
- };
- }),
- }, undefined, 4));
- throw new Error(`No logs streamed from k8s`);
- }
- }
- catch (error) {
- if (stream) {
- stream.destroy();
- }
- throw error;
- }
- cloud_runner_logger_1.default.log('end of log stream');
- return output;
- });
- }
- static watchUntilPodRunning(kubeClient, podName, namespace) {
- return __awaiter(this, void 0, void 0, function* () {
- let success = false;
- cloud_runner_logger_1.default.log(`Watching ${podName} ${namespace}`);
- yield async_wait_until_1.default(() => __awaiter(this, void 0, void 0, function* () {
- var _a, _b, _c, _d, _e, _f;
- const status = yield kubeClient.readNamespacedPodStatus(podName, namespace);
- const phase = (_a = status === null || status === void 0 ? void 0 : status.body.status) === null || _a === void 0 ? void 0 : _a.phase;
- success = phase === 'Running';
- cloud_runner_logger_1.default.log(`${(_b = status.body.status) === null || _b === void 0 ? void 0 : _b.phase} ${((_d = (_c = status.body.status) === null || _c === void 0 ? void 0 : _c.conditions) === null || _d === void 0 ? void 0 : _d[0].reason) || ''} ${((_f = (_e = status.body.status) === null || _e === void 0 ? void 0 : _e.conditions) === null || _f === void 0 ? void 0 : _f[0].message) || ''}`);
- if (success || phase !== 'Pending')
- return true;
- return false;
- }), {
- timeout: 2000000,
- intervalBetweenAttempts: 15000,
- });
- return success;
- });
- }
-}
-exports["default"] = KubernetesTaskRunner;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const client_node_1 = __nccwpck_require__(89679);
+const stream_1 = __nccwpck_require__(12781);
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const core = __importStar(__nccwpck_require__(42186));
+const cloud_runner_statics_1 = __nccwpck_require__(90828);
+const async_wait_until_1 = __importDefault(__nccwpck_require__(41299));
+const __1 = __nccwpck_require__(41359);
+class KubernetesTaskRunner {
+ static runTask(kubeConfig, kubeClient, jobName, podName, containerName, namespace, logCallback) {
+ return __awaiter(this, void 0, void 0, function* () {
+ cloud_runner_logger_1.default.log(`Streaming logs from pod: ${podName} container: ${containerName} namespace: ${namespace}`);
+ const stream = new stream_1.Writable();
+ let output = '';
+ let didStreamAnyLogs = false;
+ stream._write = (chunk, encoding, next) => {
+ didStreamAnyLogs = true;
+ let message = chunk.toString().trimRight(`\n`);
+ message = `[${cloud_runner_statics_1.CloudRunnerStatics.logPrefix}] ${message}`;
+ if (__1.Input.cloudRunnerTests) {
+ output += message;
+ }
+ logCallback(message);
+ next();
+ };
+ const logOptions = {
+ follow: true,
+ pretty: false,
+ previous: false,
+ };
+ try {
+ const resultError = yield new Promise((resolve) => new client_node_1.Log(kubeConfig).log(namespace, podName, containerName, stream, resolve, logOptions));
+ stream.destroy();
+ if (resultError) {
+ throw resultError;
+ }
+ if (!didStreamAnyLogs) {
+ core.error('Failed to stream any logs, listing namespace events, check for an error with the container');
+ core.error(JSON.stringify({
+ events: (yield kubeClient.listNamespacedEvent(namespace)).body.items
+ .filter((x) => {
+ return x.involvedObject.name === podName || x.involvedObject.name === jobName;
+ })
+ .map((x) => {
+ return {
+ type: x.involvedObject.kind,
+ name: x.involvedObject.name,
+ message: x.message,
+ };
+ }),
+ }, undefined, 4));
+ throw new Error(`No logs streamed from k8s`);
+ }
+ }
+ catch (error) {
+ if (stream) {
+ stream.destroy();
+ }
+ throw error;
+ }
+ cloud_runner_logger_1.default.log('end of log stream');
+ return output;
+ });
+ }
+ static watchUntilPodRunning(kubeClient, podName, namespace) {
+ return __awaiter(this, void 0, void 0, function* () {
+ let success = false;
+ cloud_runner_logger_1.default.log(`Watching ${podName} ${namespace}`);
+ yield async_wait_until_1.default(() => __awaiter(this, void 0, void 0, function* () {
+ var _a, _b, _c, _d, _e, _f;
+ const status = yield kubeClient.readNamespacedPodStatus(podName, namespace);
+ const phase = (_a = status === null || status === void 0 ? void 0 : status.body.status) === null || _a === void 0 ? void 0 : _a.phase;
+ success = phase === 'Running';
+ cloud_runner_logger_1.default.log(`${(_b = status.body.status) === null || _b === void 0 ? void 0 : _b.phase} ${((_d = (_c = status.body.status) === null || _c === void 0 ? void 0 : _c.conditions) === null || _d === void 0 ? void 0 : _d[0].reason) || ''} ${((_f = (_e = status.body.status) === null || _e === void 0 ? void 0 : _e.conditions) === null || _f === void 0 ? void 0 : _f[0].message) || ''}`);
+ if (success || phase !== 'Pending')
+ return true;
+ return false;
+ }), {
+ timeout: 2000000,
+ intervalBetweenAttempts: 15000,
+ });
+ return success;
+ });
+ }
+}
+exports["default"] = KubernetesTaskRunner;
/***/ }),
@@ -2585,17 +2585,17 @@ exports["default"] = KubernetesTaskRunner;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.Hook = exports.CloudRunnerBuildCommandProcessor = void 0;
-const __1 = __nccwpck_require__(41359);
-const yaml_1 = __importDefault(__nccwpck_require__(44603));
-class CloudRunnerBuildCommandProcessor {
- static ProcessCommands(commands, buildParameters) {
- const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`all`));
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Hook = exports.CloudRunnerBuildCommandProcessor = void 0;
+const __1 = __nccwpck_require__(41359);
+const yaml_1 = __importDefault(__nccwpck_require__(44603));
+class CloudRunnerBuildCommandProcessor {
+ static ProcessCommands(commands, buildParameters) {
+ const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`all`));
return `echo "---"
echo "start cloud runner init"
${__1.Input.cloudRunnerTests ? '' : '#'} printenv
@@ -2605,29 +2605,29 @@ class CloudRunnerBuildCommandProcessor {
${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
echo "end of cloud runner job
---${buildParameters.logId}"
- `;
- }
- static getHooks() {
- const experimentHooks = process.env.EXPERIMENTAL_HOOKS;
- let output = new Array();
- if (experimentHooks && experimentHooks !== '') {
- try {
- output = yaml_1.default.parse(experimentHooks);
- }
- catch (error) {
- throw error;
- }
- }
- return output.filter((x) => x.step !== undefined && x.hook !== undefined && x.hook.length > 0);
- }
-}
-exports.CloudRunnerBuildCommandProcessor = CloudRunnerBuildCommandProcessor;
-class Hook {
- constructor() {
- this.secrets = new Array();
- }
-}
-exports.Hook = Hook;
+ `;
+ }
+ static getHooks() {
+ const experimentHooks = process.env.EXPERIMENTAL_HOOKS;
+ let output = new Array();
+ if (experimentHooks && experimentHooks !== '') {
+ try {
+ output = yaml_1.default.parse(experimentHooks);
+ }
+ catch (error) {
+ throw error;
+ }
+ }
+ return output.filter((x) => x.step !== undefined && x.hook !== undefined && x.hook.length > 0);
+ }
+}
+exports.CloudRunnerBuildCommandProcessor = CloudRunnerBuildCommandProcessor;
+class Hook {
+ constructor() {
+ this.secrets = new Array();
+ }
+}
+exports.Hook = Hook;
/***/ }),
@@ -2636,12 +2636,12 @@ exports.Hook = Hook;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-class CloudRunnerConstants {
-}
-CloudRunnerConstants.alphabet = '0123456789abcdefghijklmnopqrstuvwxyz';
-exports["default"] = CloudRunnerConstants;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+class CloudRunnerConstants {
+}
+CloudRunnerConstants.alphabet = '0123456789abcdefghijklmnopqrstuvwxyz';
+exports["default"] = CloudRunnerConstants;
/***/ }),
@@ -2650,58 +2650,58 @@ exports["default"] = CloudRunnerConstants;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __importStar(__nccwpck_require__(42186));
-class CloudRunnerLogger {
- static setup() {
- this.timestamp = this.createTimestamp();
- this.globalTimestamp = this.timestamp;
- }
- static log(message) {
- core.info(message);
- }
- static logWarning(message) {
- core.warning(message);
- }
- static logLine(message) {
- core.info(`${message}\n`);
- }
- static error(message) {
- core.error(message);
- }
- static logWithTime(message) {
- const newTimestamp = this.createTimestamp();
- core.info(`${message} (Since previous: ${this.calculateTimeDiff(newTimestamp, this.timestamp)}, Total time: ${this.calculateTimeDiff(newTimestamp, this.globalTimestamp)})`);
- this.timestamp = newTimestamp;
- }
- static calculateTimeDiff(x, y) {
- return Math.floor((x - y) / 1000);
- }
- static createTimestamp() {
- return Date.now();
- }
-}
-exports["default"] = CloudRunnerLogger;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(42186));
+class CloudRunnerLogger {
+ static setup() {
+ this.timestamp = this.createTimestamp();
+ this.globalTimestamp = this.timestamp;
+ }
+ static log(message) {
+ core.info(message);
+ }
+ static logWarning(message) {
+ core.warning(message);
+ }
+ static logLine(message) {
+ core.info(`${message}\n`);
+ }
+ static error(message) {
+ core.error(message);
+ }
+ static logWithTime(message) {
+ const newTimestamp = this.createTimestamp();
+ core.info(`${message} (Since previous: ${this.calculateTimeDiff(newTimestamp, this.timestamp)}, Total time: ${this.calculateTimeDiff(newTimestamp, this.globalTimestamp)})`);
+ this.timestamp = newTimestamp;
+ }
+ static calculateTimeDiff(x, y) {
+ return Math.floor((x - y) / 1000);
+ }
+ static createTimestamp() {
+ return Date.now();
+ }
+}
+exports["default"] = CloudRunnerLogger;
/***/ }),
@@ -2710,20 +2710,20 @@ exports["default"] = CloudRunnerLogger;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const nanoid_1 = __nccwpck_require__(17592);
-const cloud_runner_constants_1 = __importDefault(__nccwpck_require__(91311));
-class CloudRunnerNamespace {
- static generateBuildName(runNumber, platform) {
- const nanoid = nanoid_1.customAlphabet(cloud_runner_constants_1.default.alphabet, 4);
- return `${runNumber}-${platform.toLowerCase().replace('standalone', '')}-${nanoid()}`;
- }
-}
-exports["default"] = CloudRunnerNamespace;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const nanoid_1 = __nccwpck_require__(17592);
+const cloud_runner_constants_1 = __importDefault(__nccwpck_require__(91311));
+class CloudRunnerNamespace {
+ static generateBuildName(runNumber, platform) {
+ const nanoid = nanoid_1.customAlphabet(cloud_runner_constants_1.default.alphabet, 4);
+ return `${runNumber}-${platform.toLowerCase().replace('standalone', '')}-${nanoid()}`;
+ }
+}
+exports["default"] = CloudRunnerNamespace;
/***/ }),
@@ -2732,88 +2732,88 @@ exports["default"] = CloudRunnerNamespace;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.TaskParameterSerializer = void 0;
-const __1 = __nccwpck_require__(41359);
-const image_environment_factory_1 = __importDefault(__nccwpck_require__(25145));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
-class TaskParameterSerializer {
- static readBuildEnvironmentVariables() {
- TaskParameterSerializer.setupDefaultSecrets();
- return [
- {
- name: 'ContainerMemory',
- value: cloud_runner_state_1.CloudRunnerState.buildParams.cloudRunnerMemory,
- },
- {
- name: 'ContainerCpu',
- value: cloud_runner_state_1.CloudRunnerState.buildParams.cloudRunnerCpu,
- },
- {
- name: 'BUILD_TARGET',
- value: cloud_runner_state_1.CloudRunnerState.buildParams.platform,
- },
- ...TaskParameterSerializer.serializeBuildParamsAndInput,
- ];
- }
- static get serializeBuildParamsAndInput() {
- let array = new Array();
- array = TaskParameterSerializer.readBuildParameters(array);
- array = TaskParameterSerializer.readInput(array);
- const configurableHooks = cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.getHooks();
- const secrets = configurableHooks.map((x) => x.secrets).filter((x) => x !== undefined && x.length > 0);
- if (secrets.length > 0) {
- // eslint-disable-next-line unicorn/no-array-reduce
- array.push(secrets.reduce((x, y) => [...x, ...y]));
- }
- array = array.filter((x) => x.value !== undefined && x.name !== '0' && x.value !== '' && x.name !== 'prototype' && x.name !== 'length');
- array = array.map((x) => {
- x.name = __1.Input.ToEnvVarFormat(x.name);
- x.value = `${x.value}`;
- return x;
- });
- return array;
- }
- static readBuildParameters(array) {
- const keys = Object.keys(cloud_runner_state_1.CloudRunnerState.buildParams);
- for (const element of keys) {
- array.push({
- name: element,
- value: cloud_runner_state_1.CloudRunnerState.buildParams[element],
- });
- }
- array.push({ name: 'buildParameters', value: JSON.stringify(cloud_runner_state_1.CloudRunnerState.buildParams) });
- return array;
- }
- static readInput(array) {
- const input = Object.getOwnPropertyNames(__1.Input);
- for (const element of input) {
- if (typeof __1.Input[element] !== 'function' && array.filter((x) => x.name === element).length === 0) {
- array.push({
- name: element,
- value: `${__1.Input[element]}`,
- });
- }
- }
- return array;
- }
- static setupDefaultSecrets() {
- if (cloud_runner_state_1.CloudRunnerState.defaultSecrets === undefined)
- cloud_runner_state_1.CloudRunnerState.defaultSecrets = image_environment_factory_1.default.getEnvironmentVariables(cloud_runner_state_1.CloudRunnerState.buildParams).map((x) => {
- return {
- ParameterKey: x.name,
- EnvironmentVariable: x.name,
- ParameterValue: x.value,
- };
- });
- }
-}
-exports.TaskParameterSerializer = TaskParameterSerializer;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.TaskParameterSerializer = void 0;
+const __1 = __nccwpck_require__(41359);
+const image_environment_factory_1 = __importDefault(__nccwpck_require__(25145));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
+class TaskParameterSerializer {
+ static readBuildEnvironmentVariables() {
+ TaskParameterSerializer.setupDefaultSecrets();
+ return [
+ {
+ name: 'ContainerMemory',
+ value: cloud_runner_state_1.CloudRunnerState.buildParams.cloudRunnerMemory,
+ },
+ {
+ name: 'ContainerCpu',
+ value: cloud_runner_state_1.CloudRunnerState.buildParams.cloudRunnerCpu,
+ },
+ {
+ name: 'BUILD_TARGET',
+ value: cloud_runner_state_1.CloudRunnerState.buildParams.platform,
+ },
+ ...TaskParameterSerializer.serializeBuildParamsAndInput,
+ ];
+ }
+ static get serializeBuildParamsAndInput() {
+ let array = new Array();
+ array = TaskParameterSerializer.readBuildParameters(array);
+ array = TaskParameterSerializer.readInput(array);
+ const configurableHooks = cloud_runner_build_command_process_1.CloudRunnerBuildCommandProcessor.getHooks();
+ const secrets = configurableHooks.map((x) => x.secrets).filter((x) => x !== undefined && x.length > 0);
+ if (secrets.length > 0) {
+ // eslint-disable-next-line unicorn/no-array-reduce
+ array.push(secrets.reduce((x, y) => [...x, ...y]));
+ }
+ array = array.filter((x) => x.value !== undefined && x.name !== '0' && x.value !== '' && x.name !== 'prototype' && x.name !== 'length');
+ array = array.map((x) => {
+ x.name = __1.Input.ToEnvVarFormat(x.name);
+ x.value = `${x.value}`;
+ return x;
+ });
+ return array;
+ }
+ static readBuildParameters(array) {
+ const keys = Object.keys(cloud_runner_state_1.CloudRunnerState.buildParams);
+ for (const element of keys) {
+ array.push({
+ name: element,
+ value: cloud_runner_state_1.CloudRunnerState.buildParams[element],
+ });
+ }
+ array.push({ name: 'buildParameters', value: JSON.stringify(cloud_runner_state_1.CloudRunnerState.buildParams) });
+ return array;
+ }
+ static readInput(array) {
+ const input = Object.getOwnPropertyNames(__1.Input);
+ for (const element of input) {
+ if (typeof __1.Input[element] !== 'function' && array.filter((x) => x.name === element).length === 0) {
+ array.push({
+ name: element,
+ value: `${__1.Input[element]}`,
+ });
+ }
+ }
+ return array;
+ }
+ static setupDefaultSecrets() {
+ if (cloud_runner_state_1.CloudRunnerState.defaultSecrets === undefined)
+ cloud_runner_state_1.CloudRunnerState.defaultSecrets = image_environment_factory_1.default.getEnvironmentVariables(cloud_runner_state_1.CloudRunnerState.buildParams).map((x) => {
+ return {
+ ParameterKey: x.name,
+ EnvironmentVariable: x.name,
+ ParameterValue: x.value,
+ };
+ });
+ }
+}
+exports.TaskParameterSerializer = TaskParameterSerializer;
/***/ }),
@@ -2822,66 +2822,66 @@ exports.TaskParameterSerializer = TaskParameterSerializer;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CloudRunnerState = void 0;
-const path_1 = __importDefault(__nccwpck_require__(71017));
-class CloudRunnerState {
- // only the following paths that do not start a path.join with another "Full" suffixed property need to start with an absolute /
- static get buildPathFull() {
- return path_1.default.join(`/`, CloudRunnerState.buildVolumeFolder, CloudRunnerState.buildParams.buildGuid);
- }
- static get cacheFolderFull() {
- return path_1.default.join('/', CloudRunnerState.buildVolumeFolder, CloudRunnerState.cacheFolder, CloudRunnerState.branchName);
- }
- static setup(buildParameters) {
- CloudRunnerState.buildParams = buildParameters;
- }
- static get branchName() {
- return CloudRunnerState.buildParams.branch;
- }
- static get builderPathFull() {
- return path_1.default.join(CloudRunnerState.buildPathFull, `builder`);
- }
- static get repoPathFull() {
- return path_1.default.join(CloudRunnerState.buildPathFull, CloudRunnerState.repositoryFolder);
- }
- static get projectPathFull() {
- return path_1.default.join(CloudRunnerState.repoPathFull, CloudRunnerState.buildParams.projectPath);
- }
- static get libraryFolderFull() {
- return path_1.default.join(CloudRunnerState.projectPathFull, `Library`);
- }
- static get lfsDirectoryFull() {
- return path_1.default.join(CloudRunnerState.repoPathFull, `.git`, `lfs`);
- }
- static get purgeRemoteCaching() {
- return process.env.PURGE_REMOTE_BUILDER_CACHE !== undefined;
- }
- static get lfsCacheFolderFull() {
- return path_1.default.join(CloudRunnerState.cacheFolderFull, `lfs`);
- }
- static get libraryCacheFolderFull() {
- return path_1.default.join(CloudRunnerState.cacheFolderFull, `Library`);
- }
- static get unityBuilderRepoUrl() {
- return `https://${CloudRunnerState.buildParams.githubToken}@github.com/game-ci/unity-builder.git`;
- }
- static get targetBuildRepoUrl() {
- return `https://${CloudRunnerState.buildParams.githubToken}@github.com/${CloudRunnerState.buildParams.githubRepo}.git`;
- }
- static get buildVolumeFolder() {
- return 'data';
- }
- static get cacheFolder() {
- return 'cache';
- }
-}
-exports.CloudRunnerState = CloudRunnerState;
-CloudRunnerState.repositoryFolder = 'repo';
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudRunnerState = void 0;
+const path_1 = __importDefault(__nccwpck_require__(71017));
+class CloudRunnerState {
+ // only the following paths that do not start a path.join with another "Full" suffixed property need to start with an absolute /
+ static get buildPathFull() {
+ return path_1.default.join(`/`, CloudRunnerState.buildVolumeFolder, CloudRunnerState.buildParams.buildGuid);
+ }
+ static get cacheFolderFull() {
+ return path_1.default.join('/', CloudRunnerState.buildVolumeFolder, CloudRunnerState.cacheFolder, CloudRunnerState.branchName);
+ }
+ static setup(buildParameters) {
+ CloudRunnerState.buildParams = buildParameters;
+ }
+ static get branchName() {
+ return CloudRunnerState.buildParams.branch;
+ }
+ static get builderPathFull() {
+ return path_1.default.join(CloudRunnerState.buildPathFull, `builder`);
+ }
+ static get repoPathFull() {
+ return path_1.default.join(CloudRunnerState.buildPathFull, CloudRunnerState.repositoryFolder);
+ }
+ static get projectPathFull() {
+ return path_1.default.join(CloudRunnerState.repoPathFull, CloudRunnerState.buildParams.projectPath);
+ }
+ static get libraryFolderFull() {
+ return path_1.default.join(CloudRunnerState.projectPathFull, `Library`);
+ }
+ static get lfsDirectoryFull() {
+ return path_1.default.join(CloudRunnerState.repoPathFull, `.git`, `lfs`);
+ }
+ static get purgeRemoteCaching() {
+ return process.env.PURGE_REMOTE_BUILDER_CACHE !== undefined;
+ }
+ static get lfsCacheFolderFull() {
+ return path_1.default.join(CloudRunnerState.cacheFolderFull, `lfs`);
+ }
+ static get libraryCacheFolderFull() {
+ return path_1.default.join(CloudRunnerState.cacheFolderFull, `Library`);
+ }
+ static get unityBuilderRepoUrl() {
+ return `https://${CloudRunnerState.buildParams.githubToken}@github.com/game-ci/unity-builder.git`;
+ }
+ static get targetBuildRepoUrl() {
+ return `https://${CloudRunnerState.buildParams.githubToken}@github.com/${CloudRunnerState.buildParams.githubRepo}.git`;
+ }
+ static get buildVolumeFolder() {
+ return 'data';
+ }
+ static get cacheFolder() {
+ return 'cache';
+ }
+}
+exports.CloudRunnerState = CloudRunnerState;
+CloudRunnerState.repositoryFolder = 'repo';
/***/ }),
@@ -2890,17 +2890,17 @@ CloudRunnerState.repositoryFolder = 'repo';
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CloudRunnerStepState = void 0;
-class CloudRunnerStepState {
- constructor(image, environmentVariables, secrets) {
- this.image = image;
- this.environment = environmentVariables;
- this.secrets = secrets;
- }
-}
-exports.CloudRunnerStepState = CloudRunnerStepState;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudRunnerStepState = void 0;
+class CloudRunnerStepState {
+ constructor(image, environmentVariables, secrets) {
+ this.image = image;
+ this.environment = environmentVariables;
+ this.secrets = secrets;
+ }
+}
+exports.CloudRunnerStepState = CloudRunnerStepState;
/***/ }),
@@ -2909,47 +2909,47 @@ exports.CloudRunnerStepState = CloudRunnerStepState;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.BuildStep = void 0;
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const __1 = __nccwpck_require__(41359);
-const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-class BuildStep {
- run(cloudRunnerStepState) {
- return __awaiter(this, void 0, void 0, function* () {
- return yield BuildStep.BuildStep(cloudRunnerStepState.image, cloudRunnerStepState.environment, cloudRunnerStepState.secrets);
- });
- }
- static BuildStep(image, environmentVariables, secrets) {
- 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`));
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.BuildStep = void 0;
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const __1 = __nccwpck_require__(41359);
+const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+class BuildStep {
+ run(cloudRunnerStepState) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return yield BuildStep.BuildStep(cloudRunnerStepState.image, cloudRunnerStepState.environment, cloudRunnerStepState.secrets);
+ });
+ }
+ static BuildStep(image, environmentVariables, secrets) {
+ 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')
+ cp -r "${path_1.default
+ .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'default-build-script')
.replace(/\\/g, `/`)}" "/UnityBuilderAction"
- cp -r "${path_1.default
- .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'platforms', 'ubuntu', 'entrypoint.sh')
+ cp -r "${path_1.default
+ .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'platforms', 'ubuntu', 'entrypoint.sh')
.replace(/\\/g, `/`)}" "/entrypoint.sh"
- cp -r "${path_1.default
- .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'platforms', 'ubuntu', 'steps')
+ cp -r "${path_1.default
+ .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'platforms', 'ubuntu', 'steps')
.replace(/\\/g, `/`)}" "/steps"
chmod -R +x "/entrypoint.sh"
chmod -R +x "/steps"
@@ -2966,16 +2966,16 @@ class BuildStep {
${__1.Input.cloudRunnerTests ? '' : '#'} tree -lh "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}"
mv "build-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.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`)
+ node ${path_1.default
+ .join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`)
.replace(/\\/g, `/`)} -m cache-push "Library" "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}/Library"
${__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);
- });
- }
-}
-exports.BuildStep = BuildStep;
+ `, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.projectPathFull}`, environmentVariables, secrets);
+ });
+ }
+}
+exports.BuildStep = BuildStep;
/***/ }),
@@ -2984,48 +2984,48 @@ exports.BuildStep = BuildStep;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.SetupStep = void 0;
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const __1 = __nccwpck_require__(41359);
-const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-class SetupStep {
- run(cloudRunnerStepState) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- return yield SetupStep.downloadRepository(cloudRunnerStepState.image, cloudRunnerStepState.environment, cloudRunnerStepState.secrets);
- }
- catch (error) {
- throw error;
- }
- });
- }
- static getCloudRunnerBranch() {
- var _a;
- return ((_a = process.env.CLOUD_RUNNER_BRANCH) === null || _a === void 0 ? void 0 : _a.includes('/')) ? process.env.CLOUD_RUNNER_BRANCH.split('/').reverse()[0]
- : process.env.CLOUD_RUNNER_BRANCH;
- }
- static downloadRepository(image, environmentVariables, secrets) {
- return __awaiter(this, void 0, void 0, function* () {
- 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`));
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SetupStep = void 0;
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const __1 = __nccwpck_require__(41359);
+const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+class SetupStep {
+ run(cloudRunnerStepState) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ return yield SetupStep.downloadRepository(cloudRunnerStepState.image, cloudRunnerStepState.environment, cloudRunnerStepState.secrets);
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+ static getCloudRunnerBranch() {
+ var _a;
+ return ((_a = process.env.CLOUD_RUNNER_BRANCH) === null || _a === void 0 ? void 0 : _a.includes('/')) ? process.env.CLOUD_RUNNER_BRANCH.split('/').reverse()[0]
+ : process.env.CLOUD_RUNNER_BRANCH;
+ }
+ static downloadRepository(image, environmentVariables, secrets) {
+ return __awaiter(this, void 0, void 0, function* () {
+ 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, `apk update -q
apk add git-lfs jq tree zip unzip nodejs -q
${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
@@ -3036,16 +3036,16 @@ class SetupStep {
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) {
- cloud_runner_logger_1.default.logLine(`Failed download repository step 1/2`);
- throw error;
- }
- });
- }
-}
-exports.SetupStep = SetupStep;
+ `, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}/`, environmentVariables, secrets);
+ }
+ catch (error) {
+ cloud_runner_logger_1.default.logLine(`Failed download repository step 1/2`);
+ throw error;
+ }
+ });
+ }
+}
+exports.SetupStep = SetupStep;
/***/ }),
@@ -3054,94 +3054,94 @@ exports.SetupStep = SetupStep;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.BuildAutomationWorkflow = void 0;
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const task_parameter_serializer_1 = __nccwpck_require__(35346);
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const cloud_runner_step_state_1 = __nccwpck_require__(64854);
-const build_step_1 = __nccwpck_require__(91491);
-const setup_step_1 = __nccwpck_require__(58923);
-const custom_workflow_1 = __nccwpck_require__(3786);
-const core = __importStar(__nccwpck_require__(42186));
-class BuildAutomationWorkflow {
- run(cloudRunnerStepState) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- return yield BuildAutomationWorkflow.standardBuildAutomation(cloudRunnerStepState.image);
- }
- catch (error) {
- throw error;
- }
- });
- }
- static standardBuildAutomation(baseImage) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- cloud_runner_logger_1.default.log(`Cloud Runner is running standard build automation`);
- core.startGroup('pre build steps');
- let output = '';
- if (cloud_runner_state_1.CloudRunnerState.buildParams.preBuildSteps !== '') {
- output += yield custom_workflow_1.CustomWorkflow.runCustomJob(cloud_runner_state_1.CloudRunnerState.buildParams.preBuildSteps);
- }
- core.endGroup();
- cloud_runner_logger_1.default.logWithTime('Configurable pre build step(s) time');
- core.startGroup('setup');
- output += yield new setup_step_1.SetupStep().run(new cloud_runner_step_state_1.CloudRunnerStepState('alpine/git', task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
- core.endGroup();
- cloud_runner_logger_1.default.logWithTime('Download repository step time');
- core.startGroup('build');
- output += yield new build_step_1.BuildStep().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
- core.endGroup();
- cloud_runner_logger_1.default.logWithTime('Build time');
- core.startGroup('post build steps');
- if (cloud_runner_state_1.CloudRunnerState.buildParams.postBuildSteps !== '') {
- output += yield custom_workflow_1.CustomWorkflow.runCustomJob(cloud_runner_state_1.CloudRunnerState.buildParams.postBuildSteps);
- }
- core.endGroup();
- cloud_runner_logger_1.default.logWithTime('Configurable post build step(s) time');
- cloud_runner_logger_1.default.log(`Cloud Runner finished running standard build automation`);
- return output;
- }
- catch (error) {
- throw error;
- }
- });
- }
-}
-exports.BuildAutomationWorkflow = BuildAutomationWorkflow;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.BuildAutomationWorkflow = void 0;
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const task_parameter_serializer_1 = __nccwpck_require__(35346);
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const cloud_runner_step_state_1 = __nccwpck_require__(64854);
+const build_step_1 = __nccwpck_require__(91491);
+const setup_step_1 = __nccwpck_require__(58923);
+const custom_workflow_1 = __nccwpck_require__(3786);
+const core = __importStar(__nccwpck_require__(42186));
+class BuildAutomationWorkflow {
+ run(cloudRunnerStepState) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ return yield BuildAutomationWorkflow.standardBuildAutomation(cloudRunnerStepState.image);
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+ static standardBuildAutomation(baseImage) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ cloud_runner_logger_1.default.log(`Cloud Runner is running standard build automation`);
+ core.startGroup('pre build steps');
+ let output = '';
+ if (cloud_runner_state_1.CloudRunnerState.buildParams.preBuildSteps !== '') {
+ output += yield custom_workflow_1.CustomWorkflow.runCustomJob(cloud_runner_state_1.CloudRunnerState.buildParams.preBuildSteps);
+ }
+ core.endGroup();
+ cloud_runner_logger_1.default.logWithTime('Configurable pre build step(s) time');
+ core.startGroup('setup');
+ output += yield new setup_step_1.SetupStep().run(new cloud_runner_step_state_1.CloudRunnerStepState('alpine/git', task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
+ core.endGroup();
+ cloud_runner_logger_1.default.logWithTime('Download repository step time');
+ core.startGroup('build');
+ output += yield new build_step_1.BuildStep().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
+ core.endGroup();
+ cloud_runner_logger_1.default.logWithTime('Build time');
+ core.startGroup('post build steps');
+ if (cloud_runner_state_1.CloudRunnerState.buildParams.postBuildSteps !== '') {
+ output += yield custom_workflow_1.CustomWorkflow.runCustomJob(cloud_runner_state_1.CloudRunnerState.buildParams.postBuildSteps);
+ }
+ core.endGroup();
+ cloud_runner_logger_1.default.logWithTime('Configurable post build step(s) time');
+ cloud_runner_logger_1.default.log(`Cloud Runner finished running standard build automation`);
+ return output;
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+}
+exports.BuildAutomationWorkflow = BuildAutomationWorkflow;
/***/ }),
@@ -3150,62 +3150,62 @@ exports.BuildAutomationWorkflow = BuildAutomationWorkflow;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CustomWorkflow = void 0;
-const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const yaml_1 = __importDefault(__nccwpck_require__(44603));
-const __1 = __nccwpck_require__(41359);
-const task_parameter_serializer_1 = __nccwpck_require__(35346);
-class CustomWorkflow {
- static runCustomJob(buildSteps) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- cloud_runner_logger_1.default.log(`Cloud Runner is running in custom job mode`);
- if (__1.Input.cloudRunnerTests) {
- cloud_runner_logger_1.default.log(`Parsing build steps: ${buildSteps}`);
- }
- try {
- buildSteps = yaml_1.default.parse(buildSteps);
- let output = '';
- for (const step of buildSteps) {
- const stepSecrets = step.secrets.map((x) => {
- const secret = {
- ParameterKey: x.name,
- EnvironmentVariable: __1.Input.ToEnvVarFormat(x.name),
- ParameterValue: x.value,
- };
- return secret;
- });
- output += yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, step['image'], step['commands'], `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}/`, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), [...cloud_runner_state_1.CloudRunnerState.defaultSecrets, ...stepSecrets]);
- }
- return output;
- }
- catch (error) {
- cloud_runner_logger_1.default.log(`failed to parse a custom job "${buildSteps}"`);
- throw error;
- }
- }
- catch (error) {
- throw error;
- }
- });
- }
-}
-exports.CustomWorkflow = CustomWorkflow;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CustomWorkflow = void 0;
+const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const yaml_1 = __importDefault(__nccwpck_require__(44603));
+const __1 = __nccwpck_require__(41359);
+const task_parameter_serializer_1 = __nccwpck_require__(35346);
+class CustomWorkflow {
+ static runCustomJob(buildSteps) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ cloud_runner_logger_1.default.log(`Cloud Runner is running in custom job mode`);
+ if (__1.Input.cloudRunnerTests) {
+ cloud_runner_logger_1.default.log(`Parsing build steps: ${buildSteps}`);
+ }
+ try {
+ buildSteps = yaml_1.default.parse(buildSteps);
+ let output = '';
+ for (const step of buildSteps) {
+ const stepSecrets = step.secrets.map((x) => {
+ const secret = {
+ ParameterKey: x.name,
+ EnvironmentVariable: __1.Input.ToEnvVarFormat(x.name),
+ ParameterValue: x.value,
+ };
+ return secret;
+ });
+ output += yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, step['image'], step['commands'], `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}/`, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), [...cloud_runner_state_1.CloudRunnerState.defaultSecrets, ...stepSecrets]);
+ }
+ return output;
+ }
+ catch (error) {
+ cloud_runner_logger_1.default.log(`failed to parse a custom job "${buildSteps}"`);
+ throw error;
+ }
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+}
+exports.CustomWorkflow = CustomWorkflow;
/***/ }),
@@ -3214,53 +3214,53 @@ exports.CustomWorkflow = CustomWorkflow;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.WorkflowCompositionRoot = void 0;
-const cloud_runner_state_1 = __nccwpck_require__(70912);
-const cloud_runner_step_state_1 = __nccwpck_require__(64854);
-const custom_workflow_1 = __nccwpck_require__(3786);
-const build_automation_workflow_1 = __nccwpck_require__(94655);
-const task_parameter_serializer_1 = __nccwpck_require__(35346);
-const setup_step_1 = __nccwpck_require__(58923);
-class WorkflowCompositionRoot {
- run(cloudRunnerStepState) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- return yield WorkflowCompositionRoot.runJob(cloudRunnerStepState.image.toString());
- }
- catch (error) {
- throw error;
- }
- });
- }
- static runJob(baseImage) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- if (cloud_runner_state_1.CloudRunnerState.buildParams.customJob === `setup`) {
- return yield new setup_step_1.SetupStep().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
- }
- else if (cloud_runner_state_1.CloudRunnerState.buildParams.customJob !== '') {
- return yield custom_workflow_1.CustomWorkflow.runCustomJob(cloud_runner_state_1.CloudRunnerState.buildParams.customJob);
- }
- return yield new build_automation_workflow_1.BuildAutomationWorkflow().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
- }
- catch (error) {
- throw error;
- }
- });
- }
-}
-exports.WorkflowCompositionRoot = WorkflowCompositionRoot;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.WorkflowCompositionRoot = void 0;
+const cloud_runner_state_1 = __nccwpck_require__(70912);
+const cloud_runner_step_state_1 = __nccwpck_require__(64854);
+const custom_workflow_1 = __nccwpck_require__(3786);
+const build_automation_workflow_1 = __nccwpck_require__(94655);
+const task_parameter_serializer_1 = __nccwpck_require__(35346);
+const setup_step_1 = __nccwpck_require__(58923);
+class WorkflowCompositionRoot {
+ run(cloudRunnerStepState) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ return yield WorkflowCompositionRoot.runJob(cloudRunnerStepState.image.toString());
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+ static runJob(baseImage) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ if (cloud_runner_state_1.CloudRunnerState.buildParams.customJob === `setup`) {
+ return yield new setup_step_1.SetupStep().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
+ }
+ else if (cloud_runner_state_1.CloudRunnerState.buildParams.customJob !== '') {
+ return yield custom_workflow_1.CustomWorkflow.runCustomJob(cloud_runner_state_1.CloudRunnerState.buildParams.customJob);
+ }
+ return yield new build_automation_workflow_1.BuildAutomationWorkflow().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_state_1.CloudRunnerState.defaultSecrets));
+ }
+ catch (error) {
+ throw error;
+ }
+ });
+ }
+}
+exports.WorkflowCompositionRoot = WorkflowCompositionRoot;
/***/ }),
@@ -3269,61 +3269,61 @@ exports.WorkflowCompositionRoot = WorkflowCompositionRoot;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const exec_1 = __nccwpck_require__(71514);
-const image_tag_1 = __importDefault(__nccwpck_require__(57648));
-const image_environment_factory_1 = __importDefault(__nccwpck_require__(25145));
-const fs_1 = __nccwpck_require__(57147);
-const path_1 = __importDefault(__nccwpck_require__(71017));
-class Docker {
- static build(buildParameters, silent = false) {
- return __awaiter(this, void 0, void 0, function* () {
- const { path: buildPath, dockerfile, baseImage } = buildParameters;
- const { version, platform } = baseImage;
- const tag = new image_tag_1.default({ repository: '', name: 'unity-builder', version, platform });
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const exec_1 = __nccwpck_require__(71514);
+const image_tag_1 = __importDefault(__nccwpck_require__(57648));
+const image_environment_factory_1 = __importDefault(__nccwpck_require__(25145));
+const fs_1 = __nccwpck_require__(57147);
+const path_1 = __importDefault(__nccwpck_require__(71017));
+class Docker {
+ static build(buildParameters, silent = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const { path: buildPath, dockerfile, baseImage } = buildParameters;
+ const { version, platform } = baseImage;
+ const tag = new image_tag_1.default({ repository: '', name: 'unity-builder', version, platform });
const command = `docker build ${buildPath} \
--file ${dockerfile} \
--build-arg IMAGE=${baseImage} \
- --tag ${tag}`;
- yield exec_1.exec(command, undefined, { silent });
- return tag;
- });
- }
- static run(image, parameters, silent = false) {
- return __awaiter(this, void 0, void 0, function* () {
- const { workspace, unitySerial, runnerTempPath, sshAgent } = parameters;
- const baseOsSpecificArguments = this.getBaseOsSpecificArguments(process.platform, workspace, unitySerial, runnerTempPath, sshAgent);
+ --tag ${tag}`;
+ yield exec_1.exec(command, undefined, { silent });
+ return tag;
+ });
+ }
+ static run(image, parameters, silent = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const { workspace, unitySerial, runnerTempPath, sshAgent } = parameters;
+ const baseOsSpecificArguments = this.getBaseOsSpecificArguments(process.platform, workspace, unitySerial, runnerTempPath, sshAgent);
const runCommand = `docker run \
--workdir /github/workspace \
--rm \
${image_environment_factory_1.default.getEnvVarString(parameters)} \
${baseOsSpecificArguments} \
- ${image}`;
- yield exec_1.exec(runCommand, undefined, { silent });
- });
- }
- static getBaseOsSpecificArguments(baseOs, workspace, unitySerial, runnerTemporaryPath, sshAgent) {
- switch (baseOs) {
- case 'linux': {
- const githubHome = path_1.default.join(runnerTemporaryPath, '_github_home');
- if (!fs_1.existsSync(githubHome))
- fs_1.mkdirSync(githubHome);
- const githubWorkflow = path_1.default.join(runnerTemporaryPath, '_github_workflow');
- if (!fs_1.existsSync(githubWorkflow))
- fs_1.mkdirSync(githubWorkflow);
+ ${image}`;
+ yield exec_1.exec(runCommand, undefined, { silent });
+ });
+ }
+ static getBaseOsSpecificArguments(baseOs, workspace, unitySerial, runnerTemporaryPath, sshAgent) {
+ switch (baseOs) {
+ case 'linux': {
+ const githubHome = path_1.default.join(runnerTemporaryPath, '_github_home');
+ if (!fs_1.existsSync(githubHome))
+ fs_1.mkdirSync(githubHome);
+ const githubWorkflow = path_1.default.join(runnerTemporaryPath, '_github_workflow');
+ if (!fs_1.existsSync(githubWorkflow))
+ fs_1.mkdirSync(githubWorkflow);
return `--env UNITY_SERIAL \
--env GITHUB_WORKSPACE=/github/workspace \
${sshAgent ? '--env SSH_AUTH_SOCK=/ssh-agent' : ''} \
@@ -3331,22 +3331,22 @@ class Docker {
--volume "${githubWorkflow}":"/github/workflow:z" \
--volume "${workspace}":"/github/workspace:z" \
${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \
- ${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''}`;
- }
- case 'win32':
+ ${sshAgent ? '--volume /home/runner/.ssh/known_hosts:/root/.ssh/known_hosts:ro' : ''}`;
+ }
+ case 'win32':
return `--env UNITY_SERIAL="${unitySerial}" \
--env GITHUB_WORKSPACE=c:/github/workspace \
--volume "${workspace}":"c:/github/workspace" \
--volume "c:/regkeys":"c:/regkeys" \
--volume "C:/Program Files (x86)/Microsoft Visual Studio":"C:/Program Files (x86)/Microsoft Visual Studio" \
--volume "C:/Program Files (x86)/Windows Kits":"C:/Program Files (x86)/Windows Kits" \
- --volume "C:/ProgramData/Microsoft/VisualStudio":"C:/ProgramData/Microsoft/VisualStudio"`;
- //Note: When upgrading to Server 2022, we will need to move to just "program files" since VS will be 64-bit
- }
- return '';
- }
-}
-exports["default"] = Docker;
+ --volume "C:/ProgramData/Microsoft/VisualStudio":"C:/ProgramData/Microsoft/VisualStudio"`;
+ //Note: When upgrading to Server 2022, we will need to move to just "program files" since VS will be 64-bit
+ }
+ return '';
+ }
+}
+exports["default"] = Docker;
/***/ }),
@@ -3355,15 +3355,15 @@ exports["default"] = Docker;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-class NotImplementedException extends Error {
- constructor(message = '') {
- super(message);
- this.name = 'NotImplementedException';
- }
-}
-exports["default"] = NotImplementedException;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+class NotImplementedException extends Error {
+ constructor(message = '') {
+ super(message);
+ this.name = 'NotImplementedException';
+ }
+}
+exports["default"] = NotImplementedException;
/***/ }),
@@ -3372,15 +3372,15 @@ exports["default"] = NotImplementedException;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-class ValidationError extends Error {
- constructor(message = '') {
- super(message);
- this.name = 'ValidationError';
- }
-}
-exports["default"] = ValidationError;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+class ValidationError extends Error {
+ constructor(message = '') {
+ super(message);
+ this.name = 'ValidationError';
+ }
+}
+exports["default"] = ValidationError;
/***/ }),
@@ -3389,74 +3389,74 @@ exports["default"] = ValidationError;
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const test_license_reader_1 = __nccwpck_require__(13963);
-class Parameter {
-}
-class ImageEnvironmentFactory {
- static getEnvVarString(parameters) {
- const environmentVariables = ImageEnvironmentFactory.getEnvironmentVariables(parameters);
- let string = '';
- for (const p of environmentVariables) {
- if (p.value === '' || p.value === undefined) {
- continue;
- }
- if (p.name !== 'ANDROID_KEYSTORE_BASE64' && p.value.toString().includes(`\n`)) {
- string += `--env ${p.name} `;
- continue;
- }
- string += `--env ${p.name}="${p.value}" `;
- }
- return string;
- }
- static getEnvironmentVariables(parameters) {
- const environmentVariables = [
- { name: 'UNITY_LICENSE', value: process.env.UNITY_LICENSE || test_license_reader_1.ReadLicense() },
- { name: 'UNITY_LICENSE_FILE', value: process.env.UNITY_LICENSE_FILE },
- { name: 'UNITY_EMAIL', value: process.env.UNITY_EMAIL },
- { name: 'UNITY_PASSWORD', value: process.env.UNITY_PASSWORD },
- { name: 'UNITY_SERIAL', value: parameters.unitySerial },
- { name: 'UNITY_VERSION', value: parameters.version },
- { name: 'USYM_UPLOAD_AUTH_TOKEN', value: process.env.USYM_UPLOAD_AUTH_TOKEN },
- { name: 'PROJECT_PATH', value: parameters.projectPath },
- { name: 'BUILD_TARGET', value: parameters.platform },
- { name: 'BUILD_NAME', value: parameters.buildName },
- { name: 'BUILD_PATH', value: parameters.buildPath },
- { name: 'BUILD_FILE', value: parameters.buildFile },
- { name: 'BUILD_METHOD', value: parameters.buildMethod },
- { name: 'VERSION', value: parameters.buildVersion },
- { name: 'ANDROID_VERSION_CODE', value: parameters.androidVersionCode },
- { name: 'ANDROID_KEYSTORE_NAME', value: parameters.androidKeystoreName },
- { name: 'ANDROID_KEYSTORE_BASE64', value: parameters.androidKeystoreBase64 },
- { name: 'ANDROID_KEYSTORE_PASS', value: parameters.androidKeystorePass },
- { name: 'ANDROID_KEYALIAS_NAME', value: parameters.androidKeyaliasName },
- { name: 'ANDROID_KEYALIAS_PASS', value: parameters.androidKeyaliasPass },
- { name: 'ANDROID_SDK_MANAGER_PARAMETERS', value: parameters.androidSdkManagerParameters },
- { name: 'CUSTOM_PARAMETERS', value: parameters.customParameters },
- { name: 'CHOWN_FILES_TO', value: parameters.chownFilesTo },
- { name: 'GITHUB_REF', value: process.env.GITHUB_REF },
- { name: 'GITHUB_SHA', value: process.env.GITHUB_SHA },
- { name: 'GITHUB_REPOSITORY', value: process.env.GITHUB_REPOSITORY },
- { name: 'GITHUB_ACTOR', value: process.env.GITHUB_ACTOR },
- { name: 'GITHUB_WORKFLOW', value: process.env.GITHUB_WORKFLOW },
- { name: 'GITHUB_HEAD_REF', value: process.env.GITHUB_HEAD_REF },
- { name: 'GITHUB_BASE_REF', value: process.env.GITHUB_BASE_REF },
- { name: 'GITHUB_EVENT_NAME', value: process.env.GITHUB_EVENT_NAME },
- { name: 'GITHUB_WORKSPACE', value: '/github/workspace' },
- { name: 'GITHUB_ACTION', value: process.env.GITHUB_ACTION },
- { name: 'GITHUB_EVENT_PATH', value: process.env.GITHUB_EVENT_PATH },
- { name: 'RUNNER_OS', value: process.env.RUNNER_OS },
- { name: 'RUNNER_TOOL_CACHE', value: process.env.RUNNER_TOOL_CACHE },
- { name: 'RUNNER_TEMP', value: process.env.RUNNER_TEMP },
- { name: 'RUNNER_WORKSPACE', value: process.env.RUNNER_WORKSPACE },
- ];
- if (parameters.sshAgent)
- environmentVariables.push({ name: 'SSH_AUTH_SOCK', value: '/ssh-agent' });
- return environmentVariables;
- }
-}
-exports["default"] = ImageEnvironmentFactory;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const test_license_reader_1 = __nccwpck_require__(13963);
+class Parameter {
+}
+class ImageEnvironmentFactory {
+ static getEnvVarString(parameters) {
+ const environmentVariables = ImageEnvironmentFactory.getEnvironmentVariables(parameters);
+ let string = '';
+ for (const p of environmentVariables) {
+ if (p.value === '' || p.value === undefined) {
+ continue;
+ }
+ if (p.name !== 'ANDROID_KEYSTORE_BASE64' && p.value.toString().includes(`\n`)) {
+ string += `--env ${p.name} `;
+ continue;
+ }
+ string += `--env ${p.name}="${p.value}" `;
+ }
+ return string;
+ }
+ static getEnvironmentVariables(parameters) {
+ const environmentVariables = [
+ { name: 'UNITY_LICENSE', value: process.env.UNITY_LICENSE || test_license_reader_1.ReadLicense() },
+ { name: 'UNITY_LICENSE_FILE', value: process.env.UNITY_LICENSE_FILE },
+ { name: 'UNITY_EMAIL', value: process.env.UNITY_EMAIL },
+ { name: 'UNITY_PASSWORD', value: process.env.UNITY_PASSWORD },
+ { name: 'UNITY_SERIAL', value: parameters.unitySerial },
+ { name: 'UNITY_VERSION', value: parameters.version },
+ { name: 'USYM_UPLOAD_AUTH_TOKEN', value: process.env.USYM_UPLOAD_AUTH_TOKEN },
+ { name: 'PROJECT_PATH', value: parameters.projectPath },
+ { name: 'BUILD_TARGET', value: parameters.platform },
+ { name: 'BUILD_NAME', value: parameters.buildName },
+ { name: 'BUILD_PATH', value: parameters.buildPath },
+ { name: 'BUILD_FILE', value: parameters.buildFile },
+ { name: 'BUILD_METHOD', value: parameters.buildMethod },
+ { name: 'VERSION', value: parameters.buildVersion },
+ { name: 'ANDROID_VERSION_CODE', value: parameters.androidVersionCode },
+ { name: 'ANDROID_KEYSTORE_NAME', value: parameters.androidKeystoreName },
+ { name: 'ANDROID_KEYSTORE_BASE64', value: parameters.androidKeystoreBase64 },
+ { name: 'ANDROID_KEYSTORE_PASS', value: parameters.androidKeystorePass },
+ { name: 'ANDROID_KEYALIAS_NAME', value: parameters.androidKeyaliasName },
+ { name: 'ANDROID_KEYALIAS_PASS', value: parameters.androidKeyaliasPass },
+ { name: 'ANDROID_SDK_MANAGER_PARAMETERS', value: parameters.androidSdkManagerParameters },
+ { name: 'CUSTOM_PARAMETERS', value: parameters.customParameters },
+ { name: 'CHOWN_FILES_TO', value: parameters.chownFilesTo },
+ { name: 'GITHUB_REF', value: process.env.GITHUB_REF },
+ { name: 'GITHUB_SHA', value: process.env.GITHUB_SHA },
+ { name: 'GITHUB_REPOSITORY', value: process.env.GITHUB_REPOSITORY },
+ { name: 'GITHUB_ACTOR', value: process.env.GITHUB_ACTOR },
+ { name: 'GITHUB_WORKFLOW', value: process.env.GITHUB_WORKFLOW },
+ { name: 'GITHUB_HEAD_REF', value: process.env.GITHUB_HEAD_REF },
+ { name: 'GITHUB_BASE_REF', value: process.env.GITHUB_BASE_REF },
+ { name: 'GITHUB_EVENT_NAME', value: process.env.GITHUB_EVENT_NAME },
+ { name: 'GITHUB_WORKSPACE', value: '/github/workspace' },
+ { name: 'GITHUB_ACTION', value: process.env.GITHUB_ACTION },
+ { name: 'GITHUB_EVENT_PATH', value: process.env.GITHUB_EVENT_PATH },
+ { name: 'RUNNER_OS', value: process.env.RUNNER_OS },
+ { name: 'RUNNER_TOOL_CACHE', value: process.env.RUNNER_TOOL_CACHE },
+ { name: 'RUNNER_TEMP', value: process.env.RUNNER_TEMP },
+ { name: 'RUNNER_WORKSPACE', value: process.env.RUNNER_WORKSPACE },
+ ];
+ if (parameters.sshAgent)
+ environmentVariables.push({ name: 'SSH_AUTH_SOCK', value: '/ssh-agent' });
+ return environmentVariables;
+ }
+}
+exports["default"] = ImageEnvironmentFactory;
/***/ }),
@@ -3465,138 +3465,138 @@ exports["default"] = ImageEnvironmentFactory;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const platform_1 = __importDefault(__nccwpck_require__(9707));
-class ImageTag {
- constructor(imageProperties) {
- const { repository = 'unityci', name = 'editor', version = '2019.2.11f1', platform, customImage } = imageProperties;
- if (!ImageTag.versionPattern.test(version)) {
- throw new Error(`Invalid version "${version}".`);
- }
- const builderPlatform = ImageTag.getTargetPlatformToImageSuffixMap(platform, version);
- this.repository = repository;
- this.name = name;
- this.version = version;
- this.platform = platform;
- this.builderPlatform = builderPlatform;
- this.customImage = customImage;
- }
- static get versionPattern() {
- return /^20\d{2}\.\d\.\w{3,4}|3$/;
- }
- static get imageSuffixes() {
- return {
- generic: '',
- webgl: 'webgl',
- mac: 'mac-mono',
- windows: 'windows-mono',
- windowsIl2cpp: 'windows-il2cpp',
- wsaPlayer: 'universal-windows-platform',
- linux: 'base',
- linuxIl2cpp: 'linux-il2cpp',
- android: 'android',
- ios: 'ios',
- tvos: 'appletv',
- facebook: 'facebook',
- };
- }
- static getTargetPlatformToImageSuffixMap(platform, version) {
- const { generic, webgl, mac, windows, windowsIl2cpp, wsaPlayer, linux, linuxIl2cpp, android, ios, tvos, facebook } = ImageTag.imageSuffixes;
- const [major, minor] = version.split('.').map((digit) => Number(digit));
- // @see: https://docs.unity3d.com/ScriptReference/BuildTarget.html
- switch (platform) {
- case platform_1.default.types.StandaloneOSX:
- return mac;
- case platform_1.default.types.StandaloneWindows:
- case platform_1.default.types.StandaloneWindows64:
- // Can only build windows-il2cpp on a windows based system
- if (process.platform === 'win32') {
- // Unity versions before 2019.3 do not support il2cpp
- if (major >= 2020 || (major === 2019 && minor >= 3)) {
- return windowsIl2cpp;
- }
- else {
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const platform_1 = __importDefault(__nccwpck_require__(9707));
+class ImageTag {
+ constructor(imageProperties) {
+ const { repository = 'unityci', name = 'editor', version = '2019.2.11f1', platform, customImage } = imageProperties;
+ if (!ImageTag.versionPattern.test(version)) {
+ throw new Error(`Invalid version "${version}".`);
+ }
+ const builderPlatform = ImageTag.getTargetPlatformToImageSuffixMap(platform, version);
+ this.repository = repository;
+ this.name = name;
+ this.version = version;
+ this.platform = platform;
+ this.builderPlatform = builderPlatform;
+ this.customImage = customImage;
+ }
+ static get versionPattern() {
+ return /^20\d{2}\.\d\.\w{3,4}|3$/;
+ }
+ static get imageSuffixes() {
+ return {
+ generic: '',
+ webgl: 'webgl',
+ mac: 'mac-mono',
+ windows: 'windows-mono',
+ windowsIl2cpp: 'windows-il2cpp',
+ wsaPlayer: 'universal-windows-platform',
+ linux: 'base',
+ linuxIl2cpp: 'linux-il2cpp',
+ android: 'android',
+ ios: 'ios',
+ tvos: 'appletv',
+ facebook: 'facebook',
+ };
+ }
+ static getTargetPlatformToImageSuffixMap(platform, version) {
+ const { generic, webgl, mac, windows, windowsIl2cpp, wsaPlayer, linux, linuxIl2cpp, android, ios, tvos, facebook } = ImageTag.imageSuffixes;
+ const [major, minor] = version.split('.').map((digit) => Number(digit));
+ // @see: https://docs.unity3d.com/ScriptReference/BuildTarget.html
+ switch (platform) {
+ case platform_1.default.types.StandaloneOSX:
+ return mac;
+ case platform_1.default.types.StandaloneWindows:
+ case platform_1.default.types.StandaloneWindows64:
+ // Can only build windows-il2cpp on a windows based system
+ if (process.platform === 'win32') {
+ // Unity versions before 2019.3 do not support il2cpp
+ if (major >= 2020 || (major === 2019 && minor >= 3)) {
+ return windowsIl2cpp;
+ }
+ else {
throw new Error(`Windows-based builds are only supported on 2019.3.X+ versions of Unity.
- If you are trying to build for windows-mono, please use a Linux based OS.`);
- }
- }
- return windows;
- case platform_1.default.types.StandaloneLinux64: {
- // Unity versions before 2019.3 do not support il2cpp
- if (major >= 2020 || (major === 2019 && minor >= 3)) {
- return linuxIl2cpp;
- }
- return linux;
- }
- case platform_1.default.types.iOS:
- return ios;
- case platform_1.default.types.Android:
- return android;
- case platform_1.default.types.WebGL:
- return webgl;
- case platform_1.default.types.WSAPlayer:
- if (process.platform !== 'win32') {
- throw new Error(`WSAPlayer can only be built on a windows base OS`);
- }
- return wsaPlayer;
- case platform_1.default.types.PS4:
- return windows;
- case platform_1.default.types.XboxOne:
- return windows;
- case platform_1.default.types.tvOS:
- if (process.platform !== 'win32') {
- throw new Error(`tvOS can only be built on a windows base OS`);
- }
- return tvos;
- case platform_1.default.types.Switch:
- return windows;
- // Unsupported
- case platform_1.default.types.Lumin:
- return windows;
- case platform_1.default.types.BJM:
- return windows;
- case platform_1.default.types.Stadia:
- return windows;
- case platform_1.default.types.Facebook:
- return facebook;
- case platform_1.default.types.NoTarget:
- return generic;
- // Test specific
- case platform_1.default.types.Test:
- return generic;
- default:
+ If you are trying to build for windows-mono, please use a Linux based OS.`);
+ }
+ }
+ return windows;
+ case platform_1.default.types.StandaloneLinux64: {
+ // Unity versions before 2019.3 do not support il2cpp
+ if (major >= 2020 || (major === 2019 && minor >= 3)) {
+ return linuxIl2cpp;
+ }
+ return linux;
+ }
+ case platform_1.default.types.iOS:
+ return ios;
+ case platform_1.default.types.Android:
+ return android;
+ case platform_1.default.types.WebGL:
+ return webgl;
+ case platform_1.default.types.WSAPlayer:
+ if (process.platform !== 'win32') {
+ throw new Error(`WSAPlayer can only be built on a windows base OS`);
+ }
+ return wsaPlayer;
+ case platform_1.default.types.PS4:
+ return windows;
+ case platform_1.default.types.XboxOne:
+ return windows;
+ case platform_1.default.types.tvOS:
+ if (process.platform !== 'win32') {
+ throw new Error(`tvOS can only be built on a windows base OS`);
+ }
+ return tvos;
+ case platform_1.default.types.Switch:
+ return windows;
+ // Unsupported
+ case platform_1.default.types.Lumin:
+ return windows;
+ case platform_1.default.types.BJM:
+ return windows;
+ case platform_1.default.types.Stadia:
+ return windows;
+ case platform_1.default.types.Facebook:
+ return facebook;
+ case platform_1.default.types.NoTarget:
+ return generic;
+ // Test specific
+ case platform_1.default.types.Test:
+ return generic;
+ default:
throw new Error(`
Platform must be one of the ones described in the documentation.
- "${platform}" is currently not supported.`);
- }
- }
- get tag() {
- //We check the host os so we know what type of the images we need to pull
- switch (process.platform) {
- case 'win32':
- return `windows-${this.version}-${this.builderPlatform}`.replace(/-+$/, '');
- case 'linux':
- return `${this.version}-${this.builderPlatform}`.replace(/-+$/, '');
- default:
- break;
- }
- }
- get image() {
- return `${this.repository}/${this.name}`.replace(/^\/+/, '');
- }
- toString() {
- const { image, tag, customImage } = this;
- if (customImage && customImage !== '') {
- return customImage;
- }
- return `${image}:${tag}-0`; // '0' here represents the docker repo version
- }
-}
-exports["default"] = ImageTag;
+ "${platform}" is currently not supported.`);
+ }
+ }
+ get tag() {
+ //We check the host os so we know what type of the images we need to pull
+ switch (process.platform) {
+ case 'win32':
+ return `windows-${this.version}-${this.builderPlatform}`.replace(/-+$/, '');
+ case 'linux':
+ return `${this.version}-${this.builderPlatform}`.replace(/-+$/, '');
+ default:
+ break;
+ }
+ }
+ get image() {
+ return `${this.repository}/${this.name}`.replace(/^\/+/, '');
+ }
+ toString() {
+ const { image, tag, customImage } = this;
+ if (customImage && customImage !== '') {
+ return customImage;
+ }
+ return `${image}:${tag}-0`; // '0' here represents the docker repo version
+ }
+}
+exports["default"] = ImageTag;
/***/ }),
@@ -3605,36 +3605,36 @@ exports["default"] = ImageTag;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.CloudRunner = exports.Versioning = exports.Unity = exports.Project = exports.Platform = exports.Output = exports.ImageTag = exports.Input = exports.Docker = exports.Cache = exports.BuildParameters = exports.Action = void 0;
-const action_1 = __importDefault(__nccwpck_require__(89088));
-exports.Action = action_1.default;
-const build_parameters_1 = __importDefault(__nccwpck_require__(80787));
-exports.BuildParameters = build_parameters_1.default;
-const cache_1 = __importDefault(__nccwpck_require__(97134));
-exports.Cache = cache_1.default;
-const docker_1 = __importDefault(__nccwpck_require__(16934));
-exports.Docker = docker_1.default;
-const input_1 = __importDefault(__nccwpck_require__(91933));
-exports.Input = input_1.default;
-const image_tag_1 = __importDefault(__nccwpck_require__(57648));
-exports.ImageTag = image_tag_1.default;
-const output_1 = __importDefault(__nccwpck_require__(85487));
-exports.Output = output_1.default;
-const platform_1 = __importDefault(__nccwpck_require__(9707));
-exports.Platform = platform_1.default;
-const project_1 = __importDefault(__nccwpck_require__(88666));
-exports.Project = project_1.default;
-const unity_1 = __importDefault(__nccwpck_require__(70498));
-exports.Unity = unity_1.default;
-const versioning_1 = __importDefault(__nccwpck_require__(88729));
-exports.Versioning = versioning_1.default;
-const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
-exports.CloudRunner = cloud_runner_1.default;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.CloudRunner = exports.Versioning = exports.Unity = exports.Project = exports.Platform = exports.Output = exports.ImageTag = exports.Input = exports.Docker = exports.Cache = exports.BuildParameters = exports.Action = void 0;
+const action_1 = __importDefault(__nccwpck_require__(89088));
+exports.Action = action_1.default;
+const build_parameters_1 = __importDefault(__nccwpck_require__(80787));
+exports.BuildParameters = build_parameters_1.default;
+const cache_1 = __importDefault(__nccwpck_require__(97134));
+exports.Cache = cache_1.default;
+const docker_1 = __importDefault(__nccwpck_require__(16934));
+exports.Docker = docker_1.default;
+const input_1 = __importDefault(__nccwpck_require__(91933));
+exports.Input = input_1.default;
+const image_tag_1 = __importDefault(__nccwpck_require__(57648));
+exports.ImageTag = image_tag_1.default;
+const output_1 = __importDefault(__nccwpck_require__(85487));
+exports.Output = output_1.default;
+const platform_1 = __importDefault(__nccwpck_require__(9707));
+exports.Platform = platform_1.default;
+const project_1 = __importDefault(__nccwpck_require__(88666));
+exports.Project = project_1.default;
+const unity_1 = __importDefault(__nccwpck_require__(70498));
+exports.Unity = unity_1.default;
+const versioning_1 = __importDefault(__nccwpck_require__(88729));
+exports.Versioning = versioning_1.default;
+const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
+exports.CloudRunner = cloud_runner_1.default;
/***/ }),
@@ -3643,29 +3643,29 @@ exports.CloudRunner = cloud_runner_1.default;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.ActionYamlReader = void 0;
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const yaml_1 = __importDefault(__nccwpck_require__(44603));
-class ActionYamlReader {
- constructor() {
- let filename = `action.yml`;
- if (!fs_1.default.existsSync(filename)) {
- filename = path_1.default.join(__dirname, `..`, filename);
- }
- this.actionYamlParsed = yaml_1.default.parse(fs_1.default.readFileSync(filename).toString());
- }
- GetActionYamlValue(key) {
- var _a;
- return ((_a = this.actionYamlParsed.inputs[key]) === null || _a === void 0 ? void 0 : _a.description) || 'No description found in action.yml';
- }
-}
-exports.ActionYamlReader = ActionYamlReader;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ActionYamlReader = void 0;
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const yaml_1 = __importDefault(__nccwpck_require__(44603));
+class ActionYamlReader {
+ constructor() {
+ let filename = `action.yml`;
+ if (!fs_1.default.existsSync(filename)) {
+ filename = path_1.default.join(__dirname, `..`, filename);
+ }
+ this.actionYamlParsed = yaml_1.default.parse(fs_1.default.readFileSync(filename).toString());
+ }
+ GetActionYamlValue(key) {
+ var _a;
+ return ((_a = this.actionYamlParsed.inputs[key]) === null || _a === void 0 ? void 0 : _a.description) || 'No description found in action.yml';
+ }
+}
+exports.ActionYamlReader = ActionYamlReader;
/***/ }),
@@ -3674,45 +3674,45 @@ exports.ActionYamlReader = ActionYamlReader;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.GitRepoReader = void 0;
-const console_1 = __nccwpck_require__(96206);
-const system_1 = __importDefault(__nccwpck_require__(62177));
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const cloud_runner_system_1 = __nccwpck_require__(66879);
-class GitRepoReader {
- static GetSha() {
- return '';
- }
- static GetRemote() {
- return __awaiter(this, void 0, void 0, function* () {
- return (yield cloud_runner_system_1.CloudRunnerSystem.Run(`git remote -v`))
- .split(' ')[1]
- .split('https://github.com/')[1]
- .split('.git')[0];
- });
- }
- static GetBranch() {
- return __awaiter(this, void 0, void 0, function* () {
- console_1.assert(fs_1.default.existsSync(`.git`));
- return (yield system_1.default.run(`git branch`, [], {}, false)).split('*')[1].split(`\n`)[0].replace(/ /g, ``);
- });
- }
-}
-exports.GitRepoReader = GitRepoReader;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GitRepoReader = void 0;
+const console_1 = __nccwpck_require__(96206);
+const system_1 = __importDefault(__nccwpck_require__(62177));
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const cloud_runner_system_1 = __nccwpck_require__(66879);
+class GitRepoReader {
+ static GetSha() {
+ return '';
+ }
+ static GetRemote() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return (yield cloud_runner_system_1.CloudRunnerSystem.Run(`git remote -v`))
+ .split(' ')[1]
+ .split('https://github.com/')[1]
+ .split('.git')[0];
+ });
+ }
+ static GetBranch() {
+ return __awaiter(this, void 0, void 0, function* () {
+ console_1.assert(fs_1.default.existsSync(`.git`));
+ return (yield system_1.default.run(`git branch`, [], {}, false)).split('*')[1].split(`\n`)[0].replace(/ /g, ``);
+ });
+ }
+}
+exports.GitRepoReader = GitRepoReader;
/***/ }),
@@ -3721,60 +3721,60 @@ exports.GitRepoReader = GitRepoReader;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.GithubCliReader = void 0;
-const cloud_runner_system_1 = __nccwpck_require__(66879);
-const core = __importStar(__nccwpck_require__(42186));
-class GithubCliReader {
- static GetGitHubAuthToken() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- const authStatus = yield cloud_runner_system_1.CloudRunnerSystem.Run(`gh auth status`, true);
- if (authStatus.includes('You are not logged') || authStatus === '') {
- return '';
- }
- return (yield cloud_runner_system_1.CloudRunnerSystem.Run(`gh auth status -t`))
- .split(`Token: `)[1]
- .replace(/ /g, '')
- .replace(/\n/g, '');
- }
- catch (error) {
- core.info(error || 'Failed to get github auth token from gh cli');
- return '';
- }
- });
- }
-}
-exports.GithubCliReader = GithubCliReader;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GithubCliReader = void 0;
+const cloud_runner_system_1 = __nccwpck_require__(66879);
+const core = __importStar(__nccwpck_require__(42186));
+class GithubCliReader {
+ static GetGitHubAuthToken() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ const authStatus = yield cloud_runner_system_1.CloudRunnerSystem.Run(`gh auth status`, true);
+ if (authStatus.includes('You are not logged') || authStatus === '') {
+ return '';
+ }
+ return (yield cloud_runner_system_1.CloudRunnerSystem.Run(`gh auth status -t`))
+ .split(`Token: `)[1]
+ .replace(/ /g, '')
+ .replace(/\n/g, '');
+ }
+ catch (error) {
+ core.info(error || 'Failed to get github auth token from gh cli');
+ return '';
+ }
+ });
+ }
+}
+exports.GithubCliReader = GithubCliReader;
/***/ }),
@@ -3783,20 +3783,20 @@ exports.GithubCliReader = GithubCliReader;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.ReadLicense = void 0;
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const yaml_1 = __importDefault(__nccwpck_require__(44603));
-function ReadLicense() {
- const pipelineFile = path_1.default.join(__dirname, `.github`, `workflows`, `cloud-runner-k8s-pipeline.yml`);
- return fs_1.default.existsSync(pipelineFile) ? yaml_1.default.parse(fs_1.default.readFileSync(pipelineFile, 'utf8')).env.UNITY_LICENSE : '';
-}
-exports.ReadLicense = ReadLicense;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ReadLicense = void 0;
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const yaml_1 = __importDefault(__nccwpck_require__(44603));
+function ReadLicense() {
+ const pipelineFile = path_1.default.join(__dirname, `.github`, `workflows`, `cloud-runner-k8s-pipeline.yml`);
+ return fs_1.default.existsSync(pipelineFile) ? yaml_1.default.parse(fs_1.default.readFileSync(pipelineFile, 'utf8')).env.UNITY_LICENSE : '';
+}
+exports.ReadLicense = ReadLicense;
/***/ }),
@@ -3805,212 +3805,212 @@ exports.ReadLicense = ReadLicense;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-const path_1 = __importDefault(__nccwpck_require__(71017));
-const git_repo_1 = __nccwpck_require__(24271);
-const github_cli_1 = __nccwpck_require__(44990);
-const platform_1 = __importDefault(__nccwpck_require__(9707));
-const core = __nccwpck_require__(42186);
-/**
- * Input variables specified in workflows using "with" prop.
- *
- * Note that input is always passed as a string, even booleans.
- */
-class Input {
- // also enabled debug logging for cloud runner
- static get cloudRunnerTests() {
- return Input.getInput(`cloudRunnerTests`) || Input.getInput(`CloudRunnerTests`) || false;
- }
- static getInput(query) {
- const coreInput = core.getInput(query);
- if (Input.githubInputEnabled && coreInput && coreInput !== '') {
- return coreInput;
- }
- return Input.cliOptions !== undefined && Input.cliOptions[query] !== undefined
- ? Input.cliOptions[query]
- : process.env[query] !== undefined
- ? process.env[query]
- : process.env[Input.ToEnvVarFormat(query)]
- ? process.env[Input.ToEnvVarFormat(query)]
- : '';
- }
- static get region() {
- return Input.getInput('region') || 'eu-west-2';
- }
- static githubRepo() {
- return __awaiter(this, void 0, void 0, function* () {
- return (Input.getInput('GITHUB_REPOSITORY') ||
- Input.getInput('GITHUB_REPO') ||
- (yield git_repo_1.GitRepoReader.GetRemote()) ||
- 'game-ci/unity-builder');
- });
- }
- static branch() {
- return __awaiter(this, void 0, void 0, function* () {
- if (yield git_repo_1.GitRepoReader.GetBranch()) {
- return yield git_repo_1.GitRepoReader.GetBranch();
- }
- else if (Input.getInput(`GITHUB_REF`)) {
- return Input.getInput(`GITHUB_REF`).replace('refs/', '').replace(`head/`, '');
- }
- else if (Input.getInput('branch')) {
- return Input.getInput('branch');
- }
- else {
- return 'main';
- }
- });
- }
- static get gitSha() {
- if (Input.getInput(`GITHUB_SHA`)) {
- return Input.getInput(`GITHUB_SHA`);
- }
- else if (Input.getInput(`GitSHA`)) {
- return Input.getInput(`GitSHA`);
- }
- else if (git_repo_1.GitRepoReader.GetSha()) {
- return git_repo_1.GitRepoReader.GetSha();
- }
- }
- static get runNumber() {
- return Input.getInput('GITHUB_RUN_NUMBER') || '0';
- }
- static get targetPlatform() {
- return Input.getInput('targetPlatform') || platform_1.default.default;
- }
- static get unityVersion() {
- return Input.getInput('unityVersion') || 'auto';
- }
- static get customImage() {
- return Input.getInput('customImage');
- }
- static get projectPath() {
- const input = Input.getInput('projectPath');
- const rawProjectPath = input
- ? input
- : fs_1.default.existsSync(path_1.default.join('test-project', 'ProjectSettings', 'ProjectVersion.txt')) &&
- !fs_1.default.existsSync(path_1.default.join('ProjectSettings', 'ProjectVersion.txt'))
- ? 'test-project'
- : '.';
- return rawProjectPath.replace(/\/$/, '');
- }
- static get buildName() {
- return Input.getInput('buildName') || this.targetPlatform;
- }
- static get buildsPath() {
- return Input.getInput('buildsPath') || 'build';
- }
- static get buildMethod() {
- return Input.getInput('buildMethod') || ''; // processed in docker file
- }
- static get customParameters() {
- return Input.getInput('customParameters') || '';
- }
- static get versioningStrategy() {
- return Input.getInput('versioning') || 'Semantic';
- }
- static get specifiedVersion() {
- return Input.getInput('version') || '';
- }
- static get androidVersionCode() {
- return Input.getInput('androidVersionCode');
- }
- static get androidAppBundle() {
- const input = Input.getInput('androidAppBundle') || false;
- return input === 'true';
- }
- static get androidKeystoreName() {
- return Input.getInput('androidKeystoreName') || '';
- }
- static get androidKeystoreBase64() {
- return Input.getInput('androidKeystoreBase64') || '';
- }
- static get androidKeystorePass() {
- return Input.getInput('androidKeystorePass') || '';
- }
- static get androidKeyaliasName() {
- return Input.getInput('androidKeyaliasName') || '';
- }
- static get androidKeyaliasPass() {
- return Input.getInput('androidKeyaliasPass') || '';
- }
- static get androidTargetSdkVersion() {
- return core.getInput('androidTargetSdkVersion') || '';
- }
- static get sshAgent() {
- return Input.getInput('sshAgent') || '';
- }
- static gitPrivateToken() {
- return __awaiter(this, void 0, void 0, function* () {
- return core.getInput('gitPrivateToken') || (yield Input.githubToken());
- });
- }
- static get chownFilesTo() {
- return Input.getInput('chownFilesTo') || '';
- }
- static get allowDirtyBuild() {
- const input = Input.getInput('allowDirtyBuild') || false;
- return input === 'true';
- }
- static get postBuildSteps() {
- return Input.getInput('postBuildSteps') || '';
- }
- static get preBuildSteps() {
- return Input.getInput('preBuildSteps') || '';
- }
- static get customJob() {
- return Input.getInput('customJob') || '';
- }
- static get awsBaseStackName() {
- return Input.getInput('awsBaseStackName') || 'game-ci';
- }
- static get cloudRunnerCluster() {
- return Input.getInput('cloudRunnerCluster') || 'local';
- }
- static get cloudRunnerCpu() {
- return Input.getInput('cloudRunnerCpu') || '1.0';
- }
- static get cloudRunnerMemory() {
- return Input.getInput('cloudRunnerMemory') || '750M';
- }
- static githubToken() {
- return __awaiter(this, void 0, void 0, function* () {
- return Input.getInput('githubToken') || (yield github_cli_1.GithubCliReader.GetGitHubAuthToken()) || '';
- });
- }
- static get kubeConfig() {
- return Input.getInput('kubeConfig') || '';
- }
- static get kubeVolume() {
- return Input.getInput('kubeVolume') || '';
- }
- static get kubeVolumeSize() {
- return Input.getInput('kubeVolumeSize') || '5Gi';
- }
- static ToEnvVarFormat(input) {
- return input
- .replace(/([A-Z])/g, ' $1')
- .trim()
- .toUpperCase()
- .replace(/ /g, '_');
- }
-}
-Input.githubInputEnabled = true;
-exports["default"] = Input;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+const path_1 = __importDefault(__nccwpck_require__(71017));
+const git_repo_1 = __nccwpck_require__(24271);
+const github_cli_1 = __nccwpck_require__(44990);
+const platform_1 = __importDefault(__nccwpck_require__(9707));
+const core = __nccwpck_require__(42186);
+/**
+ * Input variables specified in workflows using "with" prop.
+ *
+ * Note that input is always passed as a string, even booleans.
+ */
+class Input {
+ // also enabled debug logging for cloud runner
+ static get cloudRunnerTests() {
+ return Input.getInput(`cloudRunnerTests`) || Input.getInput(`CloudRunnerTests`) || false;
+ }
+ static getInput(query) {
+ const coreInput = core.getInput(query);
+ if (Input.githubInputEnabled && coreInput && coreInput !== '') {
+ return coreInput;
+ }
+ return Input.cliOptions !== undefined && Input.cliOptions[query] !== undefined
+ ? Input.cliOptions[query]
+ : process.env[query] !== undefined
+ ? process.env[query]
+ : process.env[Input.ToEnvVarFormat(query)]
+ ? process.env[Input.ToEnvVarFormat(query)]
+ : '';
+ }
+ static get region() {
+ return Input.getInput('region') || 'eu-west-2';
+ }
+ static githubRepo() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return (Input.getInput('GITHUB_REPOSITORY') ||
+ Input.getInput('GITHUB_REPO') ||
+ (yield git_repo_1.GitRepoReader.GetRemote()) ||
+ 'game-ci/unity-builder');
+ });
+ }
+ static branch() {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (yield git_repo_1.GitRepoReader.GetBranch()) {
+ return yield git_repo_1.GitRepoReader.GetBranch();
+ }
+ else if (Input.getInput(`GITHUB_REF`)) {
+ return Input.getInput(`GITHUB_REF`).replace('refs/', '').replace(`head/`, '');
+ }
+ else if (Input.getInput('branch')) {
+ return Input.getInput('branch');
+ }
+ else {
+ return 'main';
+ }
+ });
+ }
+ static get gitSha() {
+ if (Input.getInput(`GITHUB_SHA`)) {
+ return Input.getInput(`GITHUB_SHA`);
+ }
+ else if (Input.getInput(`GitSHA`)) {
+ return Input.getInput(`GitSHA`);
+ }
+ else if (git_repo_1.GitRepoReader.GetSha()) {
+ return git_repo_1.GitRepoReader.GetSha();
+ }
+ }
+ static get runNumber() {
+ return Input.getInput('GITHUB_RUN_NUMBER') || '0';
+ }
+ static get targetPlatform() {
+ return Input.getInput('targetPlatform') || platform_1.default.default;
+ }
+ static get unityVersion() {
+ return Input.getInput('unityVersion') || 'auto';
+ }
+ static get customImage() {
+ return Input.getInput('customImage');
+ }
+ static get projectPath() {
+ const input = Input.getInput('projectPath');
+ const rawProjectPath = input
+ ? input
+ : fs_1.default.existsSync(path_1.default.join('test-project', 'ProjectSettings', 'ProjectVersion.txt')) &&
+ !fs_1.default.existsSync(path_1.default.join('ProjectSettings', 'ProjectVersion.txt'))
+ ? 'test-project'
+ : '.';
+ return rawProjectPath.replace(/\/$/, '');
+ }
+ static get buildName() {
+ return Input.getInput('buildName') || this.targetPlatform;
+ }
+ static get buildsPath() {
+ return Input.getInput('buildsPath') || 'build';
+ }
+ static get buildMethod() {
+ return Input.getInput('buildMethod') || ''; // processed in docker file
+ }
+ static get customParameters() {
+ return Input.getInput('customParameters') || '';
+ }
+ static get versioningStrategy() {
+ return Input.getInput('versioning') || 'Semantic';
+ }
+ static get specifiedVersion() {
+ return Input.getInput('version') || '';
+ }
+ static get androidVersionCode() {
+ return Input.getInput('androidVersionCode');
+ }
+ static get androidAppBundle() {
+ const input = Input.getInput('androidAppBundle') || false;
+ return input === 'true';
+ }
+ static get androidKeystoreName() {
+ return Input.getInput('androidKeystoreName') || '';
+ }
+ static get androidKeystoreBase64() {
+ return Input.getInput('androidKeystoreBase64') || '';
+ }
+ static get androidKeystorePass() {
+ return Input.getInput('androidKeystorePass') || '';
+ }
+ static get androidKeyaliasName() {
+ return Input.getInput('androidKeyaliasName') || '';
+ }
+ static get androidKeyaliasPass() {
+ return Input.getInput('androidKeyaliasPass') || '';
+ }
+ static get androidTargetSdkVersion() {
+ return core.getInput('androidTargetSdkVersion') || '';
+ }
+ static get sshAgent() {
+ return Input.getInput('sshAgent') || '';
+ }
+ static gitPrivateToken() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return core.getInput('gitPrivateToken') || (yield Input.githubToken());
+ });
+ }
+ static get chownFilesTo() {
+ return Input.getInput('chownFilesTo') || '';
+ }
+ static get allowDirtyBuild() {
+ const input = Input.getInput('allowDirtyBuild') || false;
+ return input === 'true';
+ }
+ static get postBuildSteps() {
+ return Input.getInput('postBuildSteps') || '';
+ }
+ static get preBuildSteps() {
+ return Input.getInput('preBuildSteps') || '';
+ }
+ static get customJob() {
+ return Input.getInput('customJob') || '';
+ }
+ static get awsBaseStackName() {
+ return Input.getInput('awsBaseStackName') || 'game-ci';
+ }
+ static get cloudRunnerCluster() {
+ return Input.getInput('cloudRunnerCluster') || 'local';
+ }
+ static get cloudRunnerCpu() {
+ return Input.getInput('cloudRunnerCpu') || '1.0';
+ }
+ static get cloudRunnerMemory() {
+ return Input.getInput('cloudRunnerMemory') || '750M';
+ }
+ static githubToken() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return Input.getInput('githubToken') || (yield github_cli_1.GithubCliReader.GetGitHubAuthToken()) || '';
+ });
+ }
+ static get kubeConfig() {
+ return Input.getInput('kubeConfig') || '';
+ }
+ static get kubeVolume() {
+ return Input.getInput('kubeVolume') || '';
+ }
+ static get kubeVolumeSize() {
+ return Input.getInput('kubeVolumeSize') || '5Gi';
+ }
+ static ToEnvVarFormat(input) {
+ return input
+ .replace(/([A-Z])/g, ' $1')
+ .trim()
+ .toUpperCase()
+ .replace(/ /g, '_');
+ }
+}
+Input.githubInputEnabled = true;
+exports["default"] = Input;
/***/ }),
@@ -4019,29 +4019,29 @@ exports["default"] = Input;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const exec_1 = __nccwpck_require__(71514);
-class MacBuilder {
- static run(actionFolder, workspace, buildParameters, silent = false) {
- return __awaiter(this, void 0, void 0, function* () {
- yield exec_1.exec('bash', [`${actionFolder}/platforms/mac/entrypoint.sh`], {
- silent,
- ignoreReturnCode: true,
- });
- });
- }
-}
-exports["default"] = MacBuilder;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const exec_1 = __nccwpck_require__(71514);
+class MacBuilder {
+ static run(actionFolder, workspace, buildParameters, silent = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ yield exec_1.exec('bash', [`${actionFolder}/platforms/mac/entrypoint.sh`], {
+ silent,
+ ignoreReturnCode: true,
+ });
+ });
+ }
+}
+exports["default"] = MacBuilder;
/***/ }),
@@ -4050,26 +4050,26 @@ exports["default"] = MacBuilder;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __nccwpck_require__(42186);
-class Output {
- static setBuildVersion(buildVersion) {
- return __awaiter(this, void 0, void 0, function* () {
- yield core.setOutput('buildVersion', buildVersion);
- });
- }
-}
-exports["default"] = Output;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __nccwpck_require__(42186);
+class Output {
+ static setBuildVersion(buildVersion) {
+ return __awaiter(this, void 0, void 0, function* () {
+ yield core.setOutput('buildVersion', buildVersion);
+ });
+ }
+}
+exports["default"] = Output;
/***/ }),
@@ -4078,39 +4078,39 @@ exports["default"] = Output;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const platform_setup_1 = __nccwpck_require__(2014);
-const validate_windows_1 = __importDefault(__nccwpck_require__(41563));
-class PlatformSetup {
- static setup(buildParameters, actionFolder) {
- return __awaiter(this, void 0, void 0, function* () {
- switch (process.platform) {
- case 'win32':
- validate_windows_1.default.validate(buildParameters);
- platform_setup_1.SetupWindows.setup(buildParameters);
- break;
- case 'darwin':
- yield platform_setup_1.SetupMac.setup(buildParameters, actionFolder);
- break;
- //Add other baseOS's here
- }
- });
- }
-}
-exports["default"] = PlatformSetup;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const platform_setup_1 = __nccwpck_require__(2014);
+const validate_windows_1 = __importDefault(__nccwpck_require__(41563));
+class PlatformSetup {
+ static setup(buildParameters, actionFolder) {
+ return __awaiter(this, void 0, void 0, function* () {
+ switch (process.platform) {
+ case 'win32':
+ validate_windows_1.default.validate(buildParameters);
+ platform_setup_1.SetupWindows.setup(buildParameters);
+ break;
+ case 'darwin':
+ yield platform_setup_1.SetupMac.setup(buildParameters, actionFolder);
+ break;
+ //Add other baseOS's here
+ }
+ });
+ }
+}
+exports["default"] = PlatformSetup;
/***/ }),
@@ -4119,16 +4119,16 @@ exports["default"] = PlatformSetup;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.SetupMac = exports.SetupWindows = void 0;
-const setup_windows_1 = __importDefault(__nccwpck_require__(37449));
-exports.SetupWindows = setup_windows_1.default;
-const setup_mac_1 = __importDefault(__nccwpck_require__(22466));
-exports.SetupMac = setup_mac_1.default;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.SetupMac = exports.SetupWindows = void 0;
+const setup_windows_1 = __importDefault(__nccwpck_require__(37449));
+exports.SetupWindows = setup_windows_1.default;
+const setup_mac_1 = __importDefault(__nccwpck_require__(22466));
+exports.SetupMac = setup_mac_1.default;
/***/ }),
@@ -4137,93 +4137,93 @@ exports.SetupMac = setup_mac_1.default;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const unity_changeset_1 = __nccwpck_require__(4635);
-const exec_1 = __nccwpck_require__(71514);
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-class SetupMac {
- static setup(buildParameters, actionFolder) {
- return __awaiter(this, void 0, void 0, function* () {
- const unityEditorPath = `/Applications/Unity/Hub/Editor/${buildParameters.version}/Unity.app/Contents/MacOS/Unity`;
- // Only install unity if the editor doesn't already exist
- if (!fs_1.default.existsSync(unityEditorPath)) {
- yield SetupMac.installUnityHub();
- yield SetupMac.installUnity(buildParameters);
- }
- yield SetupMac.setEnvironmentVariables(buildParameters, actionFolder);
- });
- }
- static installUnityHub(silent = false) {
- return __awaiter(this, void 0, void 0, function* () {
- const command = 'brew install unity-hub';
- if (!fs_1.default.existsSync(this.unityHubPath)) {
- // Ignoring return code because the log seems to overflow the internal buffer which triggers
- // a false error
- const errorCode = yield exec_1.exec(command, undefined, { silent, ignoreReturnCode: true });
- if (errorCode) {
- throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
- }
- }
- });
- }
- static installUnity(buildParameters, silent = false) {
- return __awaiter(this, void 0, void 0, function* () {
- const unityChangeset = yield unity_changeset_1.getUnityChangeset(buildParameters.version);
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const unity_changeset_1 = __nccwpck_require__(4635);
+const exec_1 = __nccwpck_require__(71514);
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+class SetupMac {
+ static setup(buildParameters, actionFolder) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const unityEditorPath = `/Applications/Unity/Hub/Editor/${buildParameters.version}/Unity.app/Contents/MacOS/Unity`;
+ // Only install unity if the editor doesn't already exist
+ if (!fs_1.default.existsSync(unityEditorPath)) {
+ yield SetupMac.installUnityHub();
+ yield SetupMac.installUnity(buildParameters);
+ }
+ yield SetupMac.setEnvironmentVariables(buildParameters, actionFolder);
+ });
+ }
+ static installUnityHub(silent = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const command = 'brew install unity-hub';
+ if (!fs_1.default.existsSync(this.unityHubPath)) {
+ // Ignoring return code because the log seems to overflow the internal buffer which triggers
+ // a false error
+ const errorCode = yield exec_1.exec(command, undefined, { silent, ignoreReturnCode: true });
+ if (errorCode) {
+ throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
+ }
+ }
+ });
+ }
+ static installUnity(buildParameters, silent = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const unityChangeset = yield unity_changeset_1.getUnityChangeset(buildParameters.version);
const command = `${this.unityHubPath} -- --headless install \
--version ${buildParameters.version} \
--changeset ${unityChangeset.changeset} \
--module mac-il2cpp \
- --childModules`;
- // Ignoring return code because the log seems to overflow the internal buffer which triggers
- // a false error
- const errorCode = yield exec_1.exec(command, undefined, { silent, ignoreReturnCode: true });
- if (errorCode) {
- throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
- }
- });
- }
- static setEnvironmentVariables(buildParameters, actionFolder) {
- return __awaiter(this, void 0, void 0, function* () {
- // Need to set environment variables from here because we execute
- // the scripts on the host for mac
- process.env.ACTION_FOLDER = actionFolder;
- process.env.UNITY_VERSION = buildParameters.version;
- process.env.UNITY_SERIAL = buildParameters.unitySerial;
- process.env.PROJECT_PATH = buildParameters.projectPath;
- process.env.BUILD_TARGET = buildParameters.platform;
- process.env.BUILD_NAME = buildParameters.buildName;
- process.env.BUILD_PATH = buildParameters.buildPath;
- process.env.BUILD_FILE = buildParameters.buildFile;
- process.env.BUILD_METHOD = buildParameters.buildMethod;
- process.env.VERSION = buildParameters.buildVersion;
- process.env.ANDROID_VERSION_CODE = buildParameters.androidVersionCode;
- process.env.ANDROID_KEYSTORE_NAME = buildParameters.androidKeystoreName;
- process.env.ANDROID_KEYSTORE_BASE64 = buildParameters.androidKeystoreBase64;
- process.env.ANDROID_KEYSTORE_PASS = buildParameters.androidKeystorePass;
- process.env.ANDROID_KEYALIAS_NAME = buildParameters.androidKeyaliasName;
- process.env.ANDROID_KEYALIAS_PASS = buildParameters.androidKeyaliasPass;
- process.env.ANDROID_TARGET_SDK_VERSION = buildParameters.androidTargetSdkVersion;
- process.env.ANDROID_SDK_MANAGER_PARAMETERS = buildParameters.androidSdkManagerParameters;
- process.env.CUSTOM_PARAMETERS = buildParameters.customParameters;
- process.env.CHOWN_FILES_TO = buildParameters.chownFilesTo;
- });
- }
-}
-SetupMac.unityHubPath = `"/Applications/Unity Hub.app/Contents/MacOS/Unity Hub"`;
-exports["default"] = SetupMac;
+ --childModules`;
+ // Ignoring return code because the log seems to overflow the internal buffer which triggers
+ // a false error
+ const errorCode = yield exec_1.exec(command, undefined, { silent, ignoreReturnCode: true });
+ if (errorCode) {
+ throw new Error(`There was an error installing the Unity Editor. See logs above for details.`);
+ }
+ });
+ }
+ static setEnvironmentVariables(buildParameters, actionFolder) {
+ return __awaiter(this, void 0, void 0, function* () {
+ // Need to set environment variables from here because we execute
+ // the scripts on the host for mac
+ process.env.ACTION_FOLDER = actionFolder;
+ process.env.UNITY_VERSION = buildParameters.version;
+ process.env.UNITY_SERIAL = buildParameters.unitySerial;
+ process.env.PROJECT_PATH = buildParameters.projectPath;
+ process.env.BUILD_TARGET = buildParameters.platform;
+ process.env.BUILD_NAME = buildParameters.buildName;
+ process.env.BUILD_PATH = buildParameters.buildPath;
+ process.env.BUILD_FILE = buildParameters.buildFile;
+ process.env.BUILD_METHOD = buildParameters.buildMethod;
+ process.env.VERSION = buildParameters.buildVersion;
+ process.env.ANDROID_VERSION_CODE = buildParameters.androidVersionCode;
+ process.env.ANDROID_KEYSTORE_NAME = buildParameters.androidKeystoreName;
+ process.env.ANDROID_KEYSTORE_BASE64 = buildParameters.androidKeystoreBase64;
+ process.env.ANDROID_KEYSTORE_PASS = buildParameters.androidKeystorePass;
+ process.env.ANDROID_KEYALIAS_NAME = buildParameters.androidKeyaliasName;
+ process.env.ANDROID_KEYALIAS_PASS = buildParameters.androidKeyaliasPass;
+ process.env.ANDROID_TARGET_SDK_VERSION = buildParameters.androidTargetSdkVersion;
+ process.env.ANDROID_SDK_MANAGER_PARAMETERS = buildParameters.androidSdkManagerParameters;
+ process.env.CUSTOM_PARAMETERS = buildParameters.customParameters;
+ process.env.CHOWN_FILES_TO = buildParameters.chownFilesTo;
+ });
+ }
+}
+SetupMac.unityHubPath = `"/Applications/Unity Hub.app/Contents/MacOS/Unity Hub"`;
+exports["default"] = SetupMac;
/***/ }),
@@ -4232,53 +4232,53 @@ exports["default"] = SetupMac;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const exec_1 = __nccwpck_require__(71514);
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-class SetupWindows {
- static setup(buildParameters) {
- return __awaiter(this, void 0, void 0, function* () {
- yield SetupWindows.setupWindowsRun(buildParameters.platform);
- });
- }
- //Setup prerequisite files/folders for a windows-based docker run
- static setupWindowsRun(platform, silent = false) {
- return __awaiter(this, void 0, void 0, function* () {
- if (!fs_1.default.existsSync('c:/regkeys')) {
- fs_1.default.mkdirSync('c:/regkeys');
- }
- switch (platform) {
- //These all need the Windows 10 SDK
- case 'StandaloneWindows':
- case 'StandaloneWindows64':
- case 'WSAPlayer':
- this.generateWinSDKRegKeys(silent);
- break;
- }
- });
- }
- static generateWinSDKRegKeys(silent = false) {
- return __awaiter(this, void 0, void 0, function* () {
- // Export registry keys that point to the location of the windows 10 sdk
- const exportWinSDKRegKeysCommand = 'reg export "HKLM\\SOFTWARE\\WOW6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v10.0" c:/regkeys/winsdk.reg /y';
- yield exec_1.exec(exportWinSDKRegKeysCommand, undefined, { silent });
- });
- }
-}
-exports["default"] = SetupWindows;
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const exec_1 = __nccwpck_require__(71514);
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+class SetupWindows {
+ static setup(buildParameters) {
+ return __awaiter(this, void 0, void 0, function* () {
+ yield SetupWindows.setupWindowsRun(buildParameters.platform);
+ });
+ }
+ //Setup prerequisite files/folders for a windows-based docker run
+ static setupWindowsRun(platform, silent = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!fs_1.default.existsSync('c:/regkeys')) {
+ fs_1.default.mkdirSync('c:/regkeys');
+ }
+ switch (platform) {
+ //These all need the Windows 10 SDK
+ case 'StandaloneWindows':
+ case 'StandaloneWindows64':
+ case 'WSAPlayer':
+ this.generateWinSDKRegKeys(silent);
+ break;
+ }
+ });
+ }
+ static generateWinSDKRegKeys(silent = false) {
+ return __awaiter(this, void 0, void 0, function* () {
+ // Export registry keys that point to the location of the windows 10 sdk
+ const exportWinSDKRegKeysCommand = 'reg export "HKLM\\SOFTWARE\\WOW6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v10.0" c:/regkeys/winsdk.reg /y';
+ yield exec_1.exec(exportWinSDKRegKeysCommand, undefined, { silent });
+ });
+ }
+}
+exports["default"] = SetupWindows;
/***/ }),
@@ -4287,61 +4287,61 @@ exports["default"] = SetupWindows;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const fs_1 = __importDefault(__nccwpck_require__(57147));
-class ValidateWindows {
- static validate(buildParameters) {
- ValidateWindows.validateWindowsPlatformRequirements(buildParameters.platform);
- if (!(process.env.UNITY_EMAIL && process.env.UNITY_PASSWORD)) {
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const fs_1 = __importDefault(__nccwpck_require__(57147));
+class ValidateWindows {
+ static validate(buildParameters) {
+ ValidateWindows.validateWindowsPlatformRequirements(buildParameters.platform);
+ if (!(process.env.UNITY_EMAIL && process.env.UNITY_PASSWORD)) {
throw new Error(`Unity email and password must be set for Windows based builds to
authenticate the license. Make sure to set them inside UNITY_EMAIL
- and UNITY_PASSWORD in Github Secrets and pass them into the environment.`);
- }
- }
- static validateWindowsPlatformRequirements(platform) {
- switch (platform) {
- case 'StandaloneWindows':
- this.checkForVisualStudio();
- this.checkForWin10SDK();
- break;
- case 'StandaloneWindows64':
- this.checkForVisualStudio();
- this.checkForWin10SDK();
- break;
- case 'WSAPlayer':
- this.checkForVisualStudio();
- this.checkForWin10SDK();
- break;
- case 'tvOS':
- this.checkForVisualStudio();
- break;
- }
- }
- static checkForWin10SDK() {
- //Check for Windows 10 SDK on runner
- const windows10SDKPathExists = fs_1.default.existsSync('C:/Program Files (x86)/Windows Kits');
- if (!windows10SDKPathExists) {
+ and UNITY_PASSWORD in Github Secrets and pass them into the environment.`);
+ }
+ }
+ static validateWindowsPlatformRequirements(platform) {
+ switch (platform) {
+ case 'StandaloneWindows':
+ this.checkForVisualStudio();
+ this.checkForWin10SDK();
+ break;
+ case 'StandaloneWindows64':
+ this.checkForVisualStudio();
+ this.checkForWin10SDK();
+ break;
+ case 'WSAPlayer':
+ this.checkForVisualStudio();
+ this.checkForWin10SDK();
+ break;
+ case 'tvOS':
+ this.checkForVisualStudio();
+ break;
+ }
+ }
+ static checkForWin10SDK() {
+ //Check for Windows 10 SDK on runner
+ const windows10SDKPathExists = fs_1.default.existsSync('C:/Program Files (x86)/Windows Kits');
+ if (!windows10SDKPathExists) {
throw new Error(`Windows 10 SDK not found in default location. Make sure
the runner has a Windows 10 SDK installed in the default
- location.`);
- }
- }
- static checkForVisualStudio() {
- //Note: When upgrading to Server 2022, we will need to move to just "program files" since VS will be 64-bit
- const visualStudioInstallPathExists = fs_1.default.existsSync('C:/Program Files (x86)/Microsoft Visual Studio');
- const visualStudioDataPathExists = fs_1.default.existsSync('C:/ProgramData/Microsoft/VisualStudio');
- if (!visualStudioInstallPathExists || !visualStudioDataPathExists) {
+ location.`);
+ }
+ }
+ static checkForVisualStudio() {
+ //Note: When upgrading to Server 2022, we will need to move to just "program files" since VS will be 64-bit
+ const visualStudioInstallPathExists = fs_1.default.existsSync('C:/Program Files (x86)/Microsoft Visual Studio');
+ const visualStudioDataPathExists = fs_1.default.existsSync('C:/ProgramData/Microsoft/VisualStudio');
+ if (!visualStudioInstallPathExists || !visualStudioDataPathExists) {
throw new Error(`Visual Studio not found at the default location.
Make sure the runner has Visual Studio installed in the
- default location`);
- }
- }
-}
-exports["default"] = ValidateWindows;
+ default location`);
+ }
+ }
+}
+exports["default"] = ValidateWindows;
/***/ }),
@@ -4350,55 +4350,55 @@ exports["default"] = ValidateWindows;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-class Platform {
- static get default() {
- return Platform.types.StandaloneWindows64;
- }
- static get types() {
- return {
- StandaloneOSX: 'StandaloneOSX',
- StandaloneWindows: 'StandaloneWindows',
- StandaloneWindows64: 'StandaloneWindows64',
- StandaloneLinux64: 'StandaloneLinux64',
- iOS: 'iOS',
- Android: 'Android',
- WebGL: 'WebGL',
- WSAPlayer: 'WSAPlayer',
- PS4: 'PS4',
- XboxOne: 'XboxOne',
- tvOS: 'tvOS',
- Switch: 'Switch',
- // Unsupported
- Lumin: 'Lumin',
- BJM: 'BJM',
- Stadia: 'Stadia',
- Facebook: 'Facebook',
- NoTarget: 'NoTarget',
- // Test specific
- Test: 'Test',
- };
- }
- static isWindows(platform) {
- switch (platform) {
- case Platform.types.StandaloneWindows:
- case Platform.types.StandaloneWindows64:
- return true;
- default:
- return false;
- }
- }
- static isAndroid(platform) {
- switch (platform) {
- case Platform.types.Android:
- return true;
- default:
- return false;
- }
- }
-}
-exports["default"] = Platform;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+class Platform {
+ static get default() {
+ return Platform.types.StandaloneWindows64;
+ }
+ static get types() {
+ return {
+ StandaloneOSX: 'StandaloneOSX',
+ StandaloneWindows: 'StandaloneWindows',
+ StandaloneWindows64: 'StandaloneWindows64',
+ StandaloneLinux64: 'StandaloneLinux64',
+ iOS: 'iOS',
+ Android: 'Android',
+ WebGL: 'WebGL',
+ WSAPlayer: 'WSAPlayer',
+ PS4: 'PS4',
+ XboxOne: 'XboxOne',
+ tvOS: 'tvOS',
+ Switch: 'Switch',
+ // Unsupported
+ Lumin: 'Lumin',
+ BJM: 'BJM',
+ Stadia: 'Stadia',
+ Facebook: 'Facebook',
+ NoTarget: 'NoTarget',
+ // Test specific
+ Test: 'Test',
+ };
+ }
+ static isWindows(platform) {
+ switch (platform) {
+ case Platform.types.StandaloneWindows:
+ case Platform.types.StandaloneWindows64:
+ return true;
+ default:
+ return false;
+ }
+ }
+ static isAndroid(platform) {
+ switch (platform) {
+ case Platform.types.Android:
+ return true;
+ default:
+ return false;
+ }
+ }
+}
+exports["default"] = Platform;
/***/ }),
@@ -4407,28 +4407,28 @@ exports["default"] = Platform;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const input_1 = __importDefault(__nccwpck_require__(91933));
-const unity_1 = __importDefault(__nccwpck_require__(70498));
-const action_1 = __importDefault(__nccwpck_require__(89088));
-class Project {
- static get relativePath() {
- const { projectPath } = input_1.default;
- return `${projectPath}`;
- }
- static get absolutePath() {
- const { workspace } = action_1.default;
- return `${workspace}/${this.relativePath}`;
- }
- static get libraryFolder() {
- return `${this.relativePath}/${unity_1.default.libraryFolder}`;
- }
-}
-exports["default"] = Project;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const input_1 = __importDefault(__nccwpck_require__(91933));
+const unity_1 = __importDefault(__nccwpck_require__(70498));
+const action_1 = __importDefault(__nccwpck_require__(89088));
+class Project {
+ static get relativePath() {
+ const { projectPath } = input_1.default;
+ return `${projectPath}`;
+ }
+ static get absolutePath() {
+ const { workspace } = action_1.default;
+ return `${workspace}/${this.relativePath}`;
+ }
+ static get libraryFolder() {
+ return `${this.relativePath}/${unity_1.default.libraryFolder}`;
+ }
+}
+exports["default"] = Project;
/***/ }),
@@ -4437,92 +4437,95 @@ exports["default"] = Project;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __importStar(__nccwpck_require__(42186));
-const exec_1 = __nccwpck_require__(71514);
-class System {
- static run(command, arguments_ = [], options = {}, shouldLog = true) {
- return __awaiter(this, void 0, void 0, function* () {
- let result = '';
- let error = '';
- let debug = '';
- const listeners = {
- stdout: (dataBuffer) => {
- result += dataBuffer.toString();
- },
- stderr: (dataBuffer) => {
- error += dataBuffer.toString();
- },
- debug: (dataString) => {
- debug += dataString.toString();
- },
- };
- const showOutput = () => {
- if (debug !== '' && shouldLog) {
- core.debug(debug);
- }
- if (result !== '' && shouldLog) {
- core.info(result);
- }
- if (error !== '' && shouldLog) {
- core.warning(error);
- }
- };
- const throwContextualError = (message) => {
- let commandAsString = command;
- if (Array.isArray(arguments_)) {
- commandAsString += ` ${arguments_.join(' ')}`;
- }
- else if (typeof arguments_ === 'string') {
- commandAsString += ` ${arguments_}`;
- }
- throw new Error(`Failed to run "${commandAsString}".\n ${message}`);
- };
- try {
- const exitCode = yield exec_1.exec(command, arguments_, Object.assign({ silent: true, listeners }, options));
- showOutput();
- if (exitCode !== 0) {
- throwContextualError(`Command returned non-zero exit code.\nError: ${error}`);
- }
- }
- catch (inCommandError) {
- showOutput();
- throwContextualError(`In-command error caught: ${inCommandError}`);
- }
- return result;
- });
- }
-}
-exports["default"] = System;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(42186));
+const exec_1 = __nccwpck_require__(71514);
+class System {
+ static run(command, arguments_ = [], options = {}, shouldLog = true) {
+ return __awaiter(this, void 0, void 0, function* () {
+ let result = '';
+ let error = '';
+ let debug = '';
+ const listeners = {
+ stdout: (dataBuffer) => {
+ result += dataBuffer.toString();
+ },
+ stderr: (dataBuffer) => {
+ error += dataBuffer.toString();
+ },
+ debug: (dataString) => {
+ debug += dataString.toString();
+ },
+ };
+ const showOutput = () => {
+ if (debug !== '' && shouldLog) {
+ core.debug(debug);
+ }
+ if (result !== '' && shouldLog) {
+ core.info(result);
+ }
+ if (error !== '' && shouldLog) {
+ core.warning(error);
+ }
+ };
+ const throwContextualError = (message) => {
+ let commandAsString = command;
+ if (Array.isArray(arguments_)) {
+ commandAsString += ` ${arguments_.join(' ')}`;
+ }
+ else if (typeof arguments_ === 'string') {
+ commandAsString += ` ${arguments_}`;
+ }
+ throw new Error(`Failed to run "${commandAsString}".\n ${message}`);
+ };
+ try {
+ if (command.trim() === '') {
+ throw new Error(`Failed to execute empty command`);
+ }
+ const exitCode = yield exec_1.exec(command, arguments_, Object.assign({ silent: true, listeners }, options));
+ showOutput();
+ if (exitCode !== 0) {
+ throwContextualError(`Command returned non-zero exit code.\nError: ${error}`);
+ }
+ }
+ catch (inCommandError) {
+ showOutput();
+ throwContextualError(`In-command error caught: ${inCommandError}`);
+ }
+ return result;
+ });
+ }
+}
+exports["default"] = System;
/***/ }),
@@ -4531,58 +4534,58 @@ exports["default"] = System;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const fs = __importStar(__nccwpck_require__(57147));
-const path_1 = __importDefault(__nccwpck_require__(71017));
-class UnityVersioning {
- static get versionPattern() {
- return /20\d{2}\.\d\.\w{3,4}|3/;
- }
- static determineUnityVersion(projectPath, unityVersion) {
- if (unityVersion === 'auto') {
- return UnityVersioning.read(projectPath);
- }
- return unityVersion;
- }
- static read(projectPath) {
- const filePath = path_1.default.join(projectPath, 'ProjectSettings', 'ProjectVersion.txt');
- if (!fs.existsSync(filePath)) {
- throw new Error(`Project settings file not found at "${filePath}". Have you correctly set the projectPath?`);
- }
- return UnityVersioning.parse(fs.readFileSync(filePath, 'utf8'));
- }
- static parse(projectVersionTxt) {
- const matches = projectVersionTxt.match(UnityVersioning.versionPattern);
- if (!matches || matches.length === 0) {
- throw new Error(`Failed to parse version from "${projectVersionTxt}".`);
- }
- return matches[0];
- }
-}
-exports["default"] = UnityVersioning;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const fs = __importStar(__nccwpck_require__(57147));
+const path_1 = __importDefault(__nccwpck_require__(71017));
+class UnityVersioning {
+ static get versionPattern() {
+ return /20\d{2}\.\d\.\w{3,4}|3/;
+ }
+ static determineUnityVersion(projectPath, unityVersion) {
+ if (unityVersion === 'auto') {
+ return UnityVersioning.read(projectPath);
+ }
+ return unityVersion;
+ }
+ static read(projectPath) {
+ const filePath = path_1.default.join(projectPath, 'ProjectSettings', 'ProjectVersion.txt');
+ if (!fs.existsSync(filePath)) {
+ throw new Error(`Project settings file not found at "${filePath}". Have you correctly set the projectPath?`);
+ }
+ return UnityVersioning.parse(fs.readFileSync(filePath, 'utf8'));
+ }
+ static parse(projectVersionTxt) {
+ const matches = projectVersionTxt.match(UnityVersioning.versionPattern);
+ if (!matches || matches.length === 0) {
+ throw new Error(`Failed to parse version from "${projectVersionTxt}".`);
+ }
+ return matches[0];
+ }
+}
+exports["default"] = UnityVersioning;
/***/ }),
@@ -4591,14 +4594,14 @@ exports["default"] = UnityVersioning;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-class Unity {
- static get libraryFolder() {
- return 'Library';
- }
-}
-exports["default"] = Unity;
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+class Unity {
+ static get libraryFolder() {
+ return 'Library';
+ }
+}
+exports["default"] = Unity;
/***/ }),
@@ -4607,325 +4610,325 @@ exports["default"] = Unity;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __importStar(__nccwpck_require__(42186));
-const not_implemented_exception_1 = __importDefault(__nccwpck_require__(26574));
-const validation_error_1 = __importDefault(__nccwpck_require__(97266));
-const input_1 = __importDefault(__nccwpck_require__(91933));
-const system_1 = __importDefault(__nccwpck_require__(62177));
-class Versioning {
- static get projectPath() {
- return input_1.default.projectPath;
- }
- static get isDirtyAllowed() {
- return input_1.default.allowDirtyBuild;
- }
- static get strategies() {
- return { None: 'None', Semantic: 'Semantic', Tag: 'Tag', Custom: 'Custom' };
- }
- /**
- * Get the branch name of the (related) branch
- */
- static get branch() {
- // Todo - use optional chaining (https://github.com/zeit/ncc/issues/534)
- return this.headRef || (this.ref && this.ref.slice(11));
- }
- /**
- * For pull requests we can reliably use GITHUB_HEAD_REF
- */
- static get headRef() {
- return process.env.GITHUB_HEAD_REF;
- }
- /**
- * For branches GITHUB_REF will have format `refs/heads/feature-branch-1`
- */
- static get ref() {
- return process.env.GITHUB_REF;
- }
- /**
- * The commit SHA that triggered the workflow run.
- */
- static get sha() {
- return process.env.GITHUB_SHA;
- }
- /**
- * Maximum number of lines to print when logging the git diff
- */
- static get maxDiffLines() {
- return 60;
- }
- /**
- * Log up to maxDiffLines of the git diff.
- */
- static logDiff() {
- return __awaiter(this, void 0, void 0, function* () {
- const diffCommand = `git --no-pager diff | head -n ${this.maxDiffLines.toString()}`;
- yield system_1.default.run('sh', undefined, {
- input: Buffer.from(diffCommand),
- silent: true,
- });
- });
- }
- /**
- * Regex to parse version description into separate fields
- */
- static get descriptionRegex1() {
- return /^v?([\d.]+)-(\d+)-g(\w+)-?(\w+)*/g;
- }
- static get descriptionRegex2() {
- return /^v?([\d.]+-\w+)-(\d+)-g(\w+)-?(\w+)*/g;
- }
- static get descriptionRegex3() {
- return /^v?([\d.]+-\w+\.\d+)-(\d+)-g(\w+)-?(\w+)*/g;
- }
- static determineVersion(strategy, inputVersion) {
- return __awaiter(this, void 0, void 0, function* () {
- // Validate input
- if (!Object.hasOwnProperty.call(this.strategies, strategy)) {
- throw new validation_error_1.default(`Versioning strategy should be one of ${Object.values(this.strategies).join(', ')}.`);
- }
- let version;
- switch (strategy) {
- case this.strategies.None:
- version = 'none';
- break;
- case this.strategies.Custom:
- version = inputVersion;
- break;
- case this.strategies.Semantic:
- version = yield this.generateSemanticVersion();
- break;
- case this.strategies.Tag:
- version = yield this.generateTagVersion();
- break;
- default:
- throw new not_implemented_exception_1.default(`Strategy ${strategy} is not implemented.`);
- }
- return version;
- });
- }
- /**
- * Automatically generates a version based on SemVer out of the box.
- *
- * The version works as follows: `..` for example `0.1.2`.
- *
- * The latest tag dictates `.`
- * The number of commits since that tag dictates``.
- *
- * @See: https://semver.org/
- */
- static generateSemanticVersion() {
- return __awaiter(this, void 0, void 0, function* () {
- if (yield this.isShallow()) {
- yield this.fetch();
- }
- yield this.logDiff();
- if ((yield this.isDirty()) && !this.isDirtyAllowed) {
- throw new Error('Branch is dirty. Refusing to base semantic version on uncommitted changes');
- }
- if (!(yield this.hasAnyVersionTags())) {
- const version = `0.0.${yield this.getTotalNumberOfCommits()}`;
- core.info(`Generated version ${version} (no version tags found).`);
- return version;
- }
- const versionDescriptor = yield this.parseSemanticVersion();
- if (versionDescriptor) {
- const { tag, commits, hash } = versionDescriptor;
- // Ensure 3 digits (commits should always be patch level)
- const [major, minor, patch] = `${tag}.${commits}`.split('.');
- const threeDigitVersion = /^\d+$/.test(patch) ? `${major}.${minor}.${patch}` : `${major}.0.${minor}`;
- core.info(`Found semantic version ${threeDigitVersion} for ${this.branch}@${hash}`);
- return `${threeDigitVersion}`;
- }
- const version = `0.0.${yield this.getTotalNumberOfCommits()}`;
- core.info(`Generated version ${version} (semantic version couldn't be determined).`);
- return version;
- });
- }
- /**
- * Generate the proper version for unity based on an existing tag.
- */
- static generateTagVersion() {
- return __awaiter(this, void 0, void 0, function* () {
- let tag = yield this.getTag();
- if (tag.charAt(0) === 'v') {
- tag = tag.slice(1);
- }
- return tag;
- });
- }
- /**
- * Parses the versionDescription into their named parts.
- */
- static parseSemanticVersion() {
- return __awaiter(this, void 0, void 0, function* () {
- const description = yield this.getVersionDescription();
- try {
- const [match, tag, commits, hash] = this.descriptionRegex1.exec(description);
- return {
- match,
- tag,
- commits,
- hash,
- };
- }
- catch (_a) {
- try {
- const [match, tag, commits, hash] = this.descriptionRegex2.exec(description);
- return {
- match,
- tag,
- commits,
- hash,
- };
- }
- catch (_b) {
- try {
- const [match, tag, commits, hash] = this.descriptionRegex3.exec(description);
- return {
- match,
- tag,
- commits,
- hash,
- };
- }
- catch (_c) {
- core.warning(`Failed to parse git describe output or version can not be determined through: "${description}".`);
- return false;
- }
- }
- }
- });
- }
- /**
- * Returns whether the repository is shallow.
- */
- static isShallow() {
- return __awaiter(this, void 0, void 0, function* () {
- const output = yield this.git(['rev-parse', '--is-shallow-repository']);
- return output !== 'false\n';
- });
- }
- /**
- * Retrieves refs from the configured remote.
- *
- * Fetch unshallow for incomplete repository, but fall back to normal fetch.
- *
- * Note: `--all` should not be used, and would break fetching for push event.
- */
- static fetch() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- yield this.git(['fetch', '--unshallow']);
- }
- catch (error) {
- core.warning(`Fetch --unshallow caught: ${error}`);
- yield this.git(['fetch']);
- }
- });
- }
- /**
- * Retrieves information about the branch.
- *
- * Format: `v0.12-24-gd2198ab`
- *
- * In this format v0.12 is the latest tag, 24 are the number of commits since, and gd2198ab
- * identifies the current commit.
- */
- static getVersionDescription() {
- return __awaiter(this, void 0, void 0, function* () {
- return this.git(['describe', '--long', '--tags', '--always', this.sha]);
- });
- }
- /**
- * Returns whether there are uncommitted changes that are not ignored.
- */
- static isDirty() {
- return __awaiter(this, void 0, void 0, function* () {
- const output = yield this.git(['status', '--porcelain']);
- const isDirty = output !== '';
- if (isDirty) {
- core.warning('Changes were made to the following files and folders:\n');
- core.warning(output);
- }
- return isDirty;
- });
- }
- /**
- * Get the tag if there is one pointing at HEAD
- */
- static getTag() {
- return __awaiter(this, void 0, void 0, function* () {
- return (yield this.git(['tag', '--points-at', 'HEAD'])).trim();
- });
- }
- /**
- * Whether or not the repository has any version tags yet.
- */
- static hasAnyVersionTags() {
- return __awaiter(this, void 0, void 0, function* () {
- const numberOfCommitsAsString = yield system_1.default.run('sh', undefined, {
- input: Buffer.from('git tag --list --merged HEAD | grep v[0-9]* | wc -l'),
- cwd: this.projectPath,
- silent: false,
- });
- const numberOfCommits = Number.parseInt(numberOfCommitsAsString, 10);
- return numberOfCommits !== 0;
- });
- }
- /**
- * Get the total number of commits on head.
- *
- * Note: HEAD should not be used, as it may be detached, resulting in an additional count.
- */
- static getTotalNumberOfCommits() {
- return __awaiter(this, void 0, void 0, function* () {
- const numberOfCommitsAsString = yield this.git(['rev-list', '--count', this.sha]);
- return Number.parseInt(numberOfCommitsAsString, 10);
- });
- }
- /**
- * Run git in the specified project path
- */
- static git(arguments_, options = {}) {
- return __awaiter(this, void 0, void 0, function* () {
- return system_1.default.run('git', arguments_, Object.assign({ cwd: this.projectPath }, options));
- });
- }
-}
-exports["default"] = Versioning;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(42186));
+const not_implemented_exception_1 = __importDefault(__nccwpck_require__(26574));
+const validation_error_1 = __importDefault(__nccwpck_require__(97266));
+const input_1 = __importDefault(__nccwpck_require__(91933));
+const system_1 = __importDefault(__nccwpck_require__(62177));
+class Versioning {
+ static get projectPath() {
+ return input_1.default.projectPath;
+ }
+ static get isDirtyAllowed() {
+ return input_1.default.allowDirtyBuild;
+ }
+ static get strategies() {
+ return { None: 'None', Semantic: 'Semantic', Tag: 'Tag', Custom: 'Custom' };
+ }
+ /**
+ * Get the branch name of the (related) branch
+ */
+ static get branch() {
+ // Todo - use optional chaining (https://github.com/zeit/ncc/issues/534)
+ return this.headRef || (this.ref && this.ref.slice(11));
+ }
+ /**
+ * For pull requests we can reliably use GITHUB_HEAD_REF
+ */
+ static get headRef() {
+ return process.env.GITHUB_HEAD_REF;
+ }
+ /**
+ * For branches GITHUB_REF will have format `refs/heads/feature-branch-1`
+ */
+ static get ref() {
+ return process.env.GITHUB_REF;
+ }
+ /**
+ * The commit SHA that triggered the workflow run.
+ */
+ static get sha() {
+ return process.env.GITHUB_SHA;
+ }
+ /**
+ * Maximum number of lines to print when logging the git diff
+ */
+ static get maxDiffLines() {
+ return 60;
+ }
+ /**
+ * Log up to maxDiffLines of the git diff.
+ */
+ static logDiff() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const diffCommand = `git --no-pager diff | head -n ${this.maxDiffLines.toString()}`;
+ yield system_1.default.run('sh', undefined, {
+ input: Buffer.from(diffCommand),
+ silent: true,
+ });
+ });
+ }
+ /**
+ * Regex to parse version description into separate fields
+ */
+ static get descriptionRegex1() {
+ return /^v?([\d.]+)-(\d+)-g(\w+)-?(\w+)*/g;
+ }
+ static get descriptionRegex2() {
+ return /^v?([\d.]+-\w+)-(\d+)-g(\w+)-?(\w+)*/g;
+ }
+ static get descriptionRegex3() {
+ return /^v?([\d.]+-\w+\.\d+)-(\d+)-g(\w+)-?(\w+)*/g;
+ }
+ static determineVersion(strategy, inputVersion) {
+ return __awaiter(this, void 0, void 0, function* () {
+ // Validate input
+ if (!Object.hasOwnProperty.call(this.strategies, strategy)) {
+ throw new validation_error_1.default(`Versioning strategy should be one of ${Object.values(this.strategies).join(', ')}.`);
+ }
+ let version;
+ switch (strategy) {
+ case this.strategies.None:
+ version = 'none';
+ break;
+ case this.strategies.Custom:
+ version = inputVersion;
+ break;
+ case this.strategies.Semantic:
+ version = yield this.generateSemanticVersion();
+ break;
+ case this.strategies.Tag:
+ version = yield this.generateTagVersion();
+ break;
+ default:
+ throw new not_implemented_exception_1.default(`Strategy ${strategy} is not implemented.`);
+ }
+ return version;
+ });
+ }
+ /**
+ * Automatically generates a version based on SemVer out of the box.
+ *
+ * The version works as follows: `..` for example `0.1.2`.
+ *
+ * The latest tag dictates `.`
+ * The number of commits since that tag dictates``.
+ *
+ * @See: https://semver.org/
+ */
+ static generateSemanticVersion() {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (yield this.isShallow()) {
+ yield this.fetch();
+ }
+ yield this.logDiff();
+ if ((yield this.isDirty()) && !this.isDirtyAllowed) {
+ throw new Error('Branch is dirty. Refusing to base semantic version on uncommitted changes');
+ }
+ if (!(yield this.hasAnyVersionTags())) {
+ const version = `0.0.${yield this.getTotalNumberOfCommits()}`;
+ core.info(`Generated version ${version} (no version tags found).`);
+ return version;
+ }
+ const versionDescriptor = yield this.parseSemanticVersion();
+ if (versionDescriptor) {
+ const { tag, commits, hash } = versionDescriptor;
+ // Ensure 3 digits (commits should always be patch level)
+ const [major, minor, patch] = `${tag}.${commits}`.split('.');
+ const threeDigitVersion = /^\d+$/.test(patch) ? `${major}.${minor}.${patch}` : `${major}.0.${minor}`;
+ core.info(`Found semantic version ${threeDigitVersion} for ${this.branch}@${hash}`);
+ return `${threeDigitVersion}`;
+ }
+ const version = `0.0.${yield this.getTotalNumberOfCommits()}`;
+ core.info(`Generated version ${version} (semantic version couldn't be determined).`);
+ return version;
+ });
+ }
+ /**
+ * Generate the proper version for unity based on an existing tag.
+ */
+ static generateTagVersion() {
+ return __awaiter(this, void 0, void 0, function* () {
+ let tag = yield this.getTag();
+ if (tag.charAt(0) === 'v') {
+ tag = tag.slice(1);
+ }
+ return tag;
+ });
+ }
+ /**
+ * Parses the versionDescription into their named parts.
+ */
+ static parseSemanticVersion() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const description = yield this.getVersionDescription();
+ try {
+ const [match, tag, commits, hash] = this.descriptionRegex1.exec(description);
+ return {
+ match,
+ tag,
+ commits,
+ hash,
+ };
+ }
+ catch (_a) {
+ try {
+ const [match, tag, commits, hash] = this.descriptionRegex2.exec(description);
+ return {
+ match,
+ tag,
+ commits,
+ hash,
+ };
+ }
+ catch (_b) {
+ try {
+ const [match, tag, commits, hash] = this.descriptionRegex3.exec(description);
+ return {
+ match,
+ tag,
+ commits,
+ hash,
+ };
+ }
+ catch (_c) {
+ core.warning(`Failed to parse git describe output or version can not be determined through: "${description}".`);
+ return false;
+ }
+ }
+ }
+ });
+ }
+ /**
+ * Returns whether the repository is shallow.
+ */
+ static isShallow() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const output = yield this.git(['rev-parse', '--is-shallow-repository']);
+ return output !== 'false\n';
+ });
+ }
+ /**
+ * Retrieves refs from the configured remote.
+ *
+ * Fetch unshallow for incomplete repository, but fall back to normal fetch.
+ *
+ * Note: `--all` should not be used, and would break fetching for push event.
+ */
+ static fetch() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ yield this.git(['fetch', '--unshallow']);
+ }
+ catch (error) {
+ core.warning(`Fetch --unshallow caught: ${error}`);
+ yield this.git(['fetch']);
+ }
+ });
+ }
+ /**
+ * Retrieves information about the branch.
+ *
+ * Format: `v0.12-24-gd2198ab`
+ *
+ * In this format v0.12 is the latest tag, 24 are the number of commits since, and gd2198ab
+ * identifies the current commit.
+ */
+ static getVersionDescription() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.git(['describe', '--long', '--tags', '--always', this.sha]);
+ });
+ }
+ /**
+ * Returns whether there are uncommitted changes that are not ignored.
+ */
+ static isDirty() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const output = yield this.git(['status', '--porcelain']);
+ const isDirty = output !== '';
+ if (isDirty) {
+ core.warning('Changes were made to the following files and folders:\n');
+ core.warning(output);
+ }
+ return isDirty;
+ });
+ }
+ /**
+ * Get the tag if there is one pointing at HEAD
+ */
+ static getTag() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return (yield this.git(['tag', '--points-at', 'HEAD'])).trim();
+ });
+ }
+ /**
+ * Whether or not the repository has any version tags yet.
+ */
+ static hasAnyVersionTags() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const numberOfCommitsAsString = yield system_1.default.run('sh', undefined, {
+ input: Buffer.from('git tag --list --merged HEAD | grep v[0-9]* | wc -l'),
+ cwd: this.projectPath,
+ silent: false,
+ });
+ const numberOfCommits = Number.parseInt(numberOfCommitsAsString, 10);
+ return numberOfCommits !== 0;
+ });
+ }
+ /**
+ * Get the total number of commits on head.
+ *
+ * Note: HEAD should not be used, as it may be detached, resulting in an additional count.
+ */
+ static getTotalNumberOfCommits() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const numberOfCommitsAsString = yield this.git(['rev-list', '--count', this.sha]);
+ return Number.parseInt(numberOfCommitsAsString, 10);
+ });
+ }
+ /**
+ * Run git in the specified project path
+ */
+ static git(arguments_, options = {}) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return system_1.default.run('git', arguments_, Object.assign({ cwd: this.projectPath }, options));
+ });
+ }
+}
+exports["default"] = Versioning;
/***/ }),