pull/310/head
Frostebite 2021-12-30 17:49:16 +00:00
parent 0bd608a349
commit fe1a57dc63
5 changed files with 27 additions and 67 deletions

22
dist/index.js vendored
View File

@ -2512,6 +2512,7 @@ const image_environment_factory_1 = __importDefault(__webpack_require__(25145));
const cloud_runner_state_1 = __webpack_require__(70912); const cloud_runner_state_1 = __webpack_require__(70912);
class TaskParameterSerializer { class TaskParameterSerializer {
static readBuildEnvironmentVariables() { static readBuildEnvironmentVariables() {
TaskParameterSerializer.setupDefaultSecrets();
return [ return [
{ {
name: 'ContainerMemory', name: 'ContainerMemory',
@ -2536,7 +2537,7 @@ class TaskParameterSerializer {
let array = new Array(); let array = new Array();
array = TaskParameterSerializer.readBuildParameters(array); array = TaskParameterSerializer.readBuildParameters(array);
array = TaskParameterSerializer.readInput(array); array = TaskParameterSerializer.readInput(array);
array = array.filter((x) => x.value !== undefined && x.name !== '0'); array = array.filter((x) => x.value !== undefined && x.name !== '0' && x.value !== '');
return array; return array;
} }
static readBuildParameters(array) { static readBuildParameters(array) {
@ -2549,7 +2550,7 @@ class TaskParameterSerializer {
//}, //},
{ {
name: __1.Input.ToEnvVarFormat(element), name: __1.Input.ToEnvVarFormat(element),
value: cloud_runner_state_1.CloudRunnerState.buildParams[element].toString(), value: cloud_runner_state_1.CloudRunnerState.buildParams[element],
}); });
} }
array.push({ name: 'buildParameters', value: JSON.stringify(cloud_runner_state_1.CloudRunnerState.buildParams) }, { array.push({ name: 'buildParameters', value: JSON.stringify(cloud_runner_state_1.CloudRunnerState.buildParams) }, {
@ -2576,14 +2577,14 @@ class TaskParameterSerializer {
return array; return array;
} }
static setupDefaultSecrets() { static setupDefaultSecrets() {
cloud_runner_state_1.CloudRunnerState.defaultSecrets = []; if (cloud_runner_state_1.CloudRunnerState.defaultSecrets === undefined)
cloud_runner_state_1.CloudRunnerState.defaultSecrets.push(...image_environment_factory_1.default.getEnvironmentVariables(cloud_runner_state_1.CloudRunnerState.buildParams).map((x) => { cloud_runner_state_1.CloudRunnerState.defaultSecrets = image_environment_factory_1.default.getEnvironmentVariables(cloud_runner_state_1.CloudRunnerState.buildParams).map((x) => {
return { return {
ParameterKey: x.name, ParameterKey: x.name,
EnvironmentVariable: x.name, EnvironmentVariable: x.name,
ParameterValue: x.value, ParameterValue: x.value,
}; };
})); });
} }
} }
exports.TaskParameterSerializer = TaskParameterSerializer; exports.TaskParameterSerializer = TaskParameterSerializer;
@ -2610,7 +2611,6 @@ class CloudRunnerState {
if (CloudRunnerState.buildGuid === undefined) { if (CloudRunnerState.buildGuid === undefined) {
CloudRunnerState.buildGuid = cloud_runner_namespace_1.default.generateBuildName(CloudRunnerState.runNumber, buildParameters.platform); CloudRunnerState.buildGuid = cloud_runner_namespace_1.default.generateBuildName(CloudRunnerState.runNumber, buildParameters.platform);
} }
task_parameter_serializer_1.TaskParameterSerializer.setupDefaultSecrets();
} }
static get branchName() { static get branchName() {
return CloudRunnerState.buildParams.branch; return CloudRunnerState.buildParams.branch;

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -4,6 +4,7 @@ import Input from '../input';
import fs from 'fs'; import fs from 'fs';
import { CloudRunnerState } from './state/cloud-runner-state'; import { CloudRunnerState } from './state/cloud-runner-state';
import { CloudRunnerStatics } from './cloud-runner-statics'; import { CloudRunnerStatics } from './cloud-runner-statics';
import { TaskParameterSerializer } from './services/task-parameter-serializer';
describe('Cloud Runner', () => { describe('Cloud Runner', () => {
it('responds', () => {}); it('responds', () => {});
@ -35,14 +36,14 @@ describe('Cloud Runner', () => {
const file = fs.readFileSync(testOutput, 'utf-8').toString(); const file = fs.readFileSync(testOutput, 'utf-8').toString();
expect(file).toContain(JSON.stringify(buildParameter)); expect(file).toContain(JSON.stringify(buildParameter));
expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`); expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`);
const inputKeys = Object.getOwnPropertyNames(Input); const environmentVariables = TaskParameterSerializer.readBuildEnvironmentVariables();
const newLinePurgedFile = file const newLinePurgedFile = file
.replace(/\s+/g, '') .replace(/\s+/g, '')
.replace(new RegExp(`\\[${CloudRunnerStatics.logPrefix}\\]`, 'g'), ''); .replace(new RegExp(`\\[${CloudRunnerStatics.logPrefix}\\]`, 'g'), '');
for (const element of inputKeys) { for (const element of environmentVariables) {
if (Input[element] !== undefined && typeof Input[element] !== 'function') { if (element.value !== undefined && typeof element.value !== 'function') {
const newLinePurgedValue = Input[element].toString().replace(/\s+/g, ''); const newLinePurgedValue = element.value.toString().replace(/\s+/g, '');
expect(newLinePurgedFile).toContain(`${Input.ToEnvVarFormat(element)}=${newLinePurgedValue}`); expect(newLinePurgedFile).toContain(`${Input.ToEnvVarFormat(element.name)}=${newLinePurgedValue}`);
} }
} }
} }

View File

@ -5,6 +5,7 @@ import { CloudRunnerState } from '../state/cloud-runner-state';
export class TaskParameterSerializer { export class TaskParameterSerializer {
public static readBuildEnvironmentVariables(): CloudRunnerEnvironmentVariable[] { public static readBuildEnvironmentVariables(): CloudRunnerEnvironmentVariable[] {
TaskParameterSerializer.setupDefaultSecrets();
return [ return [
{ {
name: 'ContainerMemory', name: 'ContainerMemory',
@ -29,7 +30,7 @@ export class TaskParameterSerializer {
let array = new Array(); let array = new Array();
array = TaskParameterSerializer.readBuildParameters(array); array = TaskParameterSerializer.readBuildParameters(array);
array = TaskParameterSerializer.readInput(array); array = TaskParameterSerializer.readInput(array);
array = array.filter((x) => x.value !== undefined && x.name !== '0'); array = array.filter((x) => x.value !== undefined && x.name !== '0' && x.value !== '');
return array; return array;
} }
@ -43,7 +44,7 @@ export class TaskParameterSerializer {
//}, //},
{ {
name: Input.ToEnvVarFormat(element), name: Input.ToEnvVarFormat(element),
value: CloudRunnerState.buildParams[element].toString(), value: CloudRunnerState.buildParams[element],
}, },
); );
} }
@ -76,57 +77,16 @@ export class TaskParameterSerializer {
return array; return array;
} }
public static setupDefaultSecrets() { private static setupDefaultSecrets() {
CloudRunnerState.defaultSecrets = [ if (CloudRunnerState.defaultSecrets === undefined)
{ CloudRunnerState.defaultSecrets = ImageEnvironmentFactory.getEnvironmentVariables(
ParameterKey: 'GithubToken', CloudRunnerState.buildParams,
EnvironmentVariable: 'GITHUB_TOKEN', ).map((x) => {
ParameterValue: CloudRunnerState.buildParams.githubToken,
},
{
ParameterKey: 'branch',
EnvironmentVariable: 'branch',
ParameterValue: CloudRunnerState.branchName,
},
{
ParameterKey: 'buildPathFull',
EnvironmentVariable: 'buildPathFull',
ParameterValue: CloudRunnerState.buildPathFull,
},
{
ParameterKey: 'projectPathFull',
EnvironmentVariable: 'projectPathFull',
ParameterValue: CloudRunnerState.projectPathFull,
},
{
ParameterKey: 'libraryFolderFull',
EnvironmentVariable: 'libraryFolderFull',
ParameterValue: CloudRunnerState.libraryFolderFull,
},
{
ParameterKey: 'builderPathFull',
EnvironmentVariable: 'builderPathFull',
ParameterValue: CloudRunnerState.builderPathFull,
},
{
ParameterKey: 'repoPathFull',
EnvironmentVariable: 'repoPathFull',
ParameterValue: CloudRunnerState.repoPathFull,
},
{
ParameterKey: 'steamPathFull',
EnvironmentVariable: 'steamPathFull',
ParameterValue: CloudRunnerState.steamPathFull,
},
];
CloudRunnerState.defaultSecrets.push(
...ImageEnvironmentFactory.getEnvironmentVariables(CloudRunnerState.buildParams).map((x) => {
return { return {
ParameterKey: x.name, ParameterKey: x.name,
EnvironmentVariable: x.name, EnvironmentVariable: x.name,
ParameterValue: x.value, ParameterValue: x.value,
}; };
}), });
);
} }
} }

View File

@ -21,7 +21,6 @@ export class CloudRunnerState {
buildParameters.platform, buildParameters.platform,
); );
} }
TaskParameterSerializer.setupDefaultSecrets();
} }
public static get branchName(): string { public static get branchName(): string {