Better locking

pull/461/head
Frostebite 2022-09-29 21:38:19 +01:00
parent 3a5400080b
commit 1beee459f2
3 changed files with 17 additions and 9 deletions

6
dist/index.js vendored
View File

@ -4999,6 +4999,8 @@ class BuildAutomationWorkflow {
// TODO accept post and pre build steps as yaml files in the repo
try {
cloud_runner_logger_1.default.log(`Cloud Runner is running standard build automation`);
const workspace = (yield shared_workspace_locking_1.default.GetLockedWorkspace(`test-workspace-${cloud_runner_1.default.buildParameters.buildGuid}`, cloud_runner_1.default.buildParameters.buildGuid)) || cloud_runner_1.default.buildParameters.buildGuid;
cloud_runner_logger_1.default.logLine(`Using workspace ${workspace}`);
if (!cloud_runner_1.default.buildParameters.isCliMode)
core.startGroup('pre build steps');
let output = '';
@ -5013,9 +5015,6 @@ class BuildAutomationWorkflow {
cloud_runner_logger_1.default.log(baseImage.toString());
cloud_runner_logger_1.default.logLine(` `);
cloud_runner_logger_1.default.logLine('Starting build automation job');
// eslint-disable-next-line no-unused-vars
const workspace = (yield shared_workspace_locking_1.default.GetLockedWorkspace(`test-workspace`, cloud_runner_1.default.buildParameters.buildGuid)) ||
cloud_runner_1.default.buildParameters.buildGuid;
output += yield cloud_runner_1.default.Provider.runTask(cloud_runner_1.default.buildParameters.buildGuid, baseImage.toString(), BuildAutomationWorkflow.BuildWorkflow, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}`, `/${cloud_runner_folders_1.CloudRunnerFolders.buildVolumeFolder}/`, cloudRunnerStepState.environment, cloudRunnerStepState.secrets);
if (!cloud_runner_1.default.buildParameters.isCliMode)
core.endGroup();
@ -5028,6 +5027,7 @@ class BuildAutomationWorkflow {
if (!cloud_runner_1.default.buildParameters.isCliMode)
core.endGroup();
cloud_runner_logger_1.default.logWithTime('Configurable post build step(s) time');
yield shared_workspace_locking_1.default.ReleaseWorkspace(`test-workspace-${cloud_runner_1.default.buildParameters.buildGuid}`, cloud_runner_1.default.buildParameters.buildGuid);
cloud_runner_logger_1.default.log(`Cloud Runner finished running standard build automation`);
return output;
}

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -24,6 +24,14 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
try {
CloudRunnerLogger.log(`Cloud Runner is running standard build automation`);
const workspace =
(await SharedWorkspaceLocking.GetLockedWorkspace(
`test-workspace-${CloudRunner.buildParameters.buildGuid}`,
CloudRunner.buildParameters.buildGuid,
)) || CloudRunner.buildParameters.buildGuid;
CloudRunnerLogger.logLine(`Using workspace ${workspace}`);
if (!CloudRunner.buildParameters.isCliMode) core.startGroup('pre build steps');
let output = '';
if (CloudRunner.buildParameters.preBuildSteps !== '') {
@ -41,11 +49,6 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
CloudRunnerLogger.logLine(` `);
CloudRunnerLogger.logLine('Starting build automation job');
// eslint-disable-next-line no-unused-vars
const workspace =
(await SharedWorkspaceLocking.GetLockedWorkspace(`test-workspace`, CloudRunner.buildParameters.buildGuid)) ||
CloudRunner.buildParameters.buildGuid;
output += await CloudRunner.Provider.runTask(
CloudRunner.buildParameters.buildGuid,
baseImage.toString(),
@ -69,6 +72,11 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
if (!CloudRunner.buildParameters.isCliMode) core.endGroup();
CloudRunnerLogger.logWithTime('Configurable post build step(s) time');
await SharedWorkspaceLocking.ReleaseWorkspace(
`test-workspace-${CloudRunner.buildParameters.buildGuid}`,
CloudRunner.buildParameters.buildGuid,
);
CloudRunnerLogger.log(`Cloud Runner finished running standard build automation`);
return output;