chore(format): prettier/eslint fix for build-automation-workflow; guard local provider steps
parent
c3e0ee6d1a
commit
ec93ad51d9
|
@ -5976,38 +5976,48 @@ class BuildAutomationWorkflow {
|
|||
static get BuildWorkflow() {
|
||||
const setupHooks = command_hook_service_1.CommandHookService.getHooks(cloud_runner_1.default.buildParameters.commandHooks).filter((x) => x.step?.includes(`setup`));
|
||||
const buildHooks = command_hook_service_1.CommandHookService.getHooks(cloud_runner_1.default.buildParameters.commandHooks).filter((x) => x.step?.includes(`build`));
|
||||
const builderPath = cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`));
|
||||
const isContainerized = cloud_runner_1.default.buildParameters.providerStrategy === 'aws' ||
|
||||
cloud_runner_1.default.buildParameters.providerStrategy === 'k8s' ||
|
||||
cloud_runner_1.default.buildParameters.providerStrategy === 'local-docker';
|
||||
const builderPath = isContainerized
|
||||
? cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`))
|
||||
: cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(node_path_1.default.join(process.cwd(), 'dist', `index.js`));
|
||||
return `echo "cloud runner build workflow starting"
|
||||
apt-get update > /dev/null
|
||||
apt-get install -y curl tar tree npm git-lfs jq git > /dev/null
|
||||
npm --version
|
||||
npm i -g n > /dev/null
|
||||
npm i -g semver > /dev/null
|
||||
npm install --global yarn > /dev/null
|
||||
n 20.8.0
|
||||
node --version
|
||||
${isContainerized ? 'apt-get update > /dev/null' : '# skipping apt-get in non-container provider'}
|
||||
${isContainerized
|
||||
? 'apt-get install -y curl tar tree npm git-lfs jq git > /dev/null\n npm --version\n npm i -g n > /dev/null\n npm i -g semver > /dev/null\n npm install --global yarn > /dev/null\n n 20.8.0\n node --version'
|
||||
: '# skipping toolchain setup in non-container provider'}
|
||||
${setupHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||
export GITHUB_WORKSPACE="${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute)}"
|
||||
df -H /data/
|
||||
${BuildAutomationWorkflow.setupCommands(builderPath)}
|
||||
${isContainerized ? 'df -H /data/' : '# skipping df on /data in non-container provider'}
|
||||
export LOG_FILE=${isContainerized ? '/home/job-log.txt' : '$(pwd)/temp/job-log.txt'}
|
||||
${BuildAutomationWorkflow.setupCommands(builderPath, isContainerized)}
|
||||
${setupHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
||||
${buildHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||
${BuildAutomationWorkflow.BuildCommands(builderPath)}
|
||||
${BuildAutomationWorkflow.BuildCommands(builderPath, isContainerized)}
|
||||
${buildHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}`;
|
||||
}
|
||||
static setupCommands(builderPath) {
|
||||
static setupCommands(builderPath, isContainerized) {
|
||||
const commands = `mkdir -p ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute)} && git clone -q -b ${cloud_runner_1.default.buildParameters.cloudRunnerBranch} ${cloud_runner_folders_1.CloudRunnerFolders.unityBuilderRepoUrl} "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute)}" && chmod +x ${builderPath}`;
|
||||
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!" && tree ${cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute}; else ${commands} ; fi`;
|
||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||
if (isContainerized) {
|
||||
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!" && tree ${cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute}; else ${commands} ; fi`;
|
||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||
${cloneBuilderCommands}
|
||||
echo "log start" >> /home/job-log.txt
|
||||
echo "CACHE_KEY=$CACHE_KEY"
|
||||
node ${builderPath} -m remote-cli-pre-build`;
|
||||
}
|
||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||
mkdir -p "$(dirname "$LOG_FILE")"
|
||||
echo "log start" >> "$LOG_FILE"
|
||||
echo "CACHE_KEY=$CACHE_KEY"
|
||||
node ${builderPath} -m remote-cli-pre-build`;
|
||||
}
|
||||
static BuildCommands(builderPath) {
|
||||
static BuildCommands(builderPath, isContainerized) {
|
||||
const distFolder = node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist');
|
||||
const ubuntuPlatformsFolder = node_path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist', 'platforms', 'ubuntu');
|
||||
return `
|
||||
if (isContainerized) {
|
||||
return `
|
||||
mkdir -p ${`${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.projectBuildFolderAbsolute)}/build`}
|
||||
cd ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.projectPathAbsolute)}
|
||||
cp -r "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(node_path_1.default.join(distFolder, 'default-build-script'))}" "/UnityBuilderAction"
|
||||
|
@ -6018,6 +6028,12 @@ node ${builderPath} -m remote-cli-pre-build`;
|
|||
echo "game ci start"
|
||||
echo "game ci start" >> /home/job-log.txt
|
||||
/entrypoint.sh | node ${builderPath} -m remote-cli-log-stream --logFile /home/job-log.txt
|
||||
node ${builderPath} -m remote-cli-post-build`;
|
||||
}
|
||||
return `
|
||||
echo "game ci start"
|
||||
echo "game ci start" >> "$LOG_FILE"
|
||||
node ${builderPath} -m remote-cli-log-stream --logFile "$LOG_FILE"
|
||||
node ${builderPath} -m remote-cli-post-build`;
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -50,56 +50,69 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
|||
const buildHooks = CommandHookService.getHooks(CloudRunner.buildParameters.commandHooks).filter((x) =>
|
||||
x.step?.includes(`build`),
|
||||
);
|
||||
const builderPath = CloudRunnerFolders.ToLinuxFolder(
|
||||
path.join(CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`),
|
||||
);
|
||||
const isContainerized =
|
||||
CloudRunner.buildParameters.providerStrategy === 'aws' ||
|
||||
CloudRunner.buildParameters.providerStrategy === 'k8s' ||
|
||||
CloudRunner.buildParameters.providerStrategy === 'local-docker';
|
||||
|
||||
const builderPath = isContainerized
|
||||
? CloudRunnerFolders.ToLinuxFolder(path.join(CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`))
|
||||
: CloudRunnerFolders.ToLinuxFolder(path.join(process.cwd(), 'dist', `index.js`));
|
||||
|
||||
return `echo "cloud runner build workflow starting"
|
||||
apt-get update > /dev/null
|
||||
apt-get install -y curl tar tree npm git-lfs jq git > /dev/null
|
||||
npm --version
|
||||
npm i -g n > /dev/null
|
||||
npm i -g semver > /dev/null
|
||||
npm install --global yarn > /dev/null
|
||||
n 20.8.0
|
||||
node --version
|
||||
${isContainerized ? 'apt-get update > /dev/null' : '# skipping apt-get in non-container provider'}
|
||||
${
|
||||
isContainerized
|
||||
? 'apt-get install -y curl tar tree npm git-lfs jq git > /dev/null\n npm --version\n npm i -g n > /dev/null\n npm i -g semver > /dev/null\n npm install --global yarn > /dev/null\n n 20.8.0\n node --version'
|
||||
: '# skipping toolchain setup in non-container provider'
|
||||
}
|
||||
${setupHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||
export GITHUB_WORKSPACE="${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.repoPathAbsolute)}"
|
||||
df -H /data/
|
||||
${BuildAutomationWorkflow.setupCommands(builderPath)}
|
||||
${isContainerized ? 'df -H /data/' : '# skipping df on /data in non-container provider'}
|
||||
export LOG_FILE=${isContainerized ? '/home/job-log.txt' : '$(pwd)/temp/job-log.txt'}
|
||||
${BuildAutomationWorkflow.setupCommands(builderPath, isContainerized)}
|
||||
${setupHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
||||
${buildHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||
${BuildAutomationWorkflow.BuildCommands(builderPath)}
|
||||
${BuildAutomationWorkflow.BuildCommands(builderPath, isContainerized)}
|
||||
${buildHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}`;
|
||||
}
|
||||
|
||||
private static setupCommands(builderPath: string) {
|
||||
private static setupCommands(builderPath: string, isContainerized: boolean) {
|
||||
const commands = `mkdir -p ${CloudRunnerFolders.ToLinuxFolder(
|
||||
CloudRunnerFolders.builderPathAbsolute,
|
||||
)} && git clone -q -b ${CloudRunner.buildParameters.cloudRunnerBranch} ${
|
||||
CloudRunnerFolders.unityBuilderRepoUrl
|
||||
} "${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.builderPathAbsolute)}" && chmod +x ${builderPath}`;
|
||||
|
||||
const cloneBuilderCommands = `if [ -e "${CloudRunnerFolders.ToLinuxFolder(
|
||||
CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute,
|
||||
)}" ] && [ -e "${CloudRunnerFolders.ToLinuxFolder(
|
||||
path.join(CloudRunnerFolders.builderPathAbsolute, `.git`),
|
||||
)}" ] ; then echo "Builder Already Exists!" && tree ${
|
||||
CloudRunnerFolders.builderPathAbsolute
|
||||
}; else ${commands} ; fi`;
|
||||
if (isContainerized) {
|
||||
const cloneBuilderCommands = `if [ -e "${CloudRunnerFolders.ToLinuxFolder(
|
||||
CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute,
|
||||
)}" ] && [ -e "${CloudRunnerFolders.ToLinuxFolder(
|
||||
path.join(CloudRunnerFolders.builderPathAbsolute, `.git`),
|
||||
)}" ] ; then echo "Builder Already Exists!" && tree ${
|
||||
CloudRunnerFolders.builderPathAbsolute
|
||||
}; else ${commands} ; fi`;
|
||||
|
||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||
${cloneBuilderCommands}
|
||||
echo "log start" >> /home/job-log.txt
|
||||
echo "CACHE_KEY=$CACHE_KEY"
|
||||
node ${builderPath} -m remote-cli-pre-build`;
|
||||
}
|
||||
|
||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||
mkdir -p "$(dirname "$LOG_FILE")"
|
||||
echo "log start" >> "$LOG_FILE"
|
||||
echo "CACHE_KEY=$CACHE_KEY"
|
||||
node ${builderPath} -m remote-cli-pre-build`;
|
||||
}
|
||||
|
||||
private static BuildCommands(builderPath: string) {
|
||||
private static BuildCommands(builderPath: string, isContainerized: boolean) {
|
||||
const distFolder = path.join(CloudRunnerFolders.builderPathAbsolute, 'dist');
|
||||
const ubuntuPlatformsFolder = path.join(CloudRunnerFolders.builderPathAbsolute, 'dist', 'platforms', 'ubuntu');
|
||||
|
||||
return `
|
||||
if (isContainerized) {
|
||||
return `
|
||||
mkdir -p ${`${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.projectBuildFolderAbsolute)}/build`}
|
||||
cd ${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.projectPathAbsolute)}
|
||||
cp -r "${CloudRunnerFolders.ToLinuxFolder(path.join(distFolder, 'default-build-script'))}" "/UnityBuilderAction"
|
||||
|
@ -111,5 +124,12 @@ node ${builderPath} -m remote-cli-pre-build`;
|
|||
echo "game ci start" >> /home/job-log.txt
|
||||
/entrypoint.sh | node ${builderPath} -m remote-cli-log-stream --logFile /home/job-log.txt
|
||||
node ${builderPath} -m remote-cli-post-build`;
|
||||
}
|
||||
|
||||
return `
|
||||
echo "game ci start"
|
||||
echo "game ci start" >> "$LOG_FILE"
|
||||
node ${builderPath} -m remote-cli-log-stream --logFile "$LOG_FILE"
|
||||
node ${builderPath} -m remote-cli-post-build`;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue