pull/496/head
Frostebite 2023-02-25 02:13:03 +00:00
parent e6fec96a1f
commit 1ed8614e78
4 changed files with 26 additions and 16 deletions

28
dist/index.js generated vendored
View File

@ -4662,9 +4662,10 @@ class RemoteClient {
static runRemoteClientJob() {
return __awaiter(this, void 0, void 0, function* () {
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
RemoteClient.handleRetainedWorkspace();
if (!RemoteClient.handleRetainedWorkspace()) {
yield RemoteClient.bootstrapRepository();
}
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
yield RemoteClient.bootstrapRepository();
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
yield RemoteClient.runCustomHookFiles(`before-build`);
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
@ -4686,14 +4687,19 @@ class RemoteClient {
});
}
static handleRetainedWorkspace() {
if (!cloud_runner_1.default.buildParameters.retainWorkspace) {
return;
}
if (fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)) &&
cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `.git`))) {
cloud_runner_logger_1.default.log(`Retained Workspace Already Exists!`);
}
remote_client_logger_1.RemoteClientLogger.log(`Retained Workspace: ${cloud_runner_1.default.lockedWorkspace !== undefined}`);
return __awaiter(this, void 0, void 0, function* () {
if (!cloud_runner_1.default.buildParameters.retainWorkspace) {
return;
}
if (fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)) &&
cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(path_1.default.join(cloud_runner_folders_1.CloudRunnerFolders.repoPathAbsolute, `.git`))) {
cloud_runner_logger_1.default.log(`Retained Workspace Already Exists!`);
yield cloud_runner_system_1.CloudRunnerSystem.Run(`git fetch`);
yield cloud_runner_system_1.CloudRunnerSystem.Run(`git reset --hard "${cloud_runner_1.default.buildParameters.gitSha}"`);
yield cloud_runner_system_1.CloudRunnerSystem.Run(`git checkout ${cloud_runner_1.default.buildParameters.gitSha}`);
}
remote_client_logger_1.RemoteClientLogger.log(`Retained Workspace: ${cloud_runner_1.default.lockedWorkspace !== undefined}`);
});
}
}
__decorate([
@ -5925,7 +5931,7 @@ class SharedWorkspaceLocking {
cloud_runner_1.default.lockedWorkspace = workspace;
}
else {
yield SharedWorkspaceLocking.ReleaseWorkspace(workspace, runId, buildParametersContext);
throw new Error(`tried to lock ${workspace} with id ${runId} but hasLock failed`);
}
return hasLock;
});

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -136,10 +136,11 @@ export class RemoteClient {
@CliFunction(`remote-cli-pre-build`, `sets up a repository, usually before a game-ci build`)
static async runRemoteClientJob() {
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
RemoteClient.handleRetainedWorkspace();
if (!RemoteClient.handleRetainedWorkspace()) {
await RemoteClient.bootstrapRepository();
}
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
await RemoteClient.bootstrapRepository();
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
await RemoteClient.runCustomHookFiles(`before-build`);
@ -159,7 +160,7 @@ export class RemoteClient {
}
}
}
static handleRetainedWorkspace() {
static async handleRetainedWorkspace() {
if (!CloudRunner.buildParameters.retainWorkspace) {
return;
}
@ -168,6 +169,9 @@ export class RemoteClient {
CloudRunnerFolders.ToLinuxFolder(path.join(CloudRunnerFolders.repoPathAbsolute, `.git`))
) {
CloudRunnerLogger.log(`Retained Workspace Already Exists!`);
await CloudRunnerSystem.Run(`git fetch`);
await CloudRunnerSystem.Run(`git reset --hard "${CloudRunner.buildParameters.gitSha}"`);
await CloudRunnerSystem.Run(`git checkout ${CloudRunner.buildParameters.gitSha}`);
}
RemoteClientLogger.log(`Retained Workspace: ${CloudRunner.lockedWorkspace !== undefined}`);
}

View File

@ -263,7 +263,7 @@ export class SharedWorkspaceLocking {
if (hasLock) {
CloudRunner.lockedWorkspace = workspace;
} else {
await SharedWorkspaceLocking.ReleaseWorkspace(workspace, runId, buildParametersContext);
throw new Error(`tried to lock ${workspace} with id ${runId} but hasLock failed`);
}
return hasLock;