pull/524/head
Frostebite 2023-03-24 16:37:15 +00:00
parent 5609356165
commit 70c8a150b5
12 changed files with 90 additions and 143 deletions

110
dist/index.js generated vendored
View File

@ -529,7 +529,7 @@ class Cli {
program.option('--select <select>', 'select a particular resource');
program.parse(process.argv);
Cli.options = program.opts();
return Cli.isCliMode || process.env.CI_CLI;
return Cli.isCliMode;
}
static async RunCli() {
github_1.default.githubInputEnabled = false;
@ -546,7 +546,7 @@ class Cli {
cloud_runner_logger_1.default.log(`Build Params:
${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}`);
await __1.CloudRunner.setup(__1.CloudRunner.buildParameters);
return await results.target[results.propertyKey](Cli.options);
@ -710,9 +710,6 @@ class CloudRunnerOptions {
if (process.env[query] !== undefined) {
return process.env[query];
}
if (alternativeQuery !== query && process.env[`CI_${alternativeQuery}`] !== undefined) {
return process.env[`CI_${alternativeQuery}`];
}
if (alternativeQuery !== query && process.env[alternativeQuery] !== undefined) {
return process.env[alternativeQuery];
}
@ -995,7 +992,7 @@ class CloudRunner {
return process.env[`GITHUB_ACTIONS`] !== `true`;
}
static get isCloudRunnerAsyncEnvironment() {
return process.env[`CI_ASYNC_WORKFLOW`] === `true`;
return process.env[`ASYNC_WORKFLOW`] === `true`;
}
static async setup(buildParameters) {
cloud_runner_logger_1.default.setup();
@ -1056,7 +1053,7 @@ class CloudRunner {
cloud_runner_logger_1.default.logLine(`Using retained workspace ${CloudRunner.lockedWorkspace}`);
CloudRunner.cloudRunnerEnvironmentVariables = [
...CloudRunner.cloudRunnerEnvironmentVariables,
{ name: `CI_LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
{ name: `LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
];
}
else {
@ -4190,7 +4187,6 @@ const cli_functions_repository_1 = __nccwpck_require__(85301);
const cloud_runner_system_1 = __nccwpck_require__(99393);
const yaml_1 = __importDefault(__nccwpck_require__(44603));
const github_1 = __importDefault(__nccwpck_require__(83654));
const task_parameter_serializer_1 = __nccwpck_require__(35346);
const build_parameters_1 = __importDefault(__nccwpck_require__(80787));
class RemoteClient {
static async runRemoteClientJob() {
@ -4198,12 +4194,8 @@ class RemoteClient {
if (!(await RemoteClient.handleRetainedWorkspace())) {
await RemoteClient.bootstrapRepository();
}
await RemoteClient.exportCiParameters();
await RemoteClient.runCustomHookFiles(`before-build`);
}
static async exportCiParameters() {
await task_parameter_serializer_1.TaskParameterSerializer.exportAllCiVariablesWithoutPrefix();
}
static async 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`);
@ -4598,8 +4590,8 @@ class CloudRunnerCustomSteps {
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 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' : ''}
rm /data/cache/$CI_CACHE_KEY/build/build-${cloud_runner_1.default.buildParameters.buildGuid}.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/$CACHE_KEY/build/build-${cloud_runner_1.default.buildParameters.buildGuid}.tar${cloud_runner_1.default.buildParameters.useCompressionStrategy ? '.lz4' : ''}
secrets:
- name: awsAccessKeyId
value: ${process.env.AWS_ACCESS_KEY_ID || ``}
@ -4610,16 +4602,16 @@ class CloudRunnerCustomSteps {
- name: aws-s3-pull-build
image: amazon/aws-cli
commands: |
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
aws configure set region $CI_AWS_DEFAULT_REGION --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 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/$CI_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 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/$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:
- name: CI_AWS_ACCESS_KEY_ID
- name: CI_AWS_SECRET_ACCESS_KEY
- name: CI_AWS_DEFAULT_REGION
- name: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
- name: AWS_DEFAULT_REGION
- name: BUILD_GUID_TARGET
- name: steam-deploy-client
image: steamcmd/steamcmd
@ -4661,43 +4653,43 @@ class CloudRunnerCustomSteps {
image: amazon/aws-cli
hook: after
commands: |
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
aws configure set region $CI_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
rm -r /data/cache/$CI_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
rm -r /data/cache/$CI_CACHE_KEY/Library
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 region $AWS_DEFAULT_REGION --profile default
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/$CACHE_KEY/lfs
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/$CACHE_KEY/Library
secrets:
- name: CI_AWS_ACCESS_KEY_ID
- name: 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 || ``}
- name: CI_AWS_DEFAULT_REGION
- name: AWS_DEFAULT_REGION
value: ${process.env.AWS_REGION || ``}
- name: aws-s3-pull-cache
image: amazon/aws-cli
hook: before
commands: |
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
aws configure set region $CI_AWS_DEFAULT_REGION --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 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/$CI_CACHE_KEY/ || true
BUCKET1="${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/Library/"
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/$CACHE_KEY/Library/"
aws s3 ls $BUCKET1 || true
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
BUCKET2="${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/lfs/"
aws s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CACHE_KEY/Library/ || true
BUCKET2="${cloud_runner_1.default.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/lfs/"
aws s3 ls $BUCKET2 || true
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:
- name: CI_AWS_ACCESS_KEY_ID
- name: 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 || ``}
- name: CI_AWS_DEFAULT_REGION
- name: AWS_DEFAULT_REGION
value: ${process.env.AWS_REGION || ``}
- name: debug-cache
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 build_parameters_1 = __importDefault(__nccwpck_require__(80787));
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 {
static createCloudRunnerEnvironmentVariables(buildParameters) {
const result = this.uniqBy([
@ -5524,7 +5513,7 @@ class TaskParameterSerializer {
x.value !== undefined &&
x.value !== `undefined`)
.map((x) => {
x.name = `CI_${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
x.name = `${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
x.value = `${x.value}`;
return x;
}), (item) => item.name);
@ -5542,12 +5531,12 @@ class TaskParameterSerializer {
const buildParameters = new build_parameters_1.default();
const keys = [
...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))),
];
for (const element of keys) {
if (element !== `customJob`) {
buildParameters[element] = process.env[`CI_${TaskParameterSerializer.ToEnvVarFormat(element)}`];
buildParameters[element] = process.env[`${TaskParameterSerializer.ToEnvVarFormat(element)}`];
}
}
return buildParameters;
@ -5562,7 +5551,7 @@ class TaskParameterSerializer {
return cloud_runner_options_1.default.ToEnvVarFormat(input);
}
static UndoEnvVarFormat(element) {
return this.camelize(element.replace('CI_', '').toLowerCase().replace(/_+/g, ' '));
return this.camelize(element.replace('', '').toLowerCase().replace(/_+/g, ' '));
}
static camelize(string) {
return TaskParameterSerializer.uncapitalizeFirstLetter(string
@ -5624,19 +5613,6 @@ class TaskParameterSerializer {
}
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;
TaskParameterSerializer.blockedParameterNames = new Set([
@ -5673,7 +5649,7 @@ class AsyncWorkflow {
try {
cloud_runner_logger_1.default.log(`Cloud Runner is running async mode`);
const asyncEnvironmentVariable = new cloud_runner_environment_variable_1.default();
asyncEnvironmentVariable.name = `CI_ASYNC_WORKFLOW`;
asyncEnvironmentVariable.name = `ASYNC_WORKFLOW`;
asyncEnvironmentVariable.value = `true`;
let output = '';
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`;
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
${cloneBuilderCommands}
node ${builderPath} -m remote-cli-pre-build
. ${cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh
rm ${cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh`;
node ${builderPath} -m remote-cli-pre-build`;
}
static BuildCommands(builderPath) {
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 {
static get octokitDefaultToken() {
return new core_1.Octokit({
auth: process.env.CI_GITHUB_TOKEN || process.env.GITHUB_TOKEN,
auth: process.env.GITHUB_TOKEN,
});
}
static get octokitPAT() {

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -57,7 +57,7 @@ export class Cli {
program.parse(process.argv);
Cli.options = program.opts();
return Cli.isCliMode || process.env.CI_CLI;
return Cli.isCliMode;
}
static async RunCli(): Promise<void> {
@ -76,7 +76,7 @@ export class Cli {
CloudRunnerLogger.log(`Build Params:
${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}`);
await CloudRunner.setup(CloudRunner.buildParameters);

View File

@ -29,10 +29,6 @@ class CloudRunnerOptions {
return process.env[query];
}
if (alternativeQuery !== query && process.env[`CI_${alternativeQuery}`] !== undefined) {
return process.env[`CI_${alternativeQuery}`];
}
if (alternativeQuery !== query && process.env[alternativeQuery] !== undefined) {
return process.env[alternativeQuery];
}

View File

@ -27,7 +27,7 @@ class CloudRunner {
return process.env[`GITHUB_ACTIONS`] !== `true`;
}
public static get isCloudRunnerAsyncEnvironment() {
return process.env[`CI_ASYNC_WORKFLOW`] === `true`;
return process.env[`ASYNC_WORKFLOW`] === `true`;
}
public static async setup(buildParameters: BuildParameters) {
CloudRunnerLogger.setup();
@ -104,7 +104,7 @@ class CloudRunner {
CloudRunnerLogger.logLine(`Using retained workspace ${CloudRunner.lockedWorkspace}`);
CloudRunner.cloudRunnerEnvironmentVariables = [
...CloudRunner.cloudRunnerEnvironmentVariables,
{ name: `CI_LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
{ name: `LOCKED_WORKSPACE`, value: CloudRunner.lockedWorkspace },
];
} else {
CloudRunnerLogger.log(`Max retained workspaces reached ${buildParameters.maxRetainedWorkspaces}`);

View File

@ -11,7 +11,6 @@ import { CliFunction } from '../../cli/cli-functions-repository';
import { CloudRunnerSystem } from '../services/cloud-runner-system';
import YAML from 'yaml';
import GitHub from '../../github';
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
import BuildParameters from '../../build-parameters';
export class RemoteClient {
@ -21,12 +20,8 @@ export class RemoteClient {
if (!(await RemoteClient.handleRetainedWorkspace())) {
await RemoteClient.bootstrapRepository();
}
await RemoteClient.exportCiParameters();
await RemoteClient.runCustomHookFiles(`before-build`);
}
static async exportCiParameters() {
await TaskParameterSerializer.exportAllCiVariablesWithoutPrefix();
}
static async runCustomHookFiles(hookLifecycle: string) {
RemoteClientLogger.log(`RunCustomHookFiles: ${hookLifecycle}`);
const gameCiCustomHooksPath = path.join(CloudRunnerFolders.repoPathAbsolute, `game-ci`, `hooks`);

View File

@ -45,12 +45,12 @@ export class CloudRunnerCustomSteps {
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 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' : ''
} 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' : ''
}
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' : ''
}
secrets:
@ -63,22 +63,22 @@ export class CloudRunnerCustomSteps {
- name: aws-s3-pull-build
image: amazon/aws-cli
commands: |
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
aws configure set region $CI_AWS_DEFAULT_REGION --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 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/$CI_CACHE_KEY/build || true
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/build || true
aws s3 cp s3://${
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' : ''
} /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' : ''
}
secrets:
- name: CI_AWS_ACCESS_KEY_ID
- name: CI_AWS_SECRET_ACCESS_KEY
- name: CI_AWS_DEFAULT_REGION
- name: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
- name: AWS_DEFAULT_REGION
- name: BUILD_GUID_TARGET
- name: steam-deploy-client
image: steamcmd/steamcmd
@ -120,47 +120,47 @@ export class CloudRunnerCustomSteps {
image: amazon/aws-cli
hook: after
commands: |
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
aws configure set region $CI_AWS_DEFAULT_REGION --profile default
aws s3 cp --recursive /data/cache/$CI_CACHE_KEY/lfs s3://${
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 region $AWS_DEFAULT_REGION --profile default
aws s3 cp --recursive /data/cache/$CACHE_KEY/lfs s3://${
CloudRunner.buildParameters.awsStackName
}/cloud-runner-cache/$CI_CACHE_KEY/lfs
rm -r /data/cache/$CI_CACHE_KEY/lfs
aws s3 cp --recursive /data/cache/$CI_CACHE_KEY/Library s3://${
}/cloud-runner-cache/$CACHE_KEY/lfs
rm -r /data/cache/$CACHE_KEY/lfs
aws s3 cp --recursive /data/cache/$CACHE_KEY/Library s3://${
CloudRunner.buildParameters.awsStackName
}/cloud-runner-cache/$CI_CACHE_KEY/Library
rm -r /data/cache/$CI_CACHE_KEY/Library
}/cloud-runner-cache/$CACHE_KEY/Library
rm -r /data/cache/$CACHE_KEY/Library
secrets:
- name: CI_AWS_ACCESS_KEY_ID
- name: 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 || ``}
- name: CI_AWS_DEFAULT_REGION
- name: AWS_DEFAULT_REGION
value: ${process.env.AWS_REGION || ``}
- name: aws-s3-pull-cache
image: amazon/aws-cli
hook: before
commands: |
aws configure set aws_access_key_id $CI_AWS_ACCESS_KEY_ID --profile default
aws configure set aws_secret_access_key $CI_AWS_SECRET_ACCESS_KEY --profile default
aws configure set region $CI_AWS_DEFAULT_REGION --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 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/$CI_CACHE_KEY/ || true
BUCKET1="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/Library/"
aws s3 ls ${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/ || true
BUCKET1="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/Library/"
aws s3 ls $BUCKET1 || true
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
BUCKET2="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CI_CACHE_KEY/lfs/"
aws s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CACHE_KEY/Library/ || true
BUCKET2="${CloudRunner.buildParameters.awsStackName}/cloud-runner-cache/$CACHE_KEY/lfs/"
aws s3 ls $BUCKET2 || true
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:
- name: CI_AWS_ACCESS_KEY_ID
- name: 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 || ``}
- name: CI_AWS_DEFAULT_REGION
- name: AWS_DEFAULT_REGION
value: ${process.env.AWS_REGION || ``}
- name: debug-cache
image: ubuntu

View File

@ -6,9 +6,6 @@ import CloudRunnerQueryOverride from './cloud-runner-query-override';
import CloudRunnerOptionsReader from './cloud-runner-options-reader';
import BuildParameters from '../../build-parameters';
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 {
static readonly blockedParameterNames: Set<string> = new Set([
@ -44,7 +41,7 @@ export class TaskParameterSerializer {
x.value !== `undefined`,
)
.map((x) => {
x.name = `CI_${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
x.name = `${TaskParameterSerializer.ToEnvVarFormat(x.name)}`;
x.value = `${x.value}`;
return x;
@ -71,14 +68,14 @@ export class TaskParameterSerializer {
const keys = [
...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)),
),
];
for (const element of keys) {
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 {
return this.camelize(element.replace('CI_', '').toLowerCase().replace(/_+/g, ' '));
return this.camelize(element.replace('', '').toLowerCase().replace(/_+/g, ' '));
}
private static camelize(string: string) {
@ -173,17 +170,4 @@ export class TaskParameterSerializer {
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);
}
}

View File

@ -68,7 +68,7 @@ describe('Cloud Runner Sync Environments', () => {
return x;
})
.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
.replace(/\s+/g, '')

View File

@ -12,7 +12,7 @@ export class AsyncWorkflow {
try {
CloudRunnerLogger.log(`Cloud Runner is running async mode`);
const asyncEnvironmentVariable = new CloudRunnerEnvironmentVariable();
asyncEnvironmentVariable.name = `CI_ASYNC_WORKFLOW`;
asyncEnvironmentVariable.name = `ASYNC_WORKFLOW`;
asyncEnvironmentVariable.value = `true`;
let output = '';

View File

@ -89,9 +89,7 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
${cloneBuilderCommands}
node ${builderPath} -m remote-cli-pre-build
. ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh
rm ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}/setEnv.sh`;
node ${builderPath} -m remote-cli-pre-build`;
}
private static BuildCommands(builderPath: string) {

View File

@ -13,7 +13,7 @@ class GitHub {
static result: string = ``;
private static get octokitDefaultToken() {
return new Octokit({
auth: process.env.CI_GITHUB_TOKEN || process.env.GITHUB_TOKEN,
auth: process.env.GITHUB_TOKEN,
});
}
private static get octokitPAT() {