parameterize s3
parent
563193a61f
commit
a80ebf6ac7
|
|
@ -5537,15 +5537,10 @@ class SharedWorkspaceLocking {
|
||||||
}
|
}
|
||||||
static DoesWorkspaceTopLevelExist(buildParametersContext) {
|
static DoesWorkspaceTopLevelExist(buildParametersContext) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
|
||||||
yield SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceBucketRoot}`);
|
yield SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceBucketRoot}`);
|
||||||
return (yield SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}`))
|
return (yield SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}`))
|
||||||
.map((x) => x.replace(`/`, ``))
|
.map((x) => x.replace(`/`, ``))
|
||||||
.includes(buildParametersContext.cacheKey);
|
.includes(buildParametersContext.cacheKey);
|
||||||
}
|
|
||||||
catch (_a) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static GetAllLocks(workspace, buildParametersContext) {
|
static GetAllLocks(workspace, buildParametersContext) {
|
||||||
|
|
@ -5563,6 +5558,7 @@ class SharedWorkspaceLocking {
|
||||||
if (!cloud_runner_options_1.default.retainWorkspaces) {
|
if (!cloud_runner_options_1.default.retainWorkspaces) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
if (yield SharedWorkspaceLocking.DoesWorkspaceTopLevelExist(buildParametersContext)) {
|
if (yield SharedWorkspaceLocking.DoesWorkspaceTopLevelExist(buildParametersContext)) {
|
||||||
const workspaces = yield SharedWorkspaceLocking.GetFreeWorkspaces(buildParametersContext);
|
const workspaces = yield SharedWorkspaceLocking.GetFreeWorkspaces(buildParametersContext);
|
||||||
cloud_runner_logger_1.default.log(`run agent ${runId} is trying to access a workspace, free: ${JSON.stringify(workspaces)}`);
|
cloud_runner_logger_1.default.log(`run agent ${runId} is trying to access a workspace, free: ${JSON.stringify(workspaces)}`);
|
||||||
|
|
@ -5576,6 +5572,10 @@ class SharedWorkspaceLocking {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (_a) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const createResult = yield SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
|
const createResult = yield SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
|
||||||
cloud_runner_logger_1.default.log(`run agent ${runId} didn't find a free workspace so created: ${workspace} createWorkspaceSuccess: ${createResult}`);
|
cloud_runner_logger_1.default.log(`run agent ${runId} didn't find a free workspace so created: ${workspace} createWorkspaceSuccess: ${createResult}`);
|
||||||
return createResult;
|
return createResult;
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -23,15 +23,11 @@ export class SharedWorkspaceLocking {
|
||||||
).map((x) => x.replace(`/`, ``));
|
).map((x) => x.replace(`/`, ``));
|
||||||
}
|
}
|
||||||
public static async DoesWorkspaceTopLevelExist(buildParametersContext: BuildParameters) {
|
public static async DoesWorkspaceTopLevelExist(buildParametersContext: BuildParameters) {
|
||||||
try {
|
|
||||||
await SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceBucketRoot}`);
|
await SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceBucketRoot}`);
|
||||||
|
|
||||||
return (await SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}`))
|
return (await SharedWorkspaceLocking.ReadLines(`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}`))
|
||||||
.map((x) => x.replace(`/`, ``))
|
.map((x) => x.replace(`/`, ``))
|
||||||
.includes(buildParametersContext.cacheKey);
|
.includes(buildParametersContext.cacheKey);
|
||||||
} catch {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static async GetAllLocks(workspace: string, buildParametersContext: BuildParameters): Promise<string[]> {
|
public static async GetAllLocks(workspace: string, buildParametersContext: BuildParameters): Promise<string[]> {
|
||||||
if (!(await SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext))) {
|
if (!(await SharedWorkspaceLocking.DoesWorkspaceExist(workspace, buildParametersContext))) {
|
||||||
|
|
@ -54,9 +50,13 @@ export class SharedWorkspaceLocking {
|
||||||
if (!CloudRunnerOptions.retainWorkspaces) {
|
if (!CloudRunnerOptions.retainWorkspaces) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
if (await SharedWorkspaceLocking.DoesWorkspaceTopLevelExist(buildParametersContext)) {
|
if (await SharedWorkspaceLocking.DoesWorkspaceTopLevelExist(buildParametersContext)) {
|
||||||
const workspaces = await SharedWorkspaceLocking.GetFreeWorkspaces(buildParametersContext);
|
const workspaces = await SharedWorkspaceLocking.GetFreeWorkspaces(buildParametersContext);
|
||||||
CloudRunnerLogger.log(`run agent ${runId} is trying to access a workspace, free: ${JSON.stringify(workspaces)}`);
|
CloudRunnerLogger.log(
|
||||||
|
`run agent ${runId} is trying to access a workspace, free: ${JSON.stringify(workspaces)}`,
|
||||||
|
);
|
||||||
for (const element of workspaces) {
|
for (const element of workspaces) {
|
||||||
await new Promise((promise) => setTimeout(promise, 1000));
|
await new Promise((promise) => setTimeout(promise, 1000));
|
||||||
const lockResult = await SharedWorkspaceLocking.LockWorkspace(element, runId, buildParametersContext);
|
const lockResult = await SharedWorkspaceLocking.LockWorkspace(element, runId, buildParametersContext);
|
||||||
|
|
@ -69,6 +69,9 @@ export class SharedWorkspaceLocking {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const createResult = await SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
|
const createResult = await SharedWorkspaceLocking.CreateWorkspace(workspace, buildParametersContext, runId);
|
||||||
CloudRunnerLogger.log(
|
CloudRunnerLogger.log(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue