fixes
parent
0e47db3739
commit
520a9c345b
|
@ -1089,7 +1089,7 @@ class CloudRunner {
|
|||
yield CloudRunner.setup(buildParameters);
|
||||
try {
|
||||
if (buildParameters.retainWorkspace) {
|
||||
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
|
||||
CloudRunner.lockedWorkspace = shared_workspace_locking_1.default.NewWorkspaceName();
|
||||
const result = yield shared_workspace_locking_1.default.GetOrCreateLockedWorkspace(CloudRunner.lockedWorkspace, CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters);
|
||||
if (result) {
|
||||
cloud_runner_logger_1.default.logLine(`Using retained workspace ${CloudRunner.lockedWorkspace}`);
|
||||
|
@ -5750,6 +5750,9 @@ class SharedWorkspaceLocking {
|
|||
return lines.map((x) => x.replace(`/`, ``)).includes(buildParametersContext.cacheKey);
|
||||
});
|
||||
}
|
||||
static NewWorkspaceName() {
|
||||
return `${cloud_runner_1.default.retainedWorkspacePrefix}-${cloud_runner_1.default.buildParameters.buildGuid}`;
|
||||
}
|
||||
static GetAllLocksForWorkspace(workspace, buildParametersContext) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
if (!(yield SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext))) {
|
||||
|
@ -5777,6 +5780,10 @@ class SharedWorkspaceLocking {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (yield SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
||||
workspace = SharedWorkspaceLocking.NewWorkspaceName();
|
||||
cloud_runner_1.default.lockedWorkspace = workspace;
|
||||
}
|
||||
const createResult = yield SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
|
||||
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}`);
|
||||
|
@ -5877,6 +5884,9 @@ class SharedWorkspaceLocking {
|
|||
if (lockId !== ``) {
|
||||
yield SharedWorkspaceLocking.LockWorkspace(workspace, lockId, buildParametersContext);
|
||||
}
|
||||
if (yield SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
||||
throw new Error(`${workspace} already exists`);
|
||||
}
|
||||
const timestamp = Date.now();
|
||||
const file = `${timestamp}_${workspace}_workspace`;
|
||||
fs.writeFileSync(file, '');
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -84,7 +84,7 @@ class CloudRunner {
|
|||
await CloudRunner.setup(buildParameters);
|
||||
try {
|
||||
if (buildParameters.retainWorkspace) {
|
||||
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
|
||||
CloudRunner.lockedWorkspace = SharedWorkspaceLocking.NewWorkspaceName();
|
||||
|
||||
const result = await SharedWorkspaceLocking.GetOrCreateLockedWorkspace(
|
||||
CloudRunner.lockedWorkspace,
|
||||
|
|
|
@ -30,6 +30,10 @@ export class SharedWorkspaceLocking {
|
|||
|
||||
return lines.map((x) => x.replace(`/`, ``)).includes(buildParametersContext.cacheKey);
|
||||
}
|
||||
|
||||
public static NewWorkspaceName() {
|
||||
return `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
|
||||
}
|
||||
public static async GetAllLocksForWorkspace(
|
||||
workspace: string,
|
||||
buildParametersContext: BuildParameters,
|
||||
|
@ -71,6 +75,11 @@ export class SharedWorkspaceLocking {
|
|||
}
|
||||
}
|
||||
|
||||
if (await SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
||||
workspace = SharedWorkspaceLocking.NewWorkspaceName();
|
||||
CloudRunner.lockedWorkspace = workspace;
|
||||
}
|
||||
|
||||
const createResult = await SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
|
||||
const lockResult = await SharedWorkspaceLocking.LockWorkspace(workspace, runId, buildParametersContext);
|
||||
CloudRunnerLogger.log(
|
||||
|
@ -204,6 +213,9 @@ export class SharedWorkspaceLocking {
|
|||
if (lockId !== ``) {
|
||||
await SharedWorkspaceLocking.LockWorkspace(workspace, lockId, buildParametersContext);
|
||||
}
|
||||
if (await SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext)) {
|
||||
throw new Error(`${workspace} already exists`);
|
||||
}
|
||||
const timestamp = Date.now();
|
||||
const file = `${timestamp}_${workspace}_workspace`;
|
||||
fs.writeFileSync(file, '');
|
||||
|
|
Loading…
Reference in New Issue