better startup and teardown for tests

pull/461/head
Frostebite 2022-09-17 05:09:36 +01:00
parent 51d46c2cc0
commit 5bf0ad0367
7 changed files with 40 additions and 25 deletions

14
dist/index.js vendored
View File

@ -632,18 +632,17 @@ class SharedWorkspaceLocking {
return element; return element;
} }
} }
return; yield SharedWorkspaceLocking.CreateLockableWorkspace(cloud_runner_1.default.buildParameters.buildGuid);
}); });
} }
static GetFreeWorkspaces() { static GetFreeWorkspaces() {
return ['test-workspace']; return [];
} }
static GetAllWorkspaces() { static GetAllWorkspaces() {
return []; return [];
} }
static LockWorkspace(workspace) { static LockWorkspace(workspace) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
// this job + date
const file = `${Date.now()}_${cloud_runner_1.default.buildParameters.buildGuid}_lock`; const file = `${Date.now()}_${cloud_runner_1.default.buildParameters.buildGuid}_lock`;
fs.writeFileSync(file, ''); fs.writeFileSync(file, '');
yield cloud_runner_system_1.CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`); yield cloud_runner_system_1.CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`);
@ -664,8 +663,13 @@ class SharedWorkspaceLocking {
} }
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
static IsWorkspaceLocked(workspace) { } static IsWorkspaceLocked(workspace) { }
// eslint-disable-next-line no-unused-vars static CreateLockableWorkspace(workspace) {
static CreateLockableWorkspace(workspace, locked = false) { } return __awaiter(this, void 0, void 0, function* () {
const file = `${Date.now()}_${cloud_runner_1.default.buildParameters.buildGuid}_workspace`;
fs.writeFileSync(file, '');
yield cloud_runner_system_1.CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`);
});
}
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
static ReleaseLock(workspace) { } static ReleaseLock(workspace) { }
} }

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -16,17 +16,16 @@ export class SharedWorkspaceLocking {
} }
} }
return; await SharedWorkspaceLocking.CreateLockableWorkspace(CloudRunner.buildParameters.buildGuid);
} }
public static GetFreeWorkspaces(): string[] { public static GetFreeWorkspaces(): string[] {
return ['test-workspace']; return [];
} }
public static GetAllWorkspaces(): string[] { public static GetAllWorkspaces(): string[] {
return []; return [];
} }
public static async LockWorkspace(workspace: string): Promise<boolean> { public static async LockWorkspace(workspace: string): Promise<boolean> {
// this job + date
const file = `${Date.now()}_${CloudRunner.buildParameters.buildGuid}_lock`; const file = `${Date.now()}_${CloudRunner.buildParameters.buildGuid}_lock`;
fs.writeFileSync(file, ''); fs.writeFileSync(file, '');
await CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`); await CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`);
@ -48,8 +47,12 @@ export class SharedWorkspaceLocking {
} }
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
public static IsWorkspaceLocked(workspace: string) {} public static IsWorkspaceLocked(workspace: string) {}
// eslint-disable-next-line no-unused-vars
public static CreateLockableWorkspace(workspace: string, locked: boolean = false) {} public static async CreateLockableWorkspace(workspace: string) {
const file = `${Date.now()}_${CloudRunner.buildParameters.buildGuid}_workspace`;
fs.writeFileSync(file, '');
await CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`);
}
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
public static ReleaseLock(workspace: string) {} public static ReleaseLock(workspace: string) {}
} }

View File

@ -7,19 +7,13 @@ import UnityVersioning from '../../unity-versioning';
import { Cli } from '../../cli/cli'; import { Cli } from '../../cli/cli';
import CloudRunnerLogger from '../services/cloud-runner-logger'; import CloudRunnerLogger from '../services/cloud-runner-logger';
import CloudRunnerOptions from '../cloud-runner-options'; import CloudRunnerOptions from '../cloud-runner-options';
import GitHub from '../../github';
async function CreateParameters(overrides) { async function CreateParameters(overrides) {
if (overrides) { if (overrides) {
Cli.options = overrides; Cli.options = overrides;
} }
const originalValue = GitHub.githubInputEnabled;
GitHub.githubInputEnabled = false;
const results = await BuildParameters.create();
GitHub.githubInputEnabled = originalValue;
delete Cli.options;
return results; return await BuildParameters.create();
} }
describe('Cloud Runner', () => { describe('Cloud Runner', () => {

View File

@ -5,19 +5,13 @@ import { Cli } from '../../cli/cli';
import CloudRunnerLogger from '../services/cloud-runner-logger'; import CloudRunnerLogger from '../services/cloud-runner-logger';
import { v4 as uuidv4 } from 'uuid'; import { v4 as uuidv4 } from 'uuid';
import CloudRunnerOptions from '../cloud-runner-options'; import CloudRunnerOptions from '../cloud-runner-options';
import GitHub from '../../github';
async function CreateParameters(overrides) { async function CreateParameters(overrides) {
if (overrides) { if (overrides) {
Cli.options = overrides; Cli.options = overrides;
} }
const originalValue = GitHub.githubInputEnabled;
GitHub.githubInputEnabled = false;
const results = await BuildParameters.create();
GitHub.githubInputEnabled = originalValue;
delete Cli.options;
return results; return await BuildParameters.create();
} }
describe('Cloud Runner Caching', () => { describe('Cloud Runner Caching', () => {

View File

@ -0,0 +1,16 @@
import { Cli } from '../../cli/cli';
import GitHub from '../../github';
describe('Cloud Runner', () => {
it('Responds', () => {});
beforeAll(() => {
GitHub.githubInputEnabled = false;
});
afterEach(() => {
if (Cli.options === undefined) {
delete Cli.options;
}
});
afterAll(() => {
GitHub.githubInputEnabled = true;
});
});

View File

@ -1,7 +1,11 @@
import SharedWorkspaceLocking from '../../cli/shared-workspace-locking'; import SharedWorkspaceLocking from '../../cli/shared-workspace-locking';
import { Cli } from '../../cli/cli';
describe('Cloud Runner', () => { describe('Cloud Runner', () => {
it('Locking', async () => { it('Locking', async () => {
Cli.options = {
retainWorkspaces: true,
};
await SharedWorkspaceLocking.IsWorkspaceLocked('test-workspace'); await SharedWorkspaceLocking.IsWorkspaceLocked('test-workspace');
}); });
}); });