Cleanup setup of default secrets

pull/353/head
Frostebite 2022-04-04 20:21:37 +01:00
parent 5327094620
commit 0bf23325a5
7 changed files with 47 additions and 62 deletions

23
dist/index.js vendored
View File

@ -1816,9 +1816,10 @@ class CloudRunner {
cloud_runner_logger_1.default.setup();
CloudRunner.buildParameters = buildParameters;
CloudRunner.setupBuildPlatform();
const parameters = task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables();
CloudRunner.defaultSecrets = task_parameter_serializer_1.TaskParameterSerializer.readDefaultSecrets();
CloudRunner.cloudRunnerEnvironmentVariables = task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables();
if (!buildParameters.cliMode) {
for (const element of parameters) {
for (const element of CloudRunner.cloudRunnerEnvironmentVariables) {
core.setOutput(element.name, element.value);
}
}
@ -1845,7 +1846,7 @@ class CloudRunner {
yield CloudRunner.CloudRunnerProviderPlatform.setupSharedResources(CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters, CloudRunner.buildParameters.branch, CloudRunner.defaultSecrets);
if (!CloudRunner.buildParameters.cliMode)
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(), CloudRunner.defaultSecrets));
const output = yield new workflow_composition_root_1.WorkflowCompositionRoot().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, CloudRunner.cloudRunnerEnvironmentVariables, CloudRunner.defaultSecrets));
if (!CloudRunner.buildParameters.cliMode)
core.startGroup('Cleanup');
yield CloudRunner.CloudRunnerProviderPlatform.cleanupSharedResources(CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters, CloudRunner.buildParameters.branch, CloudRunner.defaultSecrets);
@ -2925,7 +2926,6 @@ const image_environment_factory_1 = __importDefault(__nccwpck_require__(25145));
const cloud_runner_build_command_process_1 = __nccwpck_require__(71899);
class TaskParameterSerializer {
static readBuildEnvironmentVariables() {
TaskParameterSerializer.setupDefaultSecrets();
return [
{
name: 'ContainerMemory',
@ -2983,8 +2983,7 @@ class TaskParameterSerializer {
}
return array;
}
static setupDefaultSecrets() {
if (__1.CloudRunner.defaultSecrets === undefined) {
static readDefaultSecrets() {
const array = new Array();
TaskParameterSerializer.tryAddInput(array, 'UNITY_SERIAL');
TaskParameterSerializer.tryAddInput(array, 'UNITY_EMAIL');
@ -2996,8 +2995,7 @@ class TaskParameterSerializer {
ParameterValue: x.value,
};
}));
__1.CloudRunner.defaultSecrets = array;
}
return array;
}
static getValue(key) {
return __1.Input.queryOverrides !== null && __1.Input.queryOverrides[key] !== undefined
@ -3059,7 +3057,6 @@ var __importDefault = (this && this.__importDefault) || function (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_folders_1 = __nccwpck_require__(13527);
const custom_workflow_1 = __nccwpck_require__(3786);
const core = __importStar(__nccwpck_require__(42186));
@ -3105,7 +3102,7 @@ class BuildAutomationWorkflow {
cloud_runner_logger_1.default.log(baseImage.toString());
cloud_runner_logger_1.default.logLine(` `);
cloud_runner_logger_1.default.logLine('Starting build automation job');
output += yield cloud_runner_1.default.CloudRunnerProviderPlatform.runTask(cloud_runner_1.default.buildParameters.buildGuid, baseImage.toString(), BuildAutomationWorkflow.FullWorkflow, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}/`, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), cloud_runner_1.default.defaultSecrets);
output += yield cloud_runner_1.default.CloudRunnerProviderPlatform.runTask(cloud_runner_1.default.buildParameters.buildGuid, baseImage.toString(), BuildAutomationWorkflow.FullWorkflow, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}/`, cloud_runner_1.default.cloudRunnerEnvironmentVariables, cloud_runner_1.default.defaultSecrets);
if (!cloud_runner_1.default.buildParameters.cliMode)
core.endGroup();
cloud_runner_logger_1.default.logWithTime('Build time');
@ -3208,7 +3205,6 @@ const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
const cloud_runner_folders_1 = __nccwpck_require__(13527);
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* () {
@ -3229,7 +3225,7 @@ class CustomWorkflow {
};
return secret;
});
output += yield __1.CloudRunner.CloudRunnerProviderPlatform.runTask(__1.CloudRunner.buildParameters.buildGuid, step['image'], step['commands'], `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}/`, task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(), [...__1.CloudRunner.defaultSecrets, ...stepSecrets]);
output += yield __1.CloudRunner.CloudRunnerProviderPlatform.runTask(__1.CloudRunner.buildParameters.buildGuid, step['image'], step['commands'], `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}/`, __1.CloudRunner.cloudRunnerEnvironmentVariables, [...__1.CloudRunner.defaultSecrets, ...stepSecrets]);
}
return output;
}
@ -3271,7 +3267,6 @@ exports.WorkflowCompositionRoot = void 0;
const cloud_runner_step_state_1 = __nccwpck_require__(50121);
const custom_workflow_1 = __nccwpck_require__(3786);
const build_automation_workflow_1 = __nccwpck_require__(94655);
const task_parameter_serializer_1 = __nccwpck_require__(35346);
const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
class WorkflowCompositionRoot {
run(cloudRunnerStepState) {
@ -3290,7 +3285,7 @@ class WorkflowCompositionRoot {
if (cloud_runner_1.default.buildParameters.customJob !== '') {
return yield custom_workflow_1.CustomWorkflow.runCustomJob(cloud_runner_1.default.buildParameters.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_1.default.defaultSecrets));
return yield new build_automation_workflow_1.BuildAutomationWorkflow().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, cloud_runner_1.default.cloudRunnerEnvironmentVariables, cloud_runner_1.default.defaultSecrets));
}
catch (error) {
throw error;

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -9,18 +9,21 @@ import { TaskParameterSerializer } from './services/task-parameter-serializer';
import * as core from '@actions/core';
import CloudRunnerSecret from './services/cloud-runner-secret';
import { CloudRunnerProviderInterface } from './services/cloud-runner-provider-interface';
import CloudRunnerEnvironmentVariable from './services/cloud-runner-environment-variable';
class CloudRunner {
public static CloudRunnerProviderPlatform: CloudRunnerProviderInterface;
static buildParameters: BuildParameters;
public static defaultSecrets: CloudRunnerSecret[];
public static cloudRunnerEnvironmentVariables: CloudRunnerEnvironmentVariable[];
private static setup(buildParameters: BuildParameters) {
CloudRunnerLogger.setup();
CloudRunner.buildParameters = buildParameters;
CloudRunner.setupBuildPlatform();
const parameters = TaskParameterSerializer.readBuildEnvironmentVariables();
CloudRunner.defaultSecrets = TaskParameterSerializer.readDefaultSecrets();
CloudRunner.cloudRunnerEnvironmentVariables = TaskParameterSerializer.readBuildEnvironmentVariables();
if (!buildParameters.cliMode) {
for (const element of parameters) {
for (const element of CloudRunner.cloudRunnerEnvironmentVariables) {
core.setOutput(element.name, element.value);
}
}
@ -52,11 +55,7 @@ class CloudRunner {
);
if (!CloudRunner.buildParameters.cliMode) core.endGroup();
const output = await new WorkflowCompositionRoot().run(
new CloudRunnerStepState(
baseImage,
TaskParameterSerializer.readBuildEnvironmentVariables(),
CloudRunner.defaultSecrets,
),
new CloudRunnerStepState(baseImage, CloudRunner.cloudRunnerEnvironmentVariables, CloudRunner.defaultSecrets),
);
if (!CloudRunner.buildParameters.cliMode) core.startGroup('Cleanup');
await CloudRunner.CloudRunnerProviderPlatform.cleanupSharedResources(

View File

@ -2,10 +2,10 @@ import { CloudRunner, Input } from '../..';
import ImageEnvironmentFactory from '../../image-environment-factory';
import CloudRunnerEnvironmentVariable from './cloud-runner-environment-variable';
import { CloudRunnerBuildCommandProcessor } from './cloud-runner-build-command-process';
import CloudRunnerSecret from './cloud-runner-secret';
export class TaskParameterSerializer {
public static readBuildEnvironmentVariables(): CloudRunnerEnvironmentVariable[] {
TaskParameterSerializer.setupDefaultSecrets();
return [
{
name: 'ContainerMemory',
@ -69,8 +69,7 @@ export class TaskParameterSerializer {
return array;
}
private static setupDefaultSecrets() {
if (CloudRunner.defaultSecrets === undefined) {
public static readDefaultSecrets(): CloudRunnerSecret[] {
const array = new Array();
TaskParameterSerializer.tryAddInput(array, 'UNITY_SERIAL');
TaskParameterSerializer.tryAddInput(array, 'UNITY_EMAIL');
@ -84,15 +83,14 @@ export class TaskParameterSerializer {
};
}),
);
CloudRunner.defaultSecrets = array;
}
return array;
}
private static getValue(key) {
return Input.queryOverrides !== null && Input.queryOverrides[key] !== undefined
? Input.queryOverrides[key]
: process.env[key];
}
private static tryAddInput(array, key) {
private static tryAddInput(array, key): CloudRunnerSecret[] {
if (TaskParameterSerializer.getValue(key) !== undefined) {
array.push({
ParameterKey: key,

View File

@ -1,5 +1,4 @@
import CloudRunnerLogger from '../services/cloud-runner-logger';
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
import { CloudRunnerFolders } from '../services/cloud-runner-folders';
import { CloudRunnerStepState } from '../cloud-runner-step-state';
import { CustomWorkflow } from './custom-workflow';
@ -52,7 +51,7 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
BuildAutomationWorkflow.FullWorkflow,
`/${CloudRunnerFolders.buildVolumeFolder}`,
`/${CloudRunnerFolders.buildVolumeFolder}/`,
TaskParameterSerializer.readBuildEnvironmentVariables(),
CloudRunner.cloudRunnerEnvironmentVariables,
CloudRunner.defaultSecrets,
);
if (!CloudRunner.buildParameters.cliMode) core.endGroup();

View File

@ -3,7 +3,6 @@ import CloudRunnerSecret from '../services/cloud-runner-secret';
import { CloudRunnerFolders } from '../services/cloud-runner-folders';
import YAML from 'yaml';
import { CloudRunner, Input } from '../..';
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
export class CustomWorkflow {
public static async runCustomJob(buildSteps) {
@ -30,7 +29,7 @@ export class CustomWorkflow {
step['commands'],
`/${CloudRunnerFolders.buildVolumeFolder}`,
`/${CloudRunnerFolders.buildVolumeFolder}/`,
TaskParameterSerializer.readBuildEnvironmentVariables(),
CloudRunner.cloudRunnerEnvironmentVariables,
[...CloudRunner.defaultSecrets, ...stepSecrets],
);
}

View File

@ -2,7 +2,6 @@ import { CloudRunnerStepState } from '../cloud-runner-step-state';
import { CustomWorkflow } from './custom-workflow';
import { WorkflowInterface } from './workflow-interface';
import { BuildAutomationWorkflow } from './build-automation-workflow';
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
import CloudRunner from '../cloud-runner';
export class WorkflowCompositionRoot implements WorkflowInterface {
@ -20,11 +19,7 @@ export class WorkflowCompositionRoot implements WorkflowInterface {
return await CustomWorkflow.runCustomJob(CloudRunner.buildParameters.customJob);
}
return await new BuildAutomationWorkflow().run(
new CloudRunnerStepState(
baseImage,
TaskParameterSerializer.readBuildEnvironmentVariables(),
CloudRunner.defaultSecrets,
),
new CloudRunnerStepState(baseImage, CloudRunner.cloudRunnerEnvironmentVariables, CloudRunner.defaultSecrets),
);
} catch (error) {
throw error;