fixes
parent
5609356165
commit
70c8a150b5
|
|
@ -529,7 +529,7 @@ class Cli {
|
||||||
program.option('--select <select>', 'select a particular resource');
|
program.option('--select <select>', 'select a particular resource');
|
||||||
program.parse(process.argv);
|
program.parse(process.argv);
|
||||||
Cli.options = program.opts();
|
Cli.options = program.opts();
|
||||||
return Cli.isCliMode || process.env.CI_CLI;
|
return Cli.isCliMode;
|
||||||
}
|
}
|
||||||
static async RunCli() {
|
static async RunCli() {
|
||||||
github_1.default.githubInputEnabled = false;
|
github_1.default.githubInputEnabled = false;
|
||||||
|
|
@ -546,7 +546,7 @@ class Cli {
|
||||||
cloud_runner_logger_1.default.log(`Build Params:
|
cloud_runner_logger_1.default.log(`Build Params:
|
||||||
${JSON.stringify(__1.CloudRunner.buildParameters, undefined, 4)}
|
${JSON.stringify(__1.CloudRunner.buildParameters, undefined, 4)}
|
||||||
`);
|
`);
|
||||||
__1.CloudRunner.lockedWorkspace = process.env.CI_LOCKED_WORKSPACE || process.env.LOCKED_WORKSPACE || ``;
|
__1.CloudRunner.lockedWorkspace = process.env.LOCKED_WORKSPACE || ``;
|
||||||
cloud_runner_logger_1.default.log(`Locked Workspace: ${__1.CloudRunner.lockedWorkspace}`);
|
cloud_runner_logger_1.default.log(`Locked Workspace: ${__1.CloudRunner.lockedWorkspace}`);
|
||||||
await __1.CloudRunner.setup(__1.CloudRunner.buildParameters);
|
await __1.CloudRunner.setup(__1.CloudRunner.buildParameters);
|
||||||
return await results.target[results.propertyKey](Cli.options);
|
return await results.target[results.propertyKey](Cli.options);
|
||||||
|
|
@ -710,9 +710,6 @@ class CloudRunnerOptions {
|
||||||
if (process.env[query] !== undefined) {
|
if (process.env[query] !== undefined) {
|
||||||
return process.env[query];
|
return process.env[query];
|
||||||
}
|
}
|
||||||
if (alternativeQuery !== query && process.env[`CI_${alternativeQuery}`] !== undefined) {
|
|
||||||
return process.env[`CI_${alternativeQuery}`];
|
|
||||||
}
|
|
||||||
if (alternativeQuery !== query && process.env[alternativeQuery] !== undefined) {
|
if (alternativeQuery !== query && process.env[alternativeQuery] !== undefined) {
|
||||||
return process.env[alternativeQuery];
|
return process.env[alternativeQuery];
|
||||||
}
|
}
|
||||||
|
|
@ -995,7 +992,7 @@ class CloudRunner {
|
||||||
return process.env[`GITHUB_ACTIONS`] !== `true`;
|
return process.env[`GITHUB_ACTIONS`] !== `true`;
|
||||||
}
|
}
|
||||||
static get isCloudRunnerAsyncEnvironment() {
|
static get isCloudRunnerAsyncEnvironment() {
|
||||||
return process.env[`CI_ASYNC_WORKFLOW`] === `true`;
|
return process.env[`ASYNC_WORKFLOW`] === `true`;
|
||||||
}
|
}
|
||||||
static async setup(buildParameters) {
|
static async setup(buildParameters) {
|
||||||
cloud_runner_logger_1.default.setup();
|
cloud_runner_logger_1.default.setup();
|
||||||
|
|
@ -1056,7 +1053,7 @@ class CloudRunner {
|
||||||
cloud_runner_logger_1.default.logLine(`Using retained workspace ${CloudRunner.lockedWorkspace}`);
|
cloud_runner_logger_1.default.logLine(`Using retained workspace ${CloudRunner.lockedWorkspace}`);
|
||||||
CloudRunner.cloudRunnerEnvironmentVariables = [
|
CloudRunner.cloudRunnerEnvironmentVariables = [
|
||||||
...CloudRunner.cloudRunnerEnvironmentVariables,
|
...CloudRunner.cloudRunnerEnvironmentVariables,
|
||||||
{ name: `CI_LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
|
{ name: `LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -4190,7 +4187,6 @@ const cli_functions_repository_1 = __nccwpck_require__(85301);
|
||||||
const cloud_runner_system_1 = __nccwpck_require__(99393);
|
const cloud_runner_system_1 = __nccwpck_require__(99393);
|
||||||
const yaml_1 = __importDefault(__nccwpck_require__(44603));
|
const yaml_1 = __importDefault(__nccwpck_require__(44603));
|
||||||
const github_1 = __importDefault(__nccwpck_require__(83654));
|
const github_1 = __importDefault(__nccwpck_require__(83654));
|
||||||
const task_parameter_serializer_1 = __nccwpck_require__(35346);
|
|
||||||
const build_parameters_1 = __importDefault(__nccwpck_require__(80787));
|
const build_parameters_1 = __importDefault(__nccwpck_require__(80787));
|
||||||
class RemoteClient {
|
class RemoteClient {
|
||||||
static async runRemoteClientJob() {
|
static async runRemoteClientJob() {
|
||||||
|
|
@ -4198,12 +4194,8 @@ class RemoteClient {
|
||||||
if (!(await RemoteClient.handleRetainedWorkspace())) {
|
if (!(await RemoteClient.handleRetainedWorkspace())) {
|
||||||
await RemoteClient.bootstrapRepository();
|
await RemoteClient.bootstrapRepository();
|
||||||
}
|
}
|
||||||
await RemoteClient.exportCiParameters();
|
|
||||||
await RemoteClient.runCustomHookFiles(`before-build`);
|
await RemoteClient.runCustomHookFiles(`before-build`);
|
||||||
}
|
}
|
||||||
static async exportCiParameters() {
|
|
||||||
await task_parameter_serializer_1.TaskParameterSerializer.exportAllCiVariablesWithoutPrefix();
|
|
||||||
}
|
|
||||||
static async runCustomHookFiles(hookLifecycle) {
|
static async runCustomHookFiles(hookLifecycle) {
|
||||||
remote_client_logger_1.RemoteClientLogger.log(`RunCustomHookFiles: ${hookLifecycle}`);
|
remote_client_logger_1.RemoteClientLogger.log(`RunCustomHookFiles: ${hookLifecycle}`);
|
||||||
const gameCiCustomHooksPath = node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `game-ci`, `hooks`);
|
const gameCiCustomHooksPath = node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `game-ci`, `hooks`);
|
||||||
|
|
@ -4598,8 +4590,8 @@ class CloudRunnerCustomSteps {
|
||||||
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 cp /data/cache/$CI_CACHE_KEY/build/build-${cloud_runner_1.default.buildParameters.buildGuid}.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''} s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/build/build-$BUILD_GUID.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''}
|
aws s3 cp /data/cache/$CACHE_KEY/build/build-${cloud_runner_1.default.buildParameters.buildGuid}.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''} s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/build/build-$BUILD_GUID.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''}
|
||||||
rm /data/cache/$CI_CACHE_KEY/build/build-${cloud_runner_1.default.buildParameters.buildGuid}.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''}
|
rm /data/cache/$CACHE_KEY/build/build-${cloud_runner_1.default.buildParameters.buildGuid}.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''}
|
||||||
secrets:
|
secrets:
|
||||||
- name: awsAccessKeyId
|
- name: awsAccessKeyId
|
||||||
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
||||||
|
|
@ -4610,16 +4602,16 @@ class CloudRunnerCustomSteps {
|
||||||
- name: aws-s3-pull-build
|
- name: aws-s3-pull-build
|
||||||
image: amazon/aws-cli
|
image: amazon/aws-cli
|
||||||
commands: |
|
commands: |
|
||||||
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $CI_AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
||||||
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/build || true
|
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/build || true
|
||||||
aws s3 cp s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''} /data/cache/$CI_CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''}
|
aws s3 cp s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''} /data/cache/$CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''}
|
||||||
secrets:
|
secrets:
|
||||||
- name: CI_AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
- name: CI_AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
- name: CI_AWS_DEFAULT_REGION
|
- name: AWS_DEFAULT_REGION
|
||||||
- name: BUILD_GUID_TARGET
|
- name: BUILD_GUID_TARGET
|
||||||
- name: steam-deploy-client
|
- name: steam-deploy-client
|
||||||
image: steamcmd/steamcmd
|
image: steamcmd/steamcmd
|
||||||
|
|
@ -4661,43 +4653,43 @@ class CloudRunnerCustomSteps {
|
||||||
image: amazon/aws-cli
|
image: amazon/aws-cli
|
||||||
hook: after
|
hook: after
|
||||||
commands: |
|
commands: |
|
||||||
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $CI_AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 cp --recursive /data/cache/$CI_CACHE_KEY/lfs s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/lfs
|
aws s3 cp --recursive /data/cache/$CACHE_KEY/lfs s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/lfs
|
||||||
rm -r /data/cache/$CI_CACHE_KEY/lfs
|
rm -r /data/cache/$CACHE_KEY/lfs
|
||||||
aws s3 cp --recursive /data/cache/$CI_CACHE_KEY/Library s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/Library
|
aws s3 cp --recursive /data/cache/$CACHE_KEY/Library s3://${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/Library
|
||||||
rm -r /data/cache/$CI_CACHE_KEY/Library
|
rm -r /data/cache/$CACHE_KEY/Library
|
||||||
secrets:
|
secrets:
|
||||||
- name: CI_AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
||||||
- name: CI_AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
||||||
- name: CI_AWS_DEFAULT_REGION
|
- name: AWS_DEFAULT_REGION
|
||||||
value: ${process.env.AWS_REGION || ``}
|
value: ${process.env.AWS_REGION || ``}
|
||||||
- name: aws-s3-pull-cache
|
- name: aws-s3-pull-cache
|
||||||
image: amazon/aws-cli
|
image: amazon/aws-cli
|
||||||
hook: before
|
hook: before
|
||||||
commands: |
|
commands: |
|
||||||
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $CI_AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
||||||
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/ || true
|
aws s3 ls ${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/ || true
|
||||||
BUCKET1="${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/Library/"
|
BUCKET1="${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/Library/"
|
||||||
aws s3 ls $BUCKET1 || true
|
aws s3 ls $BUCKET1 || true
|
||||||
OBJECT1="$(aws s3 ls $BUCKET1 | sort | tail -n 1 | awk '{print $4}' || '')"
|
OBJECT1="$(aws s3 ls $BUCKET1 | sort | tail -n 1 | awk '{print $4}' || '')"
|
||||||
aws s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CI_CACHE_KEY/Library/ || true
|
aws s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CACHE_KEY/Library/ || true
|
||||||
BUCKET2="${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/lfs/"
|
BUCKET2="${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/lfs/"
|
||||||
aws s3 ls $BUCKET2 || true
|
aws s3 ls $BUCKET2 || true
|
||||||
OBJECT2="$(aws s3 ls $BUCKET2 | sort | tail -n 1 | awk '{print $4}' || '')"
|
OBJECT2="$(aws s3 ls $BUCKET2 | sort | tail -n 1 | awk '{print $4}' || '')"
|
||||||
aws s3 cp s3://$BUCKET2$OBJECT2 /data/cache/$CI_CACHE_KEY/lfs/ || true
|
aws s3 cp s3://$BUCKET2$OBJECT2 /data/cache/$CACHE_KEY/lfs/ || true
|
||||||
secrets:
|
secrets:
|
||||||
- name: CI_AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
||||||
- name: CI_AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
||||||
- name: CI_AWS_DEFAULT_REGION
|
- name: AWS_DEFAULT_REGION
|
||||||
value: ${process.env.AWS_REGION || ``}
|
value: ${process.env.AWS_REGION || ``}
|
||||||
- name: debug-cache
|
- name: debug-cache
|
||||||
image: ubuntu
|
image: ubuntu
|
||||||
|
|
@ -5504,9 +5496,6 @@ const cloud_runner_query_override_1 = __importDefault(__nccwpck_require__(31011)
|
||||||
const cloud_runner_options_reader_1 = __importDefault(__nccwpck_require__(3343));
|
const cloud_runner_options_reader_1 = __importDefault(__nccwpck_require__(3343));
|
||||||
const build_parameters_1 = __importDefault(__nccwpck_require__(80787));
|
const build_parameters_1 = __importDefault(__nccwpck_require__(80787));
|
||||||
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
|
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
|
||||||
const cloud_runner_system_1 = __nccwpck_require__(99393);
|
|
||||||
const cloud_runner_folders_1 = __nccwpck_require__(13527);
|
|
||||||
const node_fs_1 = __importDefault(__nccwpck_require__(87561));
|
|
||||||
class TaskParameterSerializer {
|
class TaskParameterSerializer {
|
||||||
static createCloudRunnerEnvironmentVariables(buildParameters) {
|
static createCloudRunnerEnvironmentVariables(buildParameters) {
|
||||||
const result = this.uniqBy([
|
const result = this.uniqBy([
|
||||||
|
|
@ -5524,7 +5513,7 @@ class TaskParameterSerializer {
|
||||||
x.value !== undefined &&
|
x.value !== undefined &&
|
||||||
x.value !== `undefined`)
|
x.value !== `undefined`)
|
||||||
.map((x) => {
|
.map((x) => {
|
||||||
x.name = `CI_${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
|
x.name = `${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
|
||||||
x.value = `${x.value}`;
|
x.value = `${x.value}`;
|
||||||
return x;
|
return x;
|
||||||
}), (item) => item.name);
|
}), (item) => item.name);
|
||||||
|
|
@ -5542,12 +5531,12 @@ class TaskParameterSerializer {
|
||||||
const buildParameters = new build_parameters_1.default();
|
const buildParameters = new build_parameters_1.default();
|
||||||
const keys = [
|
const keys = [
|
||||||
...new Set(Object.getOwnPropertyNames(process.env)
|
...new Set(Object.getOwnPropertyNames(process.env)
|
||||||
.filter((x) => !this.blockedParameterNames.has(x) && x.startsWith('CI_'))
|
.filter((x) => !this.blockedParameterNames.has(x) && x.startsWith(''))
|
||||||
.map((x) => TaskParameterSerializer.UndoEnvVarFormat(x))),
|
.map((x) => TaskParameterSerializer.UndoEnvVarFormat(x))),
|
||||||
];
|
];
|
||||||
for (const element of keys) {
|
for (const element of keys) {
|
||||||
if (element !== `customJob`) {
|
if (element !== `customJob`) {
|
||||||
buildParameters[element] = process.env[`CI_${TaskParameterSerializer.ToEnvVarFormat(element)}`];
|
buildParameters[element] = process.env[`${TaskParameterSerializer.ToEnvVarFormat(element)}`];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return buildParameters;
|
return buildParameters;
|
||||||
|
|
@ -5562,7 +5551,7 @@ class TaskParameterSerializer {
|
||||||
return cloud_runner_options_1.default.ToEnvVarFormat(input);
|
return cloud_runner_options_1.default.ToEnvVarFormat(input);
|
||||||
}
|
}
|
||||||
static UndoEnvVarFormat(element) {
|
static UndoEnvVarFormat(element) {
|
||||||
return this.camelize(element.replace('CI_', '').toLowerCase().replace(/_+/g, ' '));
|
return this.camelize(element.replace('', '').toLowerCase().replace(/_+/g, ' '));
|
||||||
}
|
}
|
||||||
static camelize(string) {
|
static camelize(string) {
|
||||||
return TaskParameterSerializer.uncapitalizeFirstLetter(string
|
return TaskParameterSerializer.uncapitalizeFirstLetter(string
|
||||||
|
|
@ -5624,19 +5613,6 @@ class TaskParameterSerializer {
|
||||||
}
|
}
|
||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
static async exportAllCiVariablesWithoutPrefix() {
|
|
||||||
const file = `${cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh`;
|
|
||||||
for (const variable of Object.entries(process.env)) {
|
|
||||||
if (variable[0].includes(`CI_`)) {
|
|
||||||
const name = variable[0].replace(`CI_`, ``);
|
|
||||||
const value = `${variable[1] || ``}`;
|
|
||||||
process.env[name] = value;
|
|
||||||
node_fs_1.default.appendFileSync(file, `export ${name}="$${variable[0]}"\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await cloud_runner_system_1.CloudRunnerSystem.Run(`chmod +x ${file}`);
|
|
||||||
await cloud_runner_system_1.CloudRunnerSystem.Run(file);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
exports.TaskParameterSerializer = TaskParameterSerializer;
|
exports.TaskParameterSerializer = TaskParameterSerializer;
|
||||||
TaskParameterSerializer.blockedParameterNames = new Set([
|
TaskParameterSerializer.blockedParameterNames = new Set([
|
||||||
|
|
@ -5673,7 +5649,7 @@ class AsyncWorkflow {
|
||||||
try {
|
try {
|
||||||
cloud_runner_logger_1.default.log(`Cloud Runner is running async mode`);
|
cloud_runner_logger_1.default.log(`Cloud Runner is running async mode`);
|
||||||
const asyncEnvironmentVariable = new cloud_runner_environment_variable_1.default();
|
const asyncEnvironmentVariable = new cloud_runner_environment_variable_1.default();
|
||||||
asyncEnvironmentVariable.name = `CI_ASYNC_WORKFLOW`;
|
asyncEnvironmentVariable.name = `ASYNC_WORKFLOW`;
|
||||||
asyncEnvironmentVariable.value = `true`;
|
asyncEnvironmentVariable.value = `true`;
|
||||||
let output = '';
|
let output = '';
|
||||||
output += await cloud_runner_1.default.Provider.runTaskInWorkflow(cloud_runner_1.default.buildParameters.buildGuid, `ubuntu`, `apt-get update > /dev/null
|
output += await cloud_runner_1.default.Provider.runTaskInWorkflow(cloud_runner_1.default.buildParameters.buildGuid, `ubuntu`, `apt-get update > /dev/null
|
||||||
|
|
@ -5801,9 +5777,7 @@ class BuildAutomationWorkflow {
|
||||||
const cloneBuilderCommands = `if [ -e "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}" ] && [ -e "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, `.git`))}" ] ; then echo "Builder Already Exists!"; else ${commands} ; fi`;
|
const cloneBuilderCommands = `if [ -e "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)}" ] && [ -e "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, `.git`))}" ] ; then echo "Builder Already Exists!"; else ${commands} ; fi`;
|
||||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||||
${cloneBuilderCommands}
|
${cloneBuilderCommands}
|
||||||
node ${builderPath} -m remote-cli-pre-build
|
node ${builderPath} -m remote-cli-pre-build`;
|
||||||
. ${cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh
|
|
||||||
rm ${cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh`;
|
|
||||||
}
|
}
|
||||||
static BuildCommands(builderPath) {
|
static BuildCommands(builderPath) {
|
||||||
const distFolder = node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist');
|
const distFolder = node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist');
|
||||||
|
|
@ -6100,7 +6074,7 @@ const core_1 = __nccwpck_require__(76762);
|
||||||
class GitHub {
|
class GitHub {
|
||||||
static get octokitDefaultToken() {
|
static get octokitDefaultToken() {
|
||||||
return new core_1.Octokit({
|
return new core_1.Octokit({
|
||||||
auth: process.env.CI_GITHUB_TOKEN || process.env.GITHUB_TOKEN,
|
auth: process.env.GITHUB_TOKEN,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static get octokitPAT() {
|
static get octokitPAT() {
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -57,7 +57,7 @@ export class Cli {
|
||||||
program.parse(process.argv);
|
program.parse(process.argv);
|
||||||
Cli.options = program.opts();
|
Cli.options = program.opts();
|
||||||
|
|
||||||
return Cli.isCliMode || process.env.CI_CLI;
|
return Cli.isCliMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
static async RunCli(): Promise<void> {
|
static async RunCli(): Promise<void> {
|
||||||
|
|
@ -76,7 +76,7 @@ export class Cli {
|
||||||
CloudRunnerLogger.log(`Build Params:
|
CloudRunnerLogger.log(`Build Params:
|
||||||
${JSON.stringify(CloudRunner.buildParameters, undefined, 4)}
|
${JSON.stringify(CloudRunner.buildParameters, undefined, 4)}
|
||||||
`);
|
`);
|
||||||
CloudRunner.lockedWorkspace = process.env.CI_LOCKED_WORKSPACE || process.env.LOCKED_WORKSPACE || ``;
|
CloudRunner.lockedWorkspace = process.env.LOCKED_WORKSPACE || ``;
|
||||||
CloudRunnerLogger.log(`Locked Workspace: ${CloudRunner.lockedWorkspace}`);
|
CloudRunnerLogger.log(`Locked Workspace: ${CloudRunner.lockedWorkspace}`);
|
||||||
await CloudRunner.setup(CloudRunner.buildParameters);
|
await CloudRunner.setup(CloudRunner.buildParameters);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,10 +29,6 @@ class CloudRunnerOptions {
|
||||||
return process.env[query];
|
return process.env[query];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (alternativeQuery !== query && process.env[`CI_${alternativeQuery}`] !== undefined) {
|
|
||||||
return process.env[`CI_${alternativeQuery}`];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (alternativeQuery !== query && process.env[alternativeQuery] !== undefined) {
|
if (alternativeQuery !== query && process.env[alternativeQuery] !== undefined) {
|
||||||
return process.env[alternativeQuery];
|
return process.env[alternativeQuery];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class CloudRunner {
|
||||||
return process.env[`GITHUB_ACTIONS`] !== `true`;
|
return process.env[`GITHUB_ACTIONS`] !== `true`;
|
||||||
}
|
}
|
||||||
public static get isCloudRunnerAsyncEnvironment() {
|
public static get isCloudRunnerAsyncEnvironment() {
|
||||||
return process.env[`CI_ASYNC_WORKFLOW`] === `true`;
|
return process.env[`ASYNC_WORKFLOW`] === `true`;
|
||||||
}
|
}
|
||||||
public static async setup(buildParameters: BuildParameters) {
|
public static async setup(buildParameters: BuildParameters) {
|
||||||
CloudRunnerLogger.setup();
|
CloudRunnerLogger.setup();
|
||||||
|
|
@ -104,7 +104,7 @@ class CloudRunner {
|
||||||
CloudRunnerLogger.logLine(`Using retained workspace ${CloudRunner.lockedWorkspace}`);
|
CloudRunnerLogger.logLine(`Using retained workspace ${CloudRunner.lockedWorkspace}`);
|
||||||
CloudRunner.cloudRunnerEnvironmentVariables = [
|
CloudRunner.cloudRunnerEnvironmentVariables = [
|
||||||
...CloudRunner.cloudRunnerEnvironmentVariables,
|
...CloudRunner.cloudRunnerEnvironmentVariables,
|
||||||
{ name: `CI_LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
|
{ name: `LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
CloudRunnerLogger.log(`Max retained workspaces reached ${buildParameters.maxRetainedWorkspaces}`);
|
CloudRunnerLogger.log(`Max retained workspaces reached ${buildParameters.maxRetainedWorkspaces}`);
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ import { CliFunction } from '../../cli/cli-functions-repository';
|
||||||
import { CloudRunnerSystem } from '../services/cloud-runner-system';
|
import { CloudRunnerSystem } from '../services/cloud-runner-system';
|
||||||
import YAML from 'yaml';
|
import YAML from 'yaml';
|
||||||
import GitHub from '../../github';
|
import GitHub from '../../github';
|
||||||
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
|
|
||||||
import BuildParameters from '../../build-parameters';
|
import BuildParameters from '../../build-parameters';
|
||||||
|
|
||||||
export class RemoteClient {
|
export class RemoteClient {
|
||||||
|
|
@ -21,12 +20,8 @@ export class RemoteClient {
|
||||||
if (!(await RemoteClient.handleRetainedWorkspace())) {
|
if (!(await RemoteClient.handleRetainedWorkspace())) {
|
||||||
await RemoteClient.bootstrapRepository();
|
await RemoteClient.bootstrapRepository();
|
||||||
}
|
}
|
||||||
await RemoteClient.exportCiParameters();
|
|
||||||
await RemoteClient.runCustomHookFiles(`before-build`);
|
await RemoteClient.runCustomHookFiles(`before-build`);
|
||||||
}
|
}
|
||||||
static async exportCiParameters() {
|
|
||||||
await TaskParameterSerializer.exportAllCiVariablesWithoutPrefix();
|
|
||||||
}
|
|
||||||
static async runCustomHookFiles(hookLifecycle: string) {
|
static async runCustomHookFiles(hookLifecycle: string) {
|
||||||
RemoteClientLogger.log(`RunCustomHookFiles: ${hookLifecycle}`);
|
RemoteClientLogger.log(`RunCustomHookFiles: ${hookLifecycle}`);
|
||||||
const gameCiCustomHooksPath = path.join(CloudRunnerFolders.repoPathAbsolute, `game-ci`, `hooks`);
|
const gameCiCustomHooksPath = path.join(CloudRunnerFolders.repoPathAbsolute, `game-ci`, `hooks`);
|
||||||
|
|
|
||||||
|
|
@ -45,12 +45,12 @@ export class CloudRunnerCustomSteps {
|
||||||
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 cp /data/cache/$CI_CACHE_KEY/build/build-${CloudRunner.buildParameters.buildGuid}.tar${
|
aws s3 cp /data/cache/$CACHE_KEY/build/build-${CloudRunner.buildParameters.buildGuid}.tar${
|
||||||
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
||||||
} s3://${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/build/build-$BUILD_GUID.tar${
|
} s3://${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/build/build-$BUILD_GUID.tar${
|
||||||
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
||||||
}
|
}
|
||||||
rm /data/cache/$CI_CACHE_KEY/build/build-${CloudRunner.buildParameters.buildGuid}.tar${
|
rm /data/cache/$CACHE_KEY/build/build-${CloudRunner.buildParameters.buildGuid}.tar${
|
||||||
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
||||||
}
|
}
|
||||||
secrets:
|
secrets:
|
||||||
|
|
@ -63,22 +63,22 @@ export class CloudRunnerCustomSteps {
|
||||||
- name: aws-s3-pull-build
|
- name: aws-s3-pull-build
|
||||||
image: amazon/aws-cli
|
image: amazon/aws-cli
|
||||||
commands: |
|
commands: |
|
||||||
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $CI_AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
||||||
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/build || true
|
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/build || true
|
||||||
aws s3 cp s3://${
|
aws s3 cp s3://${
|
||||||
CloudRunner.buildParameters.awsStackName
|
CloudRunner.buildParameters.awsStackName
|
||||||
}/cloud-runner-cache/$CI_CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${
|
}/cloud-runner-cache/$CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${
|
||||||
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
||||||
} /data/cache/$CI_CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${
|
} /data/cache/$CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${
|
||||||
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
CloudRunner.buildParameters.useCompressionStrategy ? '.lz4' : ''
|
||||||
}
|
}
|
||||||
secrets:
|
secrets:
|
||||||
- name: CI_AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
- name: CI_AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
- name: CI_AWS_DEFAULT_REGION
|
- name: AWS_DEFAULT_REGION
|
||||||
- name: BUILD_GUID_TARGET
|
- name: BUILD_GUID_TARGET
|
||||||
- name: steam-deploy-client
|
- name: steam-deploy-client
|
||||||
image: steamcmd/steamcmd
|
image: steamcmd/steamcmd
|
||||||
|
|
@ -120,47 +120,47 @@ export class CloudRunnerCustomSteps {
|
||||||
image: amazon/aws-cli
|
image: amazon/aws-cli
|
||||||
hook: after
|
hook: after
|
||||||
commands: |
|
commands: |
|
||||||
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $CI_AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 cp --recursive /data/cache/$CI_CACHE_KEY/lfs s3://${
|
aws s3 cp --recursive /data/cache/$CACHE_KEY/lfs s3://${
|
||||||
CloudRunner.buildParameters.awsStackName
|
CloudRunner.buildParameters.awsStackName
|
||||||
}/cloud-runner-cache/$CI_CACHE_KEY/lfs
|
}/cloud-runner-cache/$CACHE_KEY/lfs
|
||||||
rm -r /data/cache/$CI_CACHE_KEY/lfs
|
rm -r /data/cache/$CACHE_KEY/lfs
|
||||||
aws s3 cp --recursive /data/cache/$CI_CACHE_KEY/Library s3://${
|
aws s3 cp --recursive /data/cache/$CACHE_KEY/Library s3://${
|
||||||
CloudRunner.buildParameters.awsStackName
|
CloudRunner.buildParameters.awsStackName
|
||||||
}/cloud-runner-cache/$CI_CACHE_KEY/Library
|
}/cloud-runner-cache/$CACHE_KEY/Library
|
||||||
rm -r /data/cache/$CI_CACHE_KEY/Library
|
rm -r /data/cache/$CACHE_KEY/Library
|
||||||
secrets:
|
secrets:
|
||||||
- name: CI_AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
||||||
- name: CI_AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
||||||
- name: CI_AWS_DEFAULT_REGION
|
- name: AWS_DEFAULT_REGION
|
||||||
value: ${process.env.AWS_REGION || ``}
|
value: ${process.env.AWS_REGION || ``}
|
||||||
- name: aws-s3-pull-cache
|
- name: aws-s3-pull-cache
|
||||||
image: amazon/aws-cli
|
image: amazon/aws-cli
|
||||||
hook: before
|
hook: before
|
||||||
commands: |
|
commands: |
|
||||||
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
|
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default
|
||||||
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
|
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default
|
||||||
aws configure set region $CI_AWS_DEFAULT_REGION --profile default
|
aws configure set region $AWS_DEFAULT_REGION --profile default
|
||||||
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/ || true
|
||||||
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/ || true
|
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/ || true
|
||||||
BUCKET1="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/Library/"
|
BUCKET1="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/Library/"
|
||||||
aws s3 ls $BUCKET1 || true
|
aws s3 ls $BUCKET1 || true
|
||||||
OBJECT1="$(aws s3 ls $BUCKET1 | sort | tail -n 1 | awk '{print $4}' || '')"
|
OBJECT1="$(aws s3 ls $BUCKET1 | sort | tail -n 1 | awk '{print $4}' || '')"
|
||||||
aws s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CI_CACHE_KEY/Library/ || true
|
aws s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CACHE_KEY/Library/ || true
|
||||||
BUCKET2="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/lfs/"
|
BUCKET2="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/lfs/"
|
||||||
aws s3 ls $BUCKET2 || true
|
aws s3 ls $BUCKET2 || true
|
||||||
OBJECT2="$(aws s3 ls $BUCKET2 | sort | tail -n 1 | awk '{print $4}' || '')"
|
OBJECT2="$(aws s3 ls $BUCKET2 | sort | tail -n 1 | awk '{print $4}' || '')"
|
||||||
aws s3 cp s3://$BUCKET2$OBJECT2 /data/cache/$CI_CACHE_KEY/lfs/ || true
|
aws s3 cp s3://$BUCKET2$OBJECT2 /data/cache/$CACHE_KEY/lfs/ || true
|
||||||
secrets:
|
secrets:
|
||||||
- name: CI_AWS_ACCESS_KEY_ID
|
- name: AWS_ACCESS_KEY_ID
|
||||||
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
|
||||||
- name: CI_AWS_SECRET_ACCESS_KEY
|
- name: AWS_SECRET_ACCESS_KEY
|
||||||
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
value: ${process.env.AWS_SECRET_ACCESS_KEY || ``}
|
||||||
- name: CI_AWS_DEFAULT_REGION
|
- name: AWS_DEFAULT_REGION
|
||||||
value: ${process.env.AWS_REGION || ``}
|
value: ${process.env.AWS_REGION || ``}
|
||||||
- name: debug-cache
|
- name: debug-cache
|
||||||
image: ubuntu
|
image: ubuntu
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,6 @@ import CloudRunnerQueryOverride from './cloud-runner-query-override';
|
||||||
import CloudRunnerOptionsReader from './cloud-runner-options-reader';
|
import CloudRunnerOptionsReader from './cloud-runner-options-reader';
|
||||||
import BuildParameters from '../../build-parameters';
|
import BuildParameters from '../../build-parameters';
|
||||||
import CloudRunnerOptions from '../cloud-runner-options';
|
import CloudRunnerOptions from '../cloud-runner-options';
|
||||||
import { CloudRunnerSystem } from './cloud-runner-system';
|
|
||||||
import { CloudRunnerFolders } from './cloud-runner-folders';
|
|
||||||
import fs from 'node:fs';
|
|
||||||
|
|
||||||
export class TaskParameterSerializer {
|
export class TaskParameterSerializer {
|
||||||
static readonly blockedParameterNames: Set<string> = new Set([
|
static readonly blockedParameterNames: Set<string> = new Set([
|
||||||
|
|
@ -44,7 +41,7 @@ export class TaskParameterSerializer {
|
||||||
x.value !== `undefined`,
|
x.value !== `undefined`,
|
||||||
)
|
)
|
||||||
.map((x) => {
|
.map((x) => {
|
||||||
x.name = `CI_${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
|
x.name = `${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
|
||||||
x.value = `${x.value}`;
|
x.value = `${x.value}`;
|
||||||
|
|
||||||
return x;
|
return x;
|
||||||
|
|
@ -71,14 +68,14 @@ export class TaskParameterSerializer {
|
||||||
const keys = [
|
const keys = [
|
||||||
...new Set(
|
...new Set(
|
||||||
Object.getOwnPropertyNames(process.env)
|
Object.getOwnPropertyNames(process.env)
|
||||||
.filter((x) => !this.blockedParameterNames.has(x) && x.startsWith('CI_'))
|
.filter((x) => !this.blockedParameterNames.has(x) && x.startsWith(''))
|
||||||
.map((x) => TaskParameterSerializer.UndoEnvVarFormat(x)),
|
.map((x) => TaskParameterSerializer.UndoEnvVarFormat(x)),
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const element of keys) {
|
for (const element of keys) {
|
||||||
if (element !== `customJob`) {
|
if (element !== `customJob`) {
|
||||||
buildParameters[element] = process.env[`CI_${TaskParameterSerializer.ToEnvVarFormat(element)}`];
|
buildParameters[element] = process.env[`${TaskParameterSerializer.ToEnvVarFormat(element)}`];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,7 +95,7 @@ export class TaskParameterSerializer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UndoEnvVarFormat(element: string): string {
|
public static UndoEnvVarFormat(element: string): string {
|
||||||
return this.camelize(element.replace('CI_', '').toLowerCase().replace(/_+/g, ' '));
|
return this.camelize(element.replace('', '').toLowerCase().replace(/_+/g, ' '));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static camelize(string: string) {
|
private static camelize(string: string) {
|
||||||
|
|
@ -173,17 +170,4 @@ export class TaskParameterSerializer {
|
||||||
|
|
||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
public static async exportAllCiVariablesWithoutPrefix() {
|
|
||||||
const file = `${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh`;
|
|
||||||
for (const variable of Object.entries(process.env)) {
|
|
||||||
if (variable[0].includes(`CI_`)) {
|
|
||||||
const name = variable[0].replace(`CI_`, ``);
|
|
||||||
const value = `${variable[1] || ``}`;
|
|
||||||
process.env[name] = value;
|
|
||||||
fs.appendFileSync(file, `export ${name}="$${variable[0]}"\n`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
await CloudRunnerSystem.Run(`chmod +x ${file}`);
|
|
||||||
await CloudRunnerSystem.Run(file);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ describe('Cloud Runner Sync Environments', () => {
|
||||||
return x;
|
return x;
|
||||||
})
|
})
|
||||||
.filter((element) => {
|
.filter((element) => {
|
||||||
return !['CI_UNITY_LICENSE', 'UNITY_LICENSE', 'CI_CUSTOM_JOB', 'CUSTOM_JOB'].includes(element.name);
|
return !['UNITY_LICENSE', 'UNITY_LICENSE', 'CUSTOM_JOB', 'CUSTOM_JOB'].includes(element.name);
|
||||||
});
|
});
|
||||||
const newLinePurgedFile = file
|
const newLinePurgedFile = file
|
||||||
.replace(/\s+/g, '')
|
.replace(/\s+/g, '')
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export class AsyncWorkflow {
|
||||||
try {
|
try {
|
||||||
CloudRunnerLogger.log(`Cloud Runner is running async mode`);
|
CloudRunnerLogger.log(`Cloud Runner is running async mode`);
|
||||||
const asyncEnvironmentVariable = new CloudRunnerEnvironmentVariable();
|
const asyncEnvironmentVariable = new CloudRunnerEnvironmentVariable();
|
||||||
asyncEnvironmentVariable.name = `CI_ASYNC_WORKFLOW`;
|
asyncEnvironmentVariable.name = `ASYNC_WORKFLOW`;
|
||||||
asyncEnvironmentVariable.value = `true`;
|
asyncEnvironmentVariable.value = `true`;
|
||||||
|
|
||||||
let output = '';
|
let output = '';
|
||||||
|
|
|
||||||
|
|
@ -89,9 +89,7 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
|
|
||||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||||
${cloneBuilderCommands}
|
${cloneBuilderCommands}
|
||||||
node ${builderPath} -m remote-cli-pre-build
|
node ${builderPath} -m remote-cli-pre-build`;
|
||||||
. ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh
|
|
||||||
rm ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static BuildCommands(builderPath: string) {
|
private static BuildCommands(builderPath: string) {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ class GitHub {
|
||||||
static result: string = ``;
|
static result: string = ``;
|
||||||
private static get octokitDefaultToken() {
|
private static get octokitDefaultToken() {
|
||||||
return new Octokit({
|
return new Octokit({
|
||||||
auth: process.env.CI_GITHUB_TOKEN || process.env.GITHUB_TOKEN,
|
auth: process.env.GITHUB_TOKEN,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
private static get octokitPAT() {
|
private static get octokitPAT() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue