fixes
parent
e6fec96a1f
commit
1ed8614e78
|
@ -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;
|
||||
});
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -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}`);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue