log env var serialization
parent
4e2b47d4cd
commit
9f6a951adb
|
|
@ -937,7 +937,7 @@ class CloudRunner {
|
|||
CloudRunner.setupSelectedBuildPlatform();
|
||||
CloudRunner.defaultSecrets = task_parameter_serializer_1.TaskParameterSerializer.readDefaultSecrets();
|
||||
CloudRunner.cloudRunnerEnvironmentVariables =
|
||||
task_parameter_serializer_1.TaskParameterSerializer.readBuildEnvironmentVariables(buildParameters);
|
||||
task_parameter_serializer_1.TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameters);
|
||||
if (!buildParameters.isCliMode && github_1.default.githubInputEnabled) {
|
||||
const buildParameterPropertyNames = Object.getOwnPropertyNames(buildParameters);
|
||||
for (const element of CloudRunner.cloudRunnerEnvironmentVariables) {
|
||||
|
|
@ -4731,8 +4731,8 @@ const base_64_1 = __importDefault(__nccwpck_require__(85848));
|
|||
// import ImageEnvironmentFactory from '../../image-environment-factory';
|
||||
const core = __importStar(__nccwpck_require__(42186));
|
||||
class TaskParameterSerializer {
|
||||
static readBuildEnvironmentVariables(buildParameters) {
|
||||
return this.uniqBy([
|
||||
static createCloudRunnerEnvironmentVariables(buildParameters) {
|
||||
const result = this.uniqBy([
|
||||
{
|
||||
name: 'ContainerMemory',
|
||||
value: buildParameters.cloudRunnerMemory,
|
||||
|
|
@ -4769,6 +4769,8 @@ class TaskParameterSerializer {
|
|||
}
|
||||
return x;
|
||||
}), (item) => item.name);
|
||||
core.info(`Serialized Env Vars ${JSON.stringify(result, undefined, 4)}`);
|
||||
return result;
|
||||
}
|
||||
static uniqBy(a, key) {
|
||||
const seen = {};
|
||||
|
|
@ -4779,13 +4781,15 @@ class TaskParameterSerializer {
|
|||
}
|
||||
static readBuildParameterFromEnvironment() {
|
||||
const buildParameters = new build_parameters_1.default();
|
||||
const keys = Object.getOwnPropertyNames(buildParameters).filter((x) => !this.blocked.has(x));
|
||||
const keys = [
|
||||
...new Set(Object.getOwnPropertyNames(process.env)
|
||||
.filter((x) => !this.blocked.has(x) && x.startsWith('GAMECI-'))
|
||||
.map((x) => TaskParameterSerializer.UndoEnvVarFormat(x))),
|
||||
];
|
||||
for (const element of keys) {
|
||||
const parameter = TaskParameterSerializer.UndoEnvVarFormat(element, buildParameters);
|
||||
buildParameters[parameter] =
|
||||
process.env[TaskParameterSerializer.ToEnvVarFormat(`GAMECI-${TaskParameterSerializer.ToEnvVarFormat(element)}`)];
|
||||
if (parameter === `CUSTOM_JOB` || parameter === `GAMECI-CUSTOM_JOB`) {
|
||||
buildParameters[parameter] = base_64_1.default.decode(buildParameters[parameter]);
|
||||
buildParameters[element] = process.env[`GAMECI-${TaskParameterSerializer.ToEnvVarFormat(element)}`];
|
||||
if (element === `customJob`) {
|
||||
buildParameters[element] = base_64_1.default.decode(buildParameters[element]);
|
||||
}
|
||||
}
|
||||
return buildParameters;
|
||||
|
|
@ -4796,8 +4800,15 @@ class TaskParameterSerializer {
|
|||
static ToEnvVarFormat(input) {
|
||||
return cloud_runner_options_1.default.ToEnvVarFormat(input);
|
||||
}
|
||||
static UndoEnvVarFormat(element, buildParameters) {
|
||||
return (Object.keys(buildParameters).find((x) => `GAMECI-${TaskParameterSerializer.ToEnvVarFormat(x)}` === element) || '');
|
||||
static UndoEnvVarFormat(element) {
|
||||
return this.camelize(element.replace('GAMECI-', '').replace('-', ' ').replace('_', ' '));
|
||||
}
|
||||
static camelize(string) {
|
||||
return string
|
||||
.replace(/^\w|[A-Z]|\b\w/g, function (word, index) {
|
||||
return index === 0 ? word.toLowerCase() : word.toUpperCase();
|
||||
})
|
||||
.replace(/\s+/g, '');
|
||||
}
|
||||
static serializeFromObject(buildParameters) {
|
||||
const array = [];
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -26,7 +26,7 @@ class CloudRunner {
|
|||
CloudRunner.setupSelectedBuildPlatform();
|
||||
CloudRunner.defaultSecrets = TaskParameterSerializer.readDefaultSecrets();
|
||||
CloudRunner.cloudRunnerEnvironmentVariables =
|
||||
TaskParameterSerializer.readBuildEnvironmentVariables(buildParameters);
|
||||
TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameters);
|
||||
if (!buildParameters.isCliMode && GitHub.githubInputEnabled) {
|
||||
const buildParameterPropertyNames = Object.getOwnPropertyNames(buildParameters);
|
||||
for (const element of CloudRunner.cloudRunnerEnvironmentVariables) {
|
||||
|
|
|
|||
|
|
@ -14,8 +14,10 @@ import * as core from '@actions/core';
|
|||
|
||||
export class TaskParameterSerializer {
|
||||
static readonly blocked = new Set(['0', 'length', 'prototype', '', 'unityVersion']);
|
||||
public static readBuildEnvironmentVariables(buildParameters: BuildParameters): CloudRunnerEnvironmentVariable[] {
|
||||
return this.uniqBy(
|
||||
public static createCloudRunnerEnvironmentVariables(
|
||||
buildParameters: BuildParameters,
|
||||
): CloudRunnerEnvironmentVariable[] {
|
||||
const result = this.uniqBy(
|
||||
[
|
||||
{
|
||||
name: 'ContainerMemory',
|
||||
|
|
@ -58,6 +60,9 @@ export class TaskParameterSerializer {
|
|||
}),
|
||||
(item) => item.name,
|
||||
);
|
||||
core.info(`Serialized Env Vars ${JSON.stringify(result, undefined, 4)}`);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static uniqBy(a, key) {
|
||||
|
|
@ -72,15 +77,17 @@ export class TaskParameterSerializer {
|
|||
|
||||
public static readBuildParameterFromEnvironment(): BuildParameters {
|
||||
const buildParameters = new BuildParameters();
|
||||
const keys = Object.getOwnPropertyNames(buildParameters).filter((x) => !this.blocked.has(x));
|
||||
const keys = [
|
||||
...new Set(
|
||||
Object.getOwnPropertyNames(process.env)
|
||||
.filter((x) => !this.blocked.has(x) && x.startsWith('GAMECI-'))
|
||||
.map((x) => TaskParameterSerializer.UndoEnvVarFormat(x)),
|
||||
),
|
||||
];
|
||||
for (const element of keys) {
|
||||
const parameter = TaskParameterSerializer.UndoEnvVarFormat(element, buildParameters);
|
||||
buildParameters[parameter] =
|
||||
process.env[
|
||||
TaskParameterSerializer.ToEnvVarFormat(`GAMECI-${TaskParameterSerializer.ToEnvVarFormat(element)}`)
|
||||
];
|
||||
if (parameter === `CUSTOM_JOB` || parameter === `GAMECI-CUSTOM_JOB`) {
|
||||
buildParameters[parameter] = base64.decode(buildParameters[parameter]);
|
||||
buildParameters[element] = process.env[`GAMECI-${TaskParameterSerializer.ToEnvVarFormat(element)}`];
|
||||
if (element === `customJob`) {
|
||||
buildParameters[element] = base64.decode(buildParameters[element]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -95,10 +102,16 @@ export class TaskParameterSerializer {
|
|||
return CloudRunnerOptions.ToEnvVarFormat(input);
|
||||
}
|
||||
|
||||
public static UndoEnvVarFormat(element, buildParameters): string {
|
||||
return (
|
||||
Object.keys(buildParameters).find((x) => `GAMECI-${TaskParameterSerializer.ToEnvVarFormat(x)}` === element) || ''
|
||||
);
|
||||
public static UndoEnvVarFormat(element): string {
|
||||
return this.camelize(element.replace('GAMECI-', '').replace('-', ' ').replace('_', ' '));
|
||||
}
|
||||
|
||||
private static camelize(string) {
|
||||
return string
|
||||
.replace(/^\w|[A-Z]|\b\w/g, function (word, index) {
|
||||
return index === 0 ? word.toLowerCase() : word.toUpperCase();
|
||||
})
|
||||
.replace(/\s+/g, '');
|
||||
}
|
||||
|
||||
private static serializeFromObject(buildParameters) {
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ describe('Cloud Runner Environment Serializer', () => {
|
|||
`,
|
||||
});
|
||||
|
||||
const result = TaskParameterSerializer.readBuildEnvironmentVariables(buildParameter);
|
||||
const result = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter);
|
||||
expect(result.find((x) => Number.parseInt(x.name)) !== undefined).toBeFalsy();
|
||||
const result2 = TaskParameterSerializer.readBuildEnvironmentVariables(buildParameter);
|
||||
const result2 = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter);
|
||||
expect(result2.find((x) => Number.parseInt(x.name)) !== undefined).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ describe('Cloud Runner Sync Environments', () => {
|
|||
// Assert results
|
||||
// expect(file).toContain(JSON.stringify(buildParameter));
|
||||
expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`);
|
||||
const environmentVariables = TaskParameterSerializer.readBuildEnvironmentVariables(buildParameter);
|
||||
const environmentVariables = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter);
|
||||
const secrets = TaskParameterSerializer.readDefaultSecrets().map((x) => {
|
||||
return {
|
||||
name: x.EnvironmentVariable,
|
||||
|
|
|
|||
Loading…
Reference in New Issue