Only use locking in build workflow if retained workspaces is enabled

pull/461/head
Frostebite 2022-10-01 00:40:44 +01:00
parent 7bfb341904
commit 03aae52afe
3 changed files with 32 additions and 16 deletions

10
dist/index.js vendored
View File

@ -5012,8 +5012,14 @@ class BuildAutomationWorkflow {
// TODO accept post and pre build steps as yaml files in the repo // TODO accept post and pre build steps as yaml files in the repo
try { try {
cloud_runner_logger_1.default.log(`Cloud Runner is running standard build automation`); cloud_runner_logger_1.default.log(`Cloud Runner is running standard build automation`);
if (cloud_runner_options_1.default.retainWorkspaces) {
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; 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}`); cloud_runner_logger_1.default.logLine(`Using workspace ${workspace}`);
cloudRunnerStepState.environment = [
...cloudRunnerStepState.environment,
{ name: `LOCKED_WORKSPACE`, value: workspace },
];
}
if (!cloud_runner_1.default.buildParameters.isCliMode) if (!cloud_runner_1.default.buildParameters.isCliMode)
core.startGroup('pre build steps'); core.startGroup('pre build steps');
let output = ''; let output = '';
@ -5028,7 +5034,7 @@ class BuildAutomationWorkflow {
cloud_runner_logger_1.default.log(baseImage.toString()); cloud_runner_logger_1.default.log(baseImage.toString());
cloud_runner_logger_1.default.logLine(` `); cloud_runner_logger_1.default.logLine(` `);
cloud_runner_logger_1.default.logLine('Starting build automation job'); cloud_runner_logger_1.default.logLine('Starting build automation job');
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, { name: `LOCKED_WORKSPACE`, value: workspace }], cloudRunnerStepState.secrets); 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) if (!cloud_runner_1.default.buildParameters.isCliMode)
core.endGroup(); core.endGroup();
cloud_runner_logger_1.default.logWithTime('Build time'); cloud_runner_logger_1.default.logWithTime('Build time');
@ -5040,7 +5046,9 @@ class BuildAutomationWorkflow {
if (!cloud_runner_1.default.buildParameters.isCliMode) if (!cloud_runner_1.default.buildParameters.isCliMode)
core.endGroup(); core.endGroup();
cloud_runner_logger_1.default.logWithTime('Configurable post build step(s) time'); cloud_runner_logger_1.default.logWithTime('Configurable post build step(s) time');
if (cloud_runner_options_1.default.retainWorkspaces) {
yield shared_workspace_locking_1.default.ReleaseWorkspace(`test-workspace-${cloud_runner_1.default.buildParameters.buildGuid}`, cloud_runner_1.default.buildParameters.buildGuid); 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`); cloud_runner_logger_1.default.log(`Cloud Runner finished running standard build automation`);
return output; return output;
} }

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -24,6 +24,7 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
try { try {
CloudRunnerLogger.log(`Cloud Runner is running standard build automation`); CloudRunnerLogger.log(`Cloud Runner is running standard build automation`);
if (CloudRunnerOptions.retainWorkspaces) {
const workspace = const workspace =
(await SharedWorkspaceLocking.GetLockedWorkspace( (await SharedWorkspaceLocking.GetLockedWorkspace(
`test-workspace-${CloudRunner.buildParameters.buildGuid}`, `test-workspace-${CloudRunner.buildParameters.buildGuid}`,
@ -31,6 +32,11 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
)) || CloudRunner.buildParameters.buildGuid; )) || CloudRunner.buildParameters.buildGuid;
CloudRunnerLogger.logLine(`Using workspace ${workspace}`); CloudRunnerLogger.logLine(`Using workspace ${workspace}`);
cloudRunnerStepState.environment = [
...cloudRunnerStepState.environment,
{ name: `LOCKED_WORKSPACE`, value: workspace },
];
}
if (!CloudRunner.buildParameters.isCliMode) core.startGroup('pre build steps'); if (!CloudRunner.buildParameters.isCliMode) core.startGroup('pre build steps');
let output = ''; let output = '';
@ -55,7 +61,7 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
BuildAutomationWorkflow.BuildWorkflow, BuildAutomationWorkflow.BuildWorkflow,
`/${CloudRunnerFolders.buildVolumeFolder}`, `/${CloudRunnerFolders.buildVolumeFolder}`,
`/${CloudRunnerFolders.buildVolumeFolder}/`, `/${CloudRunnerFolders.buildVolumeFolder}/`,
[...cloudRunnerStepState.environment, { name: `LOCKED_WORKSPACE`, value: workspace }], cloudRunnerStepState.environment,
cloudRunnerStepState.secrets, cloudRunnerStepState.secrets,
); );
if (!CloudRunner.buildParameters.isCliMode) core.endGroup(); if (!CloudRunner.buildParameters.isCliMode) core.endGroup();
@ -72,10 +78,12 @@ export class BuildAutomationWorkflow implements WorkflowInterface {
if (!CloudRunner.buildParameters.isCliMode) core.endGroup(); if (!CloudRunner.buildParameters.isCliMode) core.endGroup();
CloudRunnerLogger.logWithTime('Configurable post build step(s) time'); CloudRunnerLogger.logWithTime('Configurable post build step(s) time');
if (CloudRunnerOptions.retainWorkspaces) {
await SharedWorkspaceLocking.ReleaseWorkspace( await SharedWorkspaceLocking.ReleaseWorkspace(
`test-workspace-${CloudRunner.buildParameters.buildGuid}`, `test-workspace-${CloudRunner.buildParameters.buildGuid}`,
CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters.buildGuid,
); );
}
CloudRunnerLogger.log(`Cloud Runner finished running standard build automation`); CloudRunnerLogger.log(`Cloud Runner finished running standard build automation`);