Combine build-step and setup-step to reduce overhead
parent
9f13e1d9cf
commit
bd854e0544
|
|
@ -2940,7 +2940,15 @@ class BuildStep {
|
||||||
cloud_runner_logger_1.default.logLine(` `);
|
cloud_runner_logger_1.default.logLine(` `);
|
||||||
cloud_runner_logger_1.default.logLine('Starting part 2/2 (build unity project)');
|
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`));
|
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) || ' '}
|
return yield cloud_runner_state_1.CloudRunnerState.CloudRunnerProviderPlatform.runTask(cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid, image, `apt-get update
|
||||||
|
apt-get install -y -q git-lfs jq tree zip unzip nodejs -q
|
||||||
|
${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||||
|
export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||||
|
mkdir -p ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
||||||
|
git clone -q -b ${cloud_runner_state_1.CloudRunnerState.branchName} ${cloud_runner_state_1.CloudRunnerState.unityBuilderRepoUrl} "${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}"
|
||||||
|
${__1.Input.cloudRunnerTests ? '' : '#'} tree ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
||||||
|
chmod +x ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)}
|
||||||
|
node ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli
|
||||||
export GITHUB_WORKSPACE="${cloud_runner_state_1.CloudRunnerState.repoPathFull}"
|
export GITHUB_WORKSPACE="${cloud_runner_state_1.CloudRunnerState.repoPathFull}"
|
||||||
cp -r "${path_1.default
|
cp -r "${path_1.default
|
||||||
.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'default-build-script')
|
.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', 'default-build-script')
|
||||||
|
|
@ -2954,8 +2962,6 @@ class BuildStep {
|
||||||
chmod -R +x "/entrypoint.sh"
|
chmod -R +x "/entrypoint.sh"
|
||||||
chmod -R +x "/steps"
|
chmod -R +x "/steps"
|
||||||
/entrypoint.sh
|
/entrypoint.sh
|
||||||
apt-get update
|
|
||||||
apt-get install -y -q zip tree
|
|
||||||
cd "${cloud_runner_state_1.CloudRunnerState.libraryFolderFull.replace(/\\/g, `/`)}/.."
|
cd "${cloud_runner_state_1.CloudRunnerState.libraryFolderFull.replace(/\\/g, `/`)}/.."
|
||||||
zip -r "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "Library"
|
zip -r "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "Library"
|
||||||
mv "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}/Library"
|
mv "lib-${cloud_runner_state_1.CloudRunnerState.buildParams.buildGuid}.zip" "${cloud_runner_state_1.CloudRunnerState.cacheFolderFull.replace(/\\/g, `/`)}/Library"
|
||||||
|
|
@ -2978,71 +2984,6 @@ class BuildStep {
|
||||||
exports.BuildStep = BuildStep;
|
exports.BuildStep = BuildStep;
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 58923:
|
|
||||||
/***/ (function(__unused_webpack_module, exports, __webpack_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(__webpack_require__(85622));
|
|
||||||
const __1 = __webpack_require__(41359);
|
|
||||||
const cloud_runner_build_command_process_1 = __webpack_require__(71899);
|
|
||||||
const cloud_runner_logger_1 = __importDefault(__webpack_require__(22855));
|
|
||||||
const cloud_runner_state_1 = __webpack_require__(70912);
|
|
||||||
class SetupStep {
|
|
||||||
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 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) || ' '}
|
|
||||||
export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
|
||||||
mkdir -p ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
|
||||||
git clone -q -b ${cloud_runner_state_1.CloudRunnerState.branchName} ${cloud_runner_state_1.CloudRunnerState.unityBuilderRepoUrl} "${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}"
|
|
||||||
${__1.Input.cloudRunnerTests ? '' : '#'} tree ${cloud_runner_state_1.CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
|
||||||
chmod +x ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)}
|
|
||||||
node ${path_1.default.join(cloud_runner_state_1.CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli
|
|
||||||
${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
|
||||||
`, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}`, `/${cloud_runner_state_1.CloudRunnerState.buildVolumeFolder}/`, environmentVariables, secrets);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
cloud_runner_logger_1.default.logLine(`Failed download repository step 1/2`);
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.SetupStep = SetupStep;
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 94655:
|
/***/ 94655:
|
||||||
|
|
@ -3088,7 +3029,6 @@ const task_parameter_serializer_1 = __webpack_require__(35346);
|
||||||
const cloud_runner_state_1 = __webpack_require__(70912);
|
const cloud_runner_state_1 = __webpack_require__(70912);
|
||||||
const cloud_runner_step_state_1 = __webpack_require__(64854);
|
const cloud_runner_step_state_1 = __webpack_require__(64854);
|
||||||
const build_step_1 = __webpack_require__(91491);
|
const build_step_1 = __webpack_require__(91491);
|
||||||
const setup_step_1 = __webpack_require__(58923);
|
|
||||||
const custom_workflow_1 = __webpack_require__(3786);
|
const custom_workflow_1 = __webpack_require__(3786);
|
||||||
const core = __importStar(__webpack_require__(42186));
|
const core = __importStar(__webpack_require__(42186));
|
||||||
class BuildAutomationWorkflow {
|
class BuildAutomationWorkflow {
|
||||||
|
|
@ -3113,10 +3053,6 @@ class BuildAutomationWorkflow {
|
||||||
}
|
}
|
||||||
core.endGroup();
|
core.endGroup();
|
||||||
cloud_runner_logger_1.default.logWithTime('Configurable pre build step(s) time');
|
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');
|
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));
|
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();
|
core.endGroup();
|
||||||
|
|
@ -3226,7 +3162,6 @@ const cloud_runner_step_state_1 = __webpack_require__(64854);
|
||||||
const custom_workflow_1 = __webpack_require__(3786);
|
const custom_workflow_1 = __webpack_require__(3786);
|
||||||
const build_automation_workflow_1 = __webpack_require__(94655);
|
const build_automation_workflow_1 = __webpack_require__(94655);
|
||||||
const task_parameter_serializer_1 = __webpack_require__(35346);
|
const task_parameter_serializer_1 = __webpack_require__(35346);
|
||||||
const setup_step_1 = __webpack_require__(58923);
|
|
||||||
class WorkflowCompositionRoot {
|
class WorkflowCompositionRoot {
|
||||||
run(cloudRunnerStepState) {
|
run(cloudRunnerStepState) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
|
@ -3241,10 +3176,7 @@ class WorkflowCompositionRoot {
|
||||||
static runJob(baseImage) {
|
static runJob(baseImage) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
if (cloud_runner_state_1.CloudRunnerState.buildParams.customJob === `setup`) {
|
if (cloud_runner_state_1.CloudRunnerState.buildParams.customJob !== '') {
|
||||||
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 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));
|
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));
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -28,7 +28,17 @@ export class BuildStep implements StepInterface {
|
||||||
return await CloudRunnerState.CloudRunnerProviderPlatform.runTask(
|
return await CloudRunnerState.CloudRunnerProviderPlatform.runTask(
|
||||||
CloudRunnerState.buildParams.buildGuid,
|
CloudRunnerState.buildParams.buildGuid,
|
||||||
image,
|
image,
|
||||||
`${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
`apt-get update
|
||||||
|
apt-get install -y -q git-lfs jq tree zip unzip nodejs -q
|
||||||
|
${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||||
|
export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||||
|
mkdir -p ${CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
||||||
|
git clone -q -b ${CloudRunnerState.branchName} ${
|
||||||
|
CloudRunnerState.unityBuilderRepoUrl
|
||||||
|
} "${CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}"
|
||||||
|
${Input.cloudRunnerTests ? '' : '#'} tree ${CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
||||||
|
chmod +x ${path.join(CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)}
|
||||||
|
node ${path.join(CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli
|
||||||
export GITHUB_WORKSPACE="${CloudRunnerState.repoPathFull}"
|
export GITHUB_WORKSPACE="${CloudRunnerState.repoPathFull}"
|
||||||
cp -r "${path
|
cp -r "${path
|
||||||
.join(CloudRunnerState.builderPathFull, 'dist', 'default-build-script')
|
.join(CloudRunnerState.builderPathFull, 'dist', 'default-build-script')
|
||||||
|
|
@ -42,8 +52,6 @@ export class BuildStep implements StepInterface {
|
||||||
chmod -R +x "/entrypoint.sh"
|
chmod -R +x "/entrypoint.sh"
|
||||||
chmod -R +x "/steps"
|
chmod -R +x "/steps"
|
||||||
/entrypoint.sh
|
/entrypoint.sh
|
||||||
apt-get update
|
|
||||||
apt-get install -y -q zip tree
|
|
||||||
cd "${CloudRunnerState.libraryFolderFull.replace(/\\/g, `/`)}/.."
|
cd "${CloudRunnerState.libraryFolderFull.replace(/\\/g, `/`)}/.."
|
||||||
zip -r "lib-${CloudRunnerState.buildParams.buildGuid}.zip" "Library"
|
zip -r "lib-${CloudRunnerState.buildParams.buildGuid}.zip" "Library"
|
||||||
mv "lib-${CloudRunnerState.buildParams.buildGuid}.zip" "${CloudRunnerState.cacheFolderFull.replace(
|
mv "lib-${CloudRunnerState.buildParams.buildGuid}.zip" "${CloudRunnerState.cacheFolderFull.replace(
|
||||||
|
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
import path from 'path';
|
|
||||||
import { Input } from '../..';
|
|
||||||
import { CloudRunnerBuildCommandProcessor } from '../services/cloud-runner-build-command-process';
|
|
||||||
import CloudRunnerEnvironmentVariable from '../services/cloud-runner-environment-variable';
|
|
||||||
import CloudRunnerLogger from '../services/cloud-runner-logger';
|
|
||||||
import CloudRunnerSecret from '../services/cloud-runner-secret';
|
|
||||||
import { CloudRunnerState } from '../state/cloud-runner-state';
|
|
||||||
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
|
||||||
import { StepInterface } from './step-interface';
|
|
||||||
|
|
||||||
export class SetupStep implements StepInterface {
|
|
||||||
async run(cloudRunnerStepState: CloudRunnerStepState) {
|
|
||||||
try {
|
|
||||||
return await SetupStep.downloadRepository(
|
|
||||||
cloudRunnerStepState.image,
|
|
||||||
cloudRunnerStepState.environment,
|
|
||||||
cloudRunnerStepState.secrets,
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static async downloadRepository(
|
|
||||||
image: string,
|
|
||||||
environmentVariables: CloudRunnerEnvironmentVariable[],
|
|
||||||
secrets: CloudRunnerSecret[],
|
|
||||||
) {
|
|
||||||
try {
|
|
||||||
CloudRunnerLogger.log(` `);
|
|
||||||
CloudRunnerLogger.logLine('Starting step 1/2 (setup game files from repository)');
|
|
||||||
const hooks = CloudRunnerBuildCommandProcessor.getHooks().filter((x) => x.step.includes(`setup`));
|
|
||||||
return await CloudRunnerState.CloudRunnerProviderPlatform.runTask(
|
|
||||||
CloudRunnerState.buildParams.buildGuid,
|
|
||||||
image,
|
|
||||||
`apk update -q
|
|
||||||
apk add git-lfs jq tree zip unzip nodejs -q
|
|
||||||
${hooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
|
||||||
export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
|
||||||
mkdir -p ${CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
|
||||||
git clone -q -b ${CloudRunnerState.branchName} ${
|
|
||||||
CloudRunnerState.unityBuilderRepoUrl
|
|
||||||
} "${CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}"
|
|
||||||
${Input.cloudRunnerTests ? '' : '#'} tree ${CloudRunnerState.builderPathFull.replace(/\\/g, `/`)}
|
|
||||||
chmod +x ${path.join(CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)}
|
|
||||||
node ${path.join(CloudRunnerState.builderPathFull, 'dist', `index.js`).replace(/\\/g, `/`)} -m remote-cli
|
|
||||||
${hooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
|
||||||
`,
|
|
||||||
`/${CloudRunnerState.buildVolumeFolder}`,
|
|
||||||
`/${CloudRunnerState.buildVolumeFolder}/`,
|
|
||||||
environmentVariables,
|
|
||||||
secrets,
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
CloudRunnerLogger.logLine(`Failed download repository step 1/2`);
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -3,7 +3,6 @@ import { TaskParameterSerializer } from '../services/task-parameter-serializer';
|
||||||
import { CloudRunnerState } from '../state/cloud-runner-state';
|
import { CloudRunnerState } from '../state/cloud-runner-state';
|
||||||
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
import { CloudRunnerStepState } from '../state/cloud-runner-step-state';
|
||||||
import { BuildStep } from '../steps/build-step';
|
import { BuildStep } from '../steps/build-step';
|
||||||
import { SetupStep } from '../steps/setup-step';
|
|
||||||
import { CustomWorkflow } from './custom-workflow';
|
import { CustomWorkflow } from './custom-workflow';
|
||||||
import { WorkflowInterface } from './workflow-interface';
|
import { WorkflowInterface } from './workflow-interface';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
|
@ -29,17 +28,6 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
core.endGroup();
|
core.endGroup();
|
||||||
CloudRunnerLogger.logWithTime('Configurable pre build step(s) time');
|
CloudRunnerLogger.logWithTime('Configurable pre build step(s) time');
|
||||||
|
|
||||||
core.startGroup('setup');
|
|
||||||
output += await new SetupStep().run(
|
|
||||||
new CloudRunnerStepState(
|
|
||||||
'alpine/git',
|
|
||||||
TaskParameterSerializer.readBuildEnvironmentVariables(),
|
|
||||||
CloudRunnerState.defaultSecrets,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
core.endGroup();
|
|
||||||
CloudRunnerLogger.logWithTime('Download repository step time');
|
|
||||||
|
|
||||||
core.startGroup('build');
|
core.startGroup('build');
|
||||||
output += await new BuildStep().run(
|
output += await new BuildStep().run(
|
||||||
new CloudRunnerStepState(
|
new CloudRunnerStepState(
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import { CustomWorkflow } from './custom-workflow';
|
||||||
import { WorkflowInterface } from './workflow-interface';
|
import { WorkflowInterface } from './workflow-interface';
|
||||||
import { BuildAutomationWorkflow } from './build-automation-workflow';
|
import { BuildAutomationWorkflow } from './build-automation-workflow';
|
||||||
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
|
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
|
||||||
import { SetupStep } from '../steps/setup-step';
|
|
||||||
|
|
||||||
export class WorkflowCompositionRoot implements WorkflowInterface {
|
export class WorkflowCompositionRoot implements WorkflowInterface {
|
||||||
async run(cloudRunnerStepState: CloudRunnerStepState) {
|
async run(cloudRunnerStepState: CloudRunnerStepState) {
|
||||||
|
|
@ -17,15 +16,7 @@ export class WorkflowCompositionRoot implements WorkflowInterface {
|
||||||
|
|
||||||
private static async runJob(baseImage: any) {
|
private static async runJob(baseImage: any) {
|
||||||
try {
|
try {
|
||||||
if (CloudRunnerState.buildParams.customJob === `setup`) {
|
if (CloudRunnerState.buildParams.customJob !== '') {
|
||||||
return await new SetupStep().run(
|
|
||||||
new CloudRunnerStepState(
|
|
||||||
baseImage,
|
|
||||||
TaskParameterSerializer.readBuildEnvironmentVariables(),
|
|
||||||
CloudRunnerState.defaultSecrets,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
} else if (CloudRunnerState.buildParams.customJob !== '') {
|
|
||||||
return await CustomWorkflow.runCustomJob(CloudRunnerState.buildParams.customJob);
|
return await CustomWorkflow.runCustomJob(CloudRunnerState.buildParams.customJob);
|
||||||
}
|
}
|
||||||
return await new BuildAutomationWorkflow().run(
|
return await new BuildAutomationWorkflow().run(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue