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() { static runRemoteClientJob() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`); // await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
RemoteClient.handleRetainedWorkspace(); if (!RemoteClient.handleRetainedWorkspace()) {
yield RemoteClient.bootstrapRepository();
}
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`); // await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
yield RemoteClient.bootstrapRepository();
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`); // await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
yield RemoteClient.runCustomHookFiles(`before-build`); yield RemoteClient.runCustomHookFiles(`before-build`);
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`); // await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
@ -4686,14 +4687,19 @@ class RemoteClient {
}); });
} }
static handleRetainedWorkspace() { static handleRetainedWorkspace() {
if (!cloud_runner_1.default.buildParameters.retainWorkspace) { return __awaiter(this, void 0, void 0, function* () {
return; 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`))) { if (fs_1.default.existsSync(cloud_runner_folders_1.CloudRunnerFolders.ToLinuxFolder(cloud_runner_folders_1.CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute)) &&
cloud_runner_logger_1.default.log(`Retained Workspace Already Exists!`); 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}`); 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([ __decorate([
@ -5925,7 +5931,7 @@ class SharedWorkspaceLocking {
cloud_runner_1.default.lockedWorkspace = workspace; cloud_runner_1.default.lockedWorkspace = workspace;
} }
else { else {
yield SharedWorkspaceLocking.ReleaseWorkspace(workspace, runId, buildParametersContext); throw new Error(`tried to lock ${workspace} with id ${runId} but hasLock failed`);
} }
return hasLock; 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`) @CliFunction(`remote-cli-pre-build`, `sets up a repository, usually before a game-ci build`)
static async runRemoteClientJob() { static async runRemoteClientJob() {
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`); // 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 CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
await RemoteClient.bootstrapRepository();
// await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`); // await CloudRunnerSystem.Run(`tree -L 2 ${CloudRunnerFolders.uniqueCloudRunnerJobFolderAbsolute}`);
await RemoteClient.runCustomHookFiles(`before-build`); await RemoteClient.runCustomHookFiles(`before-build`);
@ -159,7 +160,7 @@ export class RemoteClient {
} }
} }
} }
static handleRetainedWorkspace() { static async handleRetainedWorkspace() {
if (!CloudRunner.buildParameters.retainWorkspace) { if (!CloudRunner.buildParameters.retainWorkspace) {
return; return;
} }
@ -168,6 +169,9 @@ export class RemoteClient {
CloudRunnerFolders.ToLinuxFolder(path.join(CloudRunnerFolders.repoPathAbsolute, `.git`)) CloudRunnerFolders.ToLinuxFolder(path.join(CloudRunnerFolders.repoPathAbsolute, `.git`))
) { ) {
CloudRunnerLogger.log(`Retained Workspace Already Exists!`); 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}`); RemoteClientLogger.log(`Retained Workspace: ${CloudRunner.lockedWorkspace !== undefined}`);
} }

View File

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