pull/496/head
Frostebite 2023-02-25 14:40:39 +00:00
parent ffafad4e6c
commit 7c5090fea1
3 changed files with 11 additions and 15 deletions

8
dist/index.js generated vendored
View File

@ -5801,7 +5801,7 @@ class SharedWorkspaceLocking {
workspace = SharedWorkspaceLocking.NewWorkspaceName();
cloud_runner_1.default.lockedWorkspace = workspace;
}
const createResult = yield SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
const createResult = yield SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext);
const lockResult = yield SharedWorkspaceLocking.LockWorkspace(workspace, runId, buildParametersContext);
cloud_runner_logger_1.default.log(`run agent ${runId} didn't find a free workspace so created: ${workspace} createWorkspaceSuccess: ${createResult} Lock:${lockResult}`);
return createResult && lockResult;
@ -5893,11 +5893,8 @@ class SharedWorkspaceLocking {
return lockFilesExist;
});
}
static CreateWorkspace(workspace, buildParametersContext, lockId = ``) {
static CreateWorkspace(workspace, buildParametersContext) {
return __awaiter(this, void 0, void 0, function* () {
if (lockId !== ``) {
yield SharedWorkspaceLocking.LockWorkspace(workspace, lockId, buildParametersContext);
}
if (yield SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
throw new Error(`${workspace} already exists`);
}
@ -5929,6 +5926,7 @@ class SharedWorkspaceLocking {
cloud_runner_1.default.lockedWorkspace = workspace;
}
else {
yield cloud_runner_system_1.CloudRunnerSystem.Run(`aws s3 rm ${SharedWorkspaceLocking.workspaceRoot}${buildParametersContext.cacheKey}/${file}`, false, true);
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

@ -87,7 +87,7 @@ export class SharedWorkspaceLocking {
CloudRunner.lockedWorkspace = workspace;
}
const createResult = await SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
const createResult = await SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext);
const lockResult = await SharedWorkspaceLocking.LockWorkspace(workspace, runId, buildParametersContext);
CloudRunnerLogger.log(
`run agent ${runId} didn't find a free workspace so created: ${workspace} createWorkspaceSuccess: ${createResult} Lock:${lockResult}`,
@ -208,14 +208,7 @@ export class SharedWorkspaceLocking {
return lockFilesExist;
}
public static async CreateWorkspace(
workspace: string,
buildParametersContext: BuildParameters,
lockId: string = ``,
): Promise<boolean> {
if (lockId !== ``) {
await SharedWorkspaceLocking.LockWorkspace(workspace, lockId, buildParametersContext);
}
public static async CreateWorkspace(workspace: string, buildParametersContext: BuildParameters): Promise<boolean> {
if (await SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
throw new Error(`${workspace} already exists`);
}
@ -263,6 +256,11 @@ export class SharedWorkspaceLocking {
if (hasLock) {
CloudRunner.lockedWorkspace = workspace;
} else {
await CloudRunnerSystem.Run(
`aws s3 rm ${SharedWorkspaceLocking.workspaceRoot}${buildParametersContext.cacheKey}/${file}`,
false,
true,
);
throw new Error(`tried to lock ${workspace} with id ${runId} but hasLock failed`);
}