fixes
parent
ffafad4e6c
commit
7c5090fea1
|
@ -5801,7 +5801,7 @@ class SharedWorkspaceLocking {
|
||||||
workspace = SharedWorkspaceLocking.NewWorkspaceName();
|
workspace = SharedWorkspaceLocking.NewWorkspaceName();
|
||||||
cloud_runner_1.default.lockedWorkspace = workspace;
|
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);
|
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}`);
|
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;
|
return createResult && lockResult;
|
||||||
|
@ -5893,11 +5893,8 @@ class SharedWorkspaceLocking {
|
||||||
return lockFilesExist;
|
return lockFilesExist;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static CreateWorkspace(workspace, buildParametersContext, lockId = ``) {
|
static CreateWorkspace(workspace, buildParametersContext) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
if (lockId !== ``) {
|
|
||||||
yield SharedWorkspaceLocking.LockWorkspace(workspace, lockId, buildParametersContext);
|
|
||||||
}
|
|
||||||
if (yield SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
if (yield SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
||||||
throw new Error(`${workspace} already exists`);
|
throw new Error(`${workspace} already exists`);
|
||||||
}
|
}
|
||||||
|
@ -5929,6 +5926,7 @@ class SharedWorkspaceLocking {
|
||||||
cloud_runner_1.default.lockedWorkspace = workspace;
|
cloud_runner_1.default.lockedWorkspace = workspace;
|
||||||
}
|
}
|
||||||
else {
|
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`);
|
throw new Error(`tried to lock ${workspace} with id ${runId} but hasLock failed`);
|
||||||
}
|
}
|
||||||
return hasLock;
|
return hasLock;
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -87,7 +87,7 @@ export class SharedWorkspaceLocking {
|
||||||
CloudRunner.lockedWorkspace = workspace;
|
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);
|
const lockResult = await SharedWorkspaceLocking.LockWorkspace(workspace, runId, buildParametersContext);
|
||||||
CloudRunnerLogger.log(
|
CloudRunnerLogger.log(
|
||||||
`run agent ${runId} didn't find a free workspace so created: ${workspace} createWorkspaceSuccess: ${createResult} Lock:${lockResult}`,
|
`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;
|
return lockFilesExist;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async CreateWorkspace(
|
public static async CreateWorkspace(workspace: string, buildParametersContext: BuildParameters): Promise<boolean> {
|
||||||
workspace: string,
|
|
||||||
buildParametersContext: BuildParameters,
|
|
||||||
lockId: string = ``,
|
|
||||||
): Promise<boolean> {
|
|
||||||
if (lockId !== ``) {
|
|
||||||
await SharedWorkspaceLocking.LockWorkspace(workspace, lockId, buildParametersContext);
|
|
||||||
}
|
|
||||||
if (await SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
if (await SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
||||||
throw new Error(`${workspace} already exists`);
|
throw new Error(`${workspace} already exists`);
|
||||||
}
|
}
|
||||||
|
@ -263,6 +256,11 @@ export class SharedWorkspaceLocking {
|
||||||
if (hasLock) {
|
if (hasLock) {
|
||||||
CloudRunner.lockedWorkspace = workspace;
|
CloudRunner.lockedWorkspace = workspace;
|
||||||
} else {
|
} 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`);
|
throw new Error(`tried to lock ${workspace} with id ${runId} but hasLock failed`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue