fix push to cache
parent
83c37888d1
commit
cf01ec9e9e
|
|
@ -3873,12 +3873,12 @@ class RemoteClient {
|
||||||
if (fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.libraryFolderAbsolute)) {
|
if (fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.libraryFolderAbsolute)) {
|
||||||
remote_client_logger_1.RemoteClientLogger.logWarning(`!Warning!: The Unity library was included in the git repository`);
|
remote_client_logger_1.RemoteClientLogger.logWarning(`!Warning!: The Unity library was included in the git repository`);
|
||||||
}
|
}
|
||||||
yield caching_1.Caching.PullFromCache(cloud_runner_folders_1.CloudRunnerFolders.lfsCacheFolderFull, cloud_runner_folders_1.CloudRunnerFolders.lfsFolderAbsolute, `${lfsHashes.lfsGuidSum}`);
|
yield caching_1.Caching.PullFromCache(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.lfsCacheFolderFull), cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.lfsFolderAbsolute), `${lfsHashes.lfsGuidSum}`);
|
||||||
yield RemoteClient.sizeOfFolder('repo after lfs cache pull', cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute);
|
yield RemoteClient.sizeOfFolder('repo after lfs cache pull', cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute);
|
||||||
yield RemoteClient.pullLatestLFS();
|
yield RemoteClient.pullLatestLFS();
|
||||||
yield RemoteClient.sizeOfFolder('repo before lfs git pull', cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute);
|
yield RemoteClient.sizeOfFolder('repo before lfs git pull', cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute);
|
||||||
yield caching_1.Caching.PushToCache(cloud_runner_folders_1.CloudRunnerFolders.lfsCacheFolderFull, cloud_runner_folders_1.CloudRunnerFolders.lfsFolderAbsolute, `${lfsHashes.lfsGuidSum}`);
|
yield caching_1.Caching.PushToCache(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.lfsCacheFolderFull), cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.lfsFolderAbsolute), `${lfsHashes.lfsGuidSum}`);
|
||||||
yield caching_1.Caching.PullFromCache(cloud_runner_folders_1.CloudRunnerFolders.libraryCacheFolderFull, cloud_runner_folders_1.CloudRunnerFolders.libraryFolderAbsolute);
|
yield caching_1.Caching.PullFromCache(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.libraryCacheFolderFull), cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.libraryFolderAbsolute));
|
||||||
yield RemoteClient.sizeOfFolder('repo after library cache pull', cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute);
|
yield RemoteClient.sizeOfFolder('repo after library cache pull', cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute);
|
||||||
yield caching_1.Caching.handleCachePurging();
|
yield caching_1.Caching.handleCachePurging();
|
||||||
}
|
}
|
||||||
|
|
@ -4049,6 +4049,9 @@ exports.CloudRunnerFolders = void 0;
|
||||||
const path_1 = __importDefault(__nccwpck_require__(71017));
|
const path_1 = __importDefault(__nccwpck_require__(71017));
|
||||||
const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
|
const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
|
||||||
class CloudRunnerFolders {
|
class CloudRunnerFolders {
|
||||||
|
static ToLinuxFolder(folder) {
|
||||||
|
return folder.replace(/\\/g, `/`);
|
||||||
|
}
|
||||||
// Only the following paths that do not start a path.join with another "Full" suffixed property need to start with an absolute /
|
// Only the following paths that do not start a path.join with another "Full" suffixed property need to start with an absolute /
|
||||||
static get uniqueCloudRunnerJobFolderAbsolute() {
|
static get uniqueCloudRunnerJobFolderAbsolute() {
|
||||||
return path_1.default.join(`/`, CloudRunnerFolders.buildVolumeFolder, cloud_runner_1.default.buildParameters.buildGuid);
|
return path_1.default.join(`/`, CloudRunnerFolders.buildVolumeFolder, cloud_runner_1.default.buildParameters.buildGuid);
|
||||||
|
|
@ -4712,19 +4715,16 @@ class BuildAutomationWorkflow {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static ToLinuxFolder(folder) {
|
|
||||||
return folder.replace(/\\/g, `/`);
|
|
||||||
}
|
|
||||||
static get BuildWorkflow() {
|
static get BuildWorkflow() {
|
||||||
const setupHooks = cloud_runner_custom_hooks_1.CloudRunnerCustomHooks.getHooks(cloud_runner_1.default.buildParameters.customJobHooks).filter((x) => x.step.includes(`setup`));
|
const setupHooks = cloud_runner_custom_hooks_1.CloudRunnerCustomHooks.getHooks(cloud_runner_1.default.buildParameters.customJobHooks).filter((x) => x.step.includes(`setup`));
|
||||||
const buildHooks = cloud_runner_custom_hooks_1.CloudRunnerCustomHooks.getHooks(cloud_runner_1.default.buildParameters.customJobHooks).filter((x) => x.step.includes(`build`));
|
const buildHooks = cloud_runner_custom_hooks_1.CloudRunnerCustomHooks.getHooks(cloud_runner_1.default.buildParameters.customJobHooks).filter((x) => x.step.includes(`build`));
|
||||||
const builderPath = BuildAutomationWorkflow.ToLinuxFolder(path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`));
|
const builderPath = cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`));
|
||||||
return `apt-get update > /dev/null
|
return `apt-get update > /dev/null
|
||||||
apt-get install -y tar tree npm git-lfs jq git > /dev/null
|
apt-get install -y tar tree npm git-lfs jq git > /dev/null
|
||||||
npm install -g n > /dev/null
|
npm install -g n > /dev/null
|
||||||
n stable > /dev/null
|
n stable > /dev/null
|
||||||
${setupHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
${setupHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||||
export GITHUB_WORKSPACE="${BuildAutomationWorkflow.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute)}"
|
export GITHUB_WORKSPACE="${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute)}"
|
||||||
${BuildAutomationWorkflow.setupCommands(builderPath)}
|
${BuildAutomationWorkflow.setupCommands(builderPath)}
|
||||||
${setupHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
${setupHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
||||||
${buildHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
${buildHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||||
|
|
@ -4734,23 +4734,23 @@ class BuildAutomationWorkflow {
|
||||||
static setupCommands(builderPath) {
|
static setupCommands(builderPath) {
|
||||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||||
echo "game ci cloud runner clone"
|
echo "game ci cloud runner clone"
|
||||||
mkdir -p ${BuildAutomationWorkflow.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute)}
|
mkdir -p ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute)}
|
||||||
git clone -q -b ${cloud_runner_1.default.buildParameters.cloudRunnerBranch} ${BuildAutomationWorkflow.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.unityBuilderRepoUrl)} "${BuildAutomationWorkflow.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute)}"
|
git clone -q -b ${cloud_runner_1.default.buildParameters.cloudRunnerBranch} ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.unityBuilderRepoUrl)} "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute)}"
|
||||||
chmod +x ${builderPath}
|
chmod +x ${builderPath}
|
||||||
echo "game ci cloud runner bootstrap"
|
echo "game ci cloud runner bootstrap"
|
||||||
node ${builderPath} -m remote-cli`;
|
node ${builderPath} -m remote-cli`;
|
||||||
}
|
}
|
||||||
// ToDo: Replace with a very simple "node ${builderPath} -m build-cli" to run the scripts below without enlarging the request size
|
// ToDo: Replace with a very simple "node ${builderPath} -m build-cli" to run the scripts below without enlarging the request size
|
||||||
static BuildCommands(builderPath, guid) {
|
static BuildCommands(builderPath, guid) {
|
||||||
const linuxCacheFolder = BuildAutomationWorkflow.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.cacheFolderFull);
|
const linuxCacheFolder = cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.cacheFolderFull);
|
||||||
const distFolder = path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist');
|
const distFolder = path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist');
|
||||||
const ubuntuPlatformsFolder = path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist', 'platforms', 'ubuntu');
|
const ubuntuPlatformsFolder = path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.builderPathAbsolute, 'dist', 'platforms', 'ubuntu');
|
||||||
return `echo "game ci cloud runner init"
|
return `echo "game ci cloud runner init"
|
||||||
mkdir -p ${`${BuildAutomationWorkflow.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.projectBuildFolderAbsolute)}/build`}
|
mkdir -p ${`${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.projectBuildFolderAbsolute)}/build`}
|
||||||
cd ${cloud_runner_folders_1.CloudRunnerFolders.projectPathAbsolute}
|
cd ${cloud_runner_folders_1.CloudRunnerFolders.projectPathAbsolute}
|
||||||
cp -r "${BuildAutomationWorkflow.ToLinuxFolder(path_1.default.join(distFolder, 'default-build-script'))}" "/UnityBuilderAction"
|
cp -r "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(path_1.default.join(distFolder, 'default-build-script'))}" "/UnityBuilderAction"
|
||||||
cp -r "${BuildAutomationWorkflow.ToLinuxFolder(path_1.default.join(ubuntuPlatformsFolder, 'entrypoint.sh'))}" "/entrypoint.sh"
|
cp -r "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(path_1.default.join(ubuntuPlatformsFolder, 'entrypoint.sh'))}" "/entrypoint.sh"
|
||||||
cp -r "${BuildAutomationWorkflow.ToLinuxFolder(path_1.default.join(ubuntuPlatformsFolder, 'steps'))}" "/steps"
|
cp -r "${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(path_1.default.join(ubuntuPlatformsFolder, 'steps'))}" "/steps"
|
||||||
chmod -R +x "/entrypoint.sh"
|
chmod -R +x "/entrypoint.sh"
|
||||||
chmod -R +x "/steps"
|
chmod -R +x "/steps"
|
||||||
echo "game ci cloud runner start"
|
echo "game ci cloud runner start"
|
||||||
|
|
@ -4759,11 +4759,11 @@ class BuildAutomationWorkflow {
|
||||||
chmod +x ${builderPath}
|
chmod +x ${builderPath}
|
||||||
node ${builderPath} -m cache-push --cachePushFrom ${cloud_runner_folders_1.CloudRunnerFolders.libraryFolderAbsolute} --artifactName lib-${guid} --cachePushTo ${linuxCacheFolder}/Library
|
node ${builderPath} -m cache-push --cachePushFrom ${cloud_runner_folders_1.CloudRunnerFolders.libraryFolderAbsolute} --artifactName lib-${guid} --cachePushTo ${linuxCacheFolder}/Library
|
||||||
echo "game ci cloud runner push build to cache"
|
echo "game ci cloud runner push build to cache"
|
||||||
node ${builderPath} -m cache-push --cachePushFrom ${BuildAutomationWorkflow.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.projectBuildFolderAbsolute)} --artifactName build-${guid} --cachePushTo ${`${BuildAutomationWorkflow.ToLinuxFolder(`${linuxCacheFolder}/build`)}`}
|
node ${builderPath} -m cache-push --cachePushFrom ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.projectBuildFolderAbsolute)} --artifactName build-${guid} --cachePushTo ${`${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(`${linuxCacheFolder}/build`)}`}
|
||||||
${BuildAutomationWorkflow.GetCleanupCommand(cloud_runner_folders_1.CloudRunnerFolders.projectPathAbsolute)}`;
|
${BuildAutomationWorkflow.GetCleanupCommand(cloud_runner_folders_1.CloudRunnerFolders.projectPathAbsolute)}`;
|
||||||
}
|
}
|
||||||
static GetCleanupCommand(cleanupPath) {
|
static GetCleanupCommand(cleanupPath) {
|
||||||
return cloud_runner_options_1.default.retainWorkspaces ? `` : `rm -r ${BuildAutomationWorkflow.ToLinuxFolder(cleanupPath)}`;
|
return cloud_runner_options_1.default.retainWorkspaces ? `` : `rm -r ${cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cleanupPath)}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.BuildAutomationWorkflow = BuildAutomationWorkflow;
|
exports.BuildAutomationWorkflow = BuildAutomationWorkflow;
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -24,19 +24,22 @@ export class RemoteClient {
|
||||||
RemoteClientLogger.logWarning(`!Warning!: The Unity library was included in the git repository`);
|
RemoteClientLogger.logWarning(`!Warning!: The Unity library was included in the git repository`);
|
||||||
}
|
}
|
||||||
await Caching.PullFromCache(
|
await Caching.PullFromCache(
|
||||||
CloudRunnerFolders.lfsCacheFolderFull,
|
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.lfsCacheFolderFull),
|
||||||
CloudRunnerFolders.lfsFolderAbsolute,
|
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.lfsFolderAbsolute),
|
||||||
`${lfsHashes.lfsGuidSum}`,
|
`${lfsHashes.lfsGuidSum}`,
|
||||||
);
|
);
|
||||||
await RemoteClient.sizeOfFolder('repo after lfs cache pull', CloudRunnerFolders.repoPathAbsolute);
|
await RemoteClient.sizeOfFolder('repo after lfs cache pull', CloudRunnerFolders.repoPathAbsolute);
|
||||||
await RemoteClient.pullLatestLFS();
|
await RemoteClient.pullLatestLFS();
|
||||||
await RemoteClient.sizeOfFolder('repo before lfs git pull', CloudRunnerFolders.repoPathAbsolute);
|
await RemoteClient.sizeOfFolder('repo before lfs git pull', CloudRunnerFolders.repoPathAbsolute);
|
||||||
await Caching.PushToCache(
|
await Caching.PushToCache(
|
||||||
CloudRunnerFolders.lfsCacheFolderFull,
|
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.lfsCacheFolderFull),
|
||||||
CloudRunnerFolders.lfsFolderAbsolute,
|
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.lfsFolderAbsolute),
|
||||||
`${lfsHashes.lfsGuidSum}`,
|
`${lfsHashes.lfsGuidSum}`,
|
||||||
);
|
);
|
||||||
await Caching.PullFromCache(CloudRunnerFolders.libraryCacheFolderFull, CloudRunnerFolders.libraryFolderAbsolute);
|
await Caching.PullFromCache(
|
||||||
|
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.libraryCacheFolderFull),
|
||||||
|
CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.libraryFolderAbsolute),
|
||||||
|
);
|
||||||
await RemoteClient.sizeOfFolder('repo after library cache pull', CloudRunnerFolders.repoPathAbsolute);
|
await RemoteClient.sizeOfFolder('repo after library cache pull', CloudRunnerFolders.repoPathAbsolute);
|
||||||
await Caching.handleCachePurging();
|
await Caching.handleCachePurging();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@ import CloudRunner from './../cloud-runner';
|
||||||
export class CloudRunnerFolders {
|
export class CloudRunnerFolders {
|
||||||
public static readonly repositoryFolder = 'repo';
|
public static readonly repositoryFolder = 'repo';
|
||||||
|
|
||||||
|
public static ToLinuxFolder(folder: string) {
|
||||||
|
return folder.replace(/\\/g, `/`);
|
||||||
|
}
|
||||||
|
|
||||||
// Only the following paths that do not start a path.join with another "Full" suffixed property need to start with an absolute /
|
// Only the following paths that do not start a path.join with another "Full" suffixed property need to start with an absolute /
|
||||||
|
|
||||||
public static get uniqueCloudRunnerJobFolderAbsolute(): string {
|
public static get uniqueCloudRunnerJobFolderAbsolute(): string {
|
||||||
|
|
|
||||||
|
|
@ -63,10 +63,6 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ToLinuxFolder(folder: string) {
|
|
||||||
return folder.replace(/\\/g, `/`);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static get BuildWorkflow() {
|
private static get BuildWorkflow() {
|
||||||
const setupHooks = CloudRunnerCustomHooks.getHooks(CloudRunner.buildParameters.customJobHooks).filter((x) =>
|
const setupHooks = CloudRunnerCustomHooks.getHooks(CloudRunner.buildParameters.customJobHooks).filter((x) =>
|
||||||
x.step.includes(`setup`),
|
x.step.includes(`setup`),
|
||||||
|
|
@ -74,7 +70,7 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
const buildHooks = CloudRunnerCustomHooks.getHooks(CloudRunner.buildParameters.customJobHooks).filter((x) =>
|
const buildHooks = CloudRunnerCustomHooks.getHooks(CloudRunner.buildParameters.customJobHooks).filter((x) =>
|
||||||
x.step.includes(`build`),
|
x.step.includes(`build`),
|
||||||
);
|
);
|
||||||
const builderPath = BuildAutomationWorkflow.ToLinuxFolder(
|
const builderPath = CloudRunnerFolders.ToLinuxFolder(
|
||||||
path.join(CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`),
|
path.join(CloudRunnerFolders.builderPathAbsolute, 'dist', `index.js`),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -83,7 +79,7 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
npm install -g n > /dev/null
|
npm install -g n > /dev/null
|
||||||
n stable > /dev/null
|
n stable > /dev/null
|
||||||
${setupHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
${setupHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||||
export GITHUB_WORKSPACE="${BuildAutomationWorkflow.ToLinuxFolder(CloudRunnerFolders.repoPathAbsolute)}"
|
export GITHUB_WORKSPACE="${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.repoPathAbsolute)}"
|
||||||
${BuildAutomationWorkflow.setupCommands(builderPath)}
|
${BuildAutomationWorkflow.setupCommands(builderPath)}
|
||||||
${setupHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
${setupHooks.filter((x) => x.hook.includes(`after`)).map((x) => x.commands) || ' '}
|
||||||
${buildHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
${buildHooks.filter((x) => x.hook.includes(`before`)).map((x) => x.commands) || ' '}
|
||||||
|
|
@ -94,10 +90,10 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
private static setupCommands(builderPath) {
|
private static setupCommands(builderPath) {
|
||||||
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
return `export GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
||||||
echo "game ci cloud runner clone"
|
echo "game ci cloud runner clone"
|
||||||
mkdir -p ${BuildAutomationWorkflow.ToLinuxFolder(CloudRunnerFolders.builderPathAbsolute)}
|
mkdir -p ${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.builderPathAbsolute)}
|
||||||
git clone -q -b ${CloudRunner.buildParameters.cloudRunnerBranch} ${BuildAutomationWorkflow.ToLinuxFolder(
|
git clone -q -b ${CloudRunner.buildParameters.cloudRunnerBranch} ${CloudRunnerFolders.ToLinuxFolder(
|
||||||
CloudRunnerFolders.unityBuilderRepoUrl,
|
CloudRunnerFolders.unityBuilderRepoUrl,
|
||||||
)} "${BuildAutomationWorkflow.ToLinuxFolder(CloudRunnerFolders.builderPathAbsolute)}"
|
)} "${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.builderPathAbsolute)}"
|
||||||
chmod +x ${builderPath}
|
chmod +x ${builderPath}
|
||||||
echo "game ci cloud runner bootstrap"
|
echo "game ci cloud runner bootstrap"
|
||||||
node ${builderPath} -m remote-cli`;
|
node ${builderPath} -m remote-cli`;
|
||||||
|
|
@ -105,18 +101,16 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
|
|
||||||
// ToDo: Replace with a very simple "node ${builderPath} -m build-cli" to run the scripts below without enlarging the request size
|
// ToDo: Replace with a very simple "node ${builderPath} -m build-cli" to run the scripts below without enlarging the request size
|
||||||
private static BuildCommands(builderPath, guid) {
|
private static BuildCommands(builderPath, guid) {
|
||||||
const linuxCacheFolder = BuildAutomationWorkflow.ToLinuxFolder(CloudRunnerFolders.cacheFolderFull);
|
const linuxCacheFolder = CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.cacheFolderFull);
|
||||||
const distFolder = path.join(CloudRunnerFolders.builderPathAbsolute, 'dist');
|
const distFolder = path.join(CloudRunnerFolders.builderPathAbsolute, 'dist');
|
||||||
const ubuntuPlatformsFolder = path.join(CloudRunnerFolders.builderPathAbsolute, 'dist', 'platforms', 'ubuntu');
|
const ubuntuPlatformsFolder = path.join(CloudRunnerFolders.builderPathAbsolute, 'dist', 'platforms', 'ubuntu');
|
||||||
|
|
||||||
return `echo "game ci cloud runner init"
|
return `echo "game ci cloud runner init"
|
||||||
mkdir -p ${`${BuildAutomationWorkflow.ToLinuxFolder(CloudRunnerFolders.projectBuildFolderAbsolute)}/build`}
|
mkdir -p ${`${CloudRunnerFolders.ToLinuxFolder(CloudRunnerFolders.projectBuildFolderAbsolute)}/build`}
|
||||||
cd ${CloudRunnerFolders.projectPathAbsolute}
|
cd ${CloudRunnerFolders.projectPathAbsolute}
|
||||||
cp -r "${BuildAutomationWorkflow.ToLinuxFolder(
|
cp -r "${CloudRunnerFolders.ToLinuxFolder(path.join(distFolder, 'default-build-script'))}" "/UnityBuilderAction"
|
||||||
path.join(distFolder, 'default-build-script'),
|
cp -r "${CloudRunnerFolders.ToLinuxFolder(path.join(ubuntuPlatformsFolder, 'entrypoint.sh'))}" "/entrypoint.sh"
|
||||||
)}" "/UnityBuilderAction"
|
cp -r "${CloudRunnerFolders.ToLinuxFolder(path.join(ubuntuPlatformsFolder, 'steps'))}" "/steps"
|
||||||
cp -r "${BuildAutomationWorkflow.ToLinuxFolder(path.join(ubuntuPlatformsFolder, 'entrypoint.sh'))}" "/entrypoint.sh"
|
|
||||||
cp -r "${BuildAutomationWorkflow.ToLinuxFolder(path.join(ubuntuPlatformsFolder, 'steps'))}" "/steps"
|
|
||||||
chmod -R +x "/entrypoint.sh"
|
chmod -R +x "/entrypoint.sh"
|
||||||
chmod -R +x "/steps"
|
chmod -R +x "/steps"
|
||||||
echo "game ci cloud runner start"
|
echo "game ci cloud runner start"
|
||||||
|
|
@ -127,15 +121,13 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
|
||||||
CloudRunnerFolders.libraryFolderAbsolute
|
CloudRunnerFolders.libraryFolderAbsolute
|
||||||
} --artifactName lib-${guid} --cachePushTo ${linuxCacheFolder}/Library
|
} --artifactName lib-${guid} --cachePushTo ${linuxCacheFolder}/Library
|
||||||
echo "game ci cloud runner push build to cache"
|
echo "game ci cloud runner push build to cache"
|
||||||
node ${builderPath} -m cache-push --cachePushFrom ${BuildAutomationWorkflow.ToLinuxFolder(
|
node ${builderPath} -m cache-push --cachePushFrom ${CloudRunnerFolders.ToLinuxFolder(
|
||||||
CloudRunnerFolders.projectBuildFolderAbsolute,
|
CloudRunnerFolders.projectBuildFolderAbsolute,
|
||||||
)} --artifactName build-${guid} --cachePushTo ${`${BuildAutomationWorkflow.ToLinuxFolder(
|
)} --artifactName build-${guid} --cachePushTo ${`${CloudRunnerFolders.ToLinuxFolder(`${linuxCacheFolder}/build`)}`}
|
||||||
`${linuxCacheFolder}/build`,
|
|
||||||
)}`}
|
|
||||||
${BuildAutomationWorkflow.GetCleanupCommand(CloudRunnerFolders.projectPathAbsolute)}`;
|
${BuildAutomationWorkflow.GetCleanupCommand(CloudRunnerFolders.projectPathAbsolute)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static GetCleanupCommand(cleanupPath: string) {
|
private static GetCleanupCommand(cleanupPath: string) {
|
||||||
return CloudRunnerOptions.retainWorkspaces ? `` : `rm -r ${BuildAutomationWorkflow.ToLinuxFolder(cleanupPath)}`;
|
return CloudRunnerOptions.retainWorkspaces ? `` : `rm -r ${CloudRunnerFolders.ToLinuxFolder(cleanupPath)}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue