async pipeline

pull/479/head
Frostebite 2022-12-15 01:00:54 +00:00
parent c85ab27403
commit 2b2c6e5518
4 changed files with 26 additions and 40 deletions

13
dist/index.js vendored
View File

@ -991,7 +991,6 @@ const local_1 = __importDefault(__nccwpck_require__(66575));
const docker_1 = __importDefault(__nccwpck_require__(42802));
const github_1 = __importDefault(__nccwpck_require__(83654));
const shared_workspace_locking_1 = __importDefault(__nccwpck_require__(87562));
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
class CloudRunner {
static setup(buildParameters) {
cloud_runner_logger_1.default.setup();
@ -1038,9 +1037,7 @@ class CloudRunner {
return __awaiter(this, void 0, void 0, function* () {
CloudRunner.setup(buildParameters);
try {
if (!cloud_runner_options_1.default.asyncCloudRunner) {
CloudRunner.githubCheckId = yield github_1.default.createGitHubCheck(CloudRunner.buildParameters.buildGuid);
}
if (buildParameters.retainWorkspace) {
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
const result = yield shared_workspace_locking_1.default.GetOrCreateLockedWorkspace(CloudRunner.lockedWorkspace, CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters);
@ -1062,11 +1059,8 @@ class CloudRunner {
yield CloudRunner.Provider.setupWorkflow(CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters, CloudRunner.buildParameters.branch, CloudRunner.defaultSecrets);
if (!CloudRunner.buildParameters.isCliMode)
core.endGroup();
if (!cloud_runner_options_1.default.asyncCloudRunner) {
yield github_1.default.updateGitHubCheck(CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters.buildGuid);
}
const output = yield new workflow_composition_root_1.WorkflowCompositionRoot().run(new cloud_runner_step_state_1.CloudRunnerStepState(baseImage, CloudRunner.cloudRunnerEnvironmentVariables, CloudRunner.defaultSecrets));
if (!cloud_runner_options_1.default.asyncCloudRunner) {
if (!CloudRunner.buildParameters.isCliMode)
core.startGroup('Cleanup shared cloud runner resources');
yield CloudRunner.Provider.cleanupWorkflow(CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters, CloudRunner.buildParameters.branch, CloudRunner.defaultSecrets);
@ -1074,7 +1068,6 @@ class CloudRunner {
if (!CloudRunner.buildParameters.isCliMode)
core.endGroup();
yield github_1.default.updateGitHubCheck(CloudRunner.buildParameters.buildGuid, `success`, `success`, `completed`);
}
if (CloudRunner.buildParameters.retainWorkspace) {
yield shared_workspace_locking_1.default.ReleaseWorkspace(CloudRunner.lockedWorkspace || ``, CloudRunner.buildParameters.buildGuid, CloudRunner.buildParameters);
CloudRunner.lockedWorkspace = undefined;
@ -1085,9 +1078,7 @@ class CloudRunner {
return output;
}
catch (error) {
if (!cloud_runner_options_1.default.asyncCloudRunner) {
yield github_1.default.updateGitHubCheck(CloudRunner.buildParameters.buildGuid, error, `failure`, `completed`);
}
if (!CloudRunner.buildParameters.isCliMode)
core.endGroup();
yield cloud_runner_error_1.CloudRunnerError.handleException(error, CloudRunner.buildParameters, CloudRunner.defaultSecrets);
@ -6341,7 +6332,7 @@ const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
class GitHub {
static createGitHubCheck(summary) {
return __awaiter(this, void 0, void 0, function* () {
if (!cloud_runner_options_1.default.githubChecksEnabled) {
if (!cloud_runner_options_1.default.githubChecksEnabled || cloud_runner_options_1.default.asyncCloudRunner) {
return ``;
}
const sha = cloud_runner_1.default.buildParameters.gitSha;
@ -6385,7 +6376,7 @@ class GitHub {
}
static updateGitHubCheck(longDescription, summary, result = `neutral`, status = `in_progress`) {
return __awaiter(this, void 0, void 0, function* () {
if (!cloud_runner_options_1.default.githubChecksEnabled) {
if (!cloud_runner_options_1.default.githubChecksEnabled || cloud_runner_options_1.default.asyncCloudRunner) {
return;
}
GitHub.longDescriptionContent += `\n${longDescription}`;

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -15,7 +15,6 @@ import LocalCloudRunner from './providers/local';
import LocalDockerCloudRunner from './providers/docker';
import GitHub from '../github';
import SharedWorkspaceLocking from './services/shared-workspace-locking';
import CloudRunnerOptions from './cloud-runner-options';
class CloudRunner {
public static Provider: ProviderInterface;
@ -76,9 +75,7 @@ class CloudRunner {
static async run(buildParameters: BuildParameters, baseImage: string) {
CloudRunner.setup(buildParameters);
try {
if (!CloudRunnerOptions.asyncCloudRunner) {
CloudRunner.githubCheckId = await GitHub.createGitHubCheck(CloudRunner.buildParameters.buildGuid);
}
if (buildParameters.retainWorkspace) {
CloudRunner.lockedWorkspace = `${CloudRunner.retainedWorkspacePrefix}-${CloudRunner.buildParameters.buildGuid}`;
@ -113,7 +110,6 @@ class CloudRunner {
const output = await new WorkflowCompositionRoot().run(
new CloudRunnerStepState(baseImage, CloudRunner.cloudRunnerEnvironmentVariables, CloudRunner.defaultSecrets),
);
if (!CloudRunnerOptions.asyncCloudRunner) {
if (!CloudRunner.buildParameters.isCliMode) core.startGroup('Cleanup shared cloud runner resources');
await CloudRunner.Provider.cleanupWorkflow(
CloudRunner.buildParameters.buildGuid,
@ -124,7 +120,6 @@ class CloudRunner {
CloudRunnerLogger.log(`Cleanup complete`);
if (!CloudRunner.buildParameters.isCliMode) core.endGroup();
await GitHub.updateGitHubCheck(CloudRunner.buildParameters.buildGuid, `success`, `success`, `completed`);
}
if (CloudRunner.buildParameters.retainWorkspace) {
await SharedWorkspaceLocking.ReleaseWorkspace(

View File

@ -10,7 +10,7 @@ class GitHub {
private static endedDate: string;
public static async createGitHubCheck(summary) {
if (!CloudRunnerOptions.githubChecksEnabled) {
if (!CloudRunnerOptions.githubChecksEnabled || CloudRunnerOptions.asyncCloudRunner) {
return ``;
}
const sha = CloudRunner.buildParameters.gitSha;
@ -57,7 +57,7 @@ class GitHub {
}
public static async updateGitHubCheck(longDescription, summary, result = `neutral`, status = `in_progress`) {
if (!CloudRunnerOptions.githubChecksEnabled) {
if (!CloudRunnerOptions.githubChecksEnabled || CloudRunnerOptions.asyncCloudRunner) {
return;
}
GitHub.longDescriptionContent += `\n${longDescription}`;