pull/496/head
Frostebite 2023-02-12 03:34:34 +00:00
parent 29ae2e4659
commit d7059f7206
3 changed files with 11 additions and 6 deletions

View File

@ -5,10 +5,10 @@ import CloudRunnerOptions from '../cloud-runner-options';
import BuildParameters from '../../build-parameters'; import BuildParameters from '../../build-parameters';
import CloudRunner from '../cloud-runner'; import CloudRunner from '../cloud-runner';
export class SharedWorkspaceLocking { export class SharedWorkspaceLocking {
private static get workspaceBucketRoot() { public static get workspaceBucketRoot() {
return `s3://${CloudRunner.buildParameters.awsBaseStackName}/`; return `s3://${CloudRunner.buildParameters.awsBaseStackName}/`;
} }
private static get workspaceRoot() { public static get workspaceRoot() {
return `${SharedWorkspaceLocking.workspaceBucketRoot}locks/`; return `${SharedWorkspaceLocking.workspaceBucketRoot}locks/`;
} }
public static async GetAllWorkspaces(buildParametersContext: BuildParameters): Promise<string[]> { public static async GetAllWorkspaces(buildParametersContext: BuildParameters): Promise<string[]> {
@ -281,7 +281,7 @@ export class SharedWorkspaceLocking {
); );
} }
private static async ReadLines(command: string): Promise<string[]> { public static async ReadLines(command: string): Promise<string[]> {
return CloudRunnerSystem.RunAndReadLines(command); return CloudRunnerSystem.RunAndReadLines(command);
} }
} }

View File

@ -6,7 +6,6 @@ import setups from './cloud-runner-suite.test';
import fs from 'fs'; import fs from 'fs';
import { CreateParameters } from './create-test-parameter'; import { CreateParameters } from './create-test-parameter';
import CloudRunnerLogger from '../services/cloud-runner-logger'; import CloudRunnerLogger from '../services/cloud-runner-logger';
import { CloudRunnerSystem } from '../services/cloud-runner-system';
describe('Cloud Runner Local Docker Workflows', () => { describe('Cloud Runner Local Docker Workflows', () => {
setups(); setups();
@ -15,7 +14,6 @@ describe('Cloud Runner Local Docker Workflows', () => {
if (CloudRunnerOptions.cloudRunnerCluster === `local-docker`) { if (CloudRunnerOptions.cloudRunnerCluster === `local-docker`) {
it('inspect stateful folder of Workflows', async () => { it('inspect stateful folder of Workflows', async () => {
const testValue = `the state in a job exits in the expected local-docker folder`; const testValue = `the state in a job exits in the expected local-docker folder`;
await CloudRunnerSystem.Run(`echo "${testValue}" >> ./cloud-runner-cache/test-in-state.txt`);
// Setup parameters // Setup parameters
const buildParameter = await CreateParameters({ const buildParameter = await CreateParameters({
@ -25,7 +23,7 @@ describe('Cloud Runner Local Docker Workflows', () => {
customJob: ` customJob: `
- name: 'step 1' - name: 'step 1'
image: 'ubuntu' image: 'ubuntu'
commands: 'ls /data/ && cat /data/test-in-state.txt >> /data/test-out-state.txt' commands: 'echo "${testValue}" >> /data/test-out-state.txt'
`, `,
}); });
const baseImage = new ImageTag(buildParameter); const baseImage = new ImageTag(buildParameter);

View File

@ -44,6 +44,13 @@ describe('Cloud Runner Locking', () => {
CloudRunnerLogger.log( CloudRunnerLogger.log(
await (await SharedWorkspaceLocking.GetAllLocks(newWorkspaceName, buildParameters)).join(`,`), await (await SharedWorkspaceLocking.GetAllLocks(newWorkspaceName, buildParameters)).join(`,`),
); );
CloudRunnerLogger.log(
(
await SharedWorkspaceLocking.ReadLines(
`aws s3 ls ${SharedWorkspaceLocking.workspaceRoot}${buildParameters.cacheKey}/`,
)
).join(`,`),
);
const isExpectedLockedAfterLocking = const isExpectedLockedAfterLocking =
(await SharedWorkspaceLocking.IsWorkspaceLocked(newWorkspaceName, buildParameters)) === true; (await SharedWorkspaceLocking.IsWorkspaceLocked(newWorkspaceName, buildParameters)) === true;
expect(isExpectedLockedAfterLocking).toBeTruthy(); expect(isExpectedLockedAfterLocking).toBeTruthy();