diff --git a/dist/index.js b/dist/index.js index c6f24723..ffc84538 100644 Binary files a/dist/index.js and b/dist/index.js differ diff --git a/dist/index.js.map b/dist/index.js.map index 05a8baba..e94fb95e 100644 Binary files a/dist/index.js.map and b/dist/index.js.map differ diff --git a/src/model/cli/cli.ts b/src/model/cli/cli.ts index 458a8a89..739154a6 100644 --- a/src/model/cli/cli.ts +++ b/src/model/cli/cli.ts @@ -109,7 +109,7 @@ export class Cli { const buildParameter = await BuildParameters.create(); const baseImage = new ImageTag(buildParameter); - return await CloudRunner.run(buildParameter, baseImage.toString()); + return (await CloudRunner.run(buildParameter, baseImage.toString())).BuildResults; } @CliFunction(`async-workflow`, `runs a cloud runner build`) @@ -118,7 +118,7 @@ export class Cli { const baseImage = new ImageTag(buildParameter); await CloudRunner.setup(buildParameter); - return await CloudRunner.run(buildParameter, baseImage.toString()); + return (await CloudRunner.run(buildParameter, baseImage.toString())).BuildResults; } @CliFunction(`checks-update`, `runs a cloud runner build`) diff --git a/src/model/cloud-runner/cloud-runner.ts b/src/model/cloud-runner/cloud-runner.ts index 5c9b7dae..98c55a58 100644 --- a/src/model/cloud-runner/cloud-runner.ts +++ b/src/model/cloud-runner/cloud-runner.ts @@ -16,6 +16,7 @@ import LocalDockerCloudRunner from './providers/docker'; import GitHub from '../github'; import SharedWorkspaceLocking from './services/core/shared-workspace-locking'; import { FollowLogStreamService } from './services/core/follow-log-stream-service'; +import CloudRunnerResult from './services/core/cloud-runner-result'; class CloudRunner { public static Provider: ProviderInterface; @@ -159,7 +160,7 @@ class CloudRunner { CloudRunner.Provider.garbageCollect(``, true, buildParameters.garbageMaxAge, true, true); } - return output; + return new CloudRunnerResult(buildParameters, output, true, true, false); } catch (error: any) { CloudRunnerLogger.log(JSON.stringify(error, undefined, 4)); await GitHub.updateGitHubCheck( diff --git a/src/model/cloud-runner/services/core/cloud-runner-result.ts b/src/model/cloud-runner/services/core/cloud-runner-result.ts new file mode 100644 index 00000000..10f89724 --- /dev/null +++ b/src/model/cloud-runner/services/core/cloud-runner-result.ts @@ -0,0 +1,24 @@ +import BuildParameters from '../../../build-parameters'; + +class CloudRunnerResult { + public BuildParameters: BuildParameters; + public BuildResults: string; + public BuildSucceeded: boolean; + public BuildFinished: boolean; + public LibraryCacheUsed: boolean; + + public constructor( + buildParameters: BuildParameters, + buildResults: string, + buildSucceeded: boolean, + buildFinished: boolean, + libraryCacheUsed: boolean, + ) { + this.BuildParameters = buildParameters; + this.BuildResults = buildResults; + this.BuildSucceeded = buildSucceeded; + this.BuildFinished = buildFinished; + this.LibraryCacheUsed = libraryCacheUsed; + } +} +export default CloudRunnerResult; diff --git a/src/model/cloud-runner/tests/cloud-runner-environment.test.ts b/src/model/cloud-runner/tests/cloud-runner-environment.test.ts index a9d6b526..7ef6a154 100644 --- a/src/model/cloud-runner/tests/cloud-runner-environment.test.ts +++ b/src/model/cloud-runner/tests/cloud-runner-environment.test.ts @@ -50,7 +50,7 @@ describe('Cloud Runner Sync Environments', () => { } // Run the job - const file = await CloudRunner.run(buildParameter, baseImage.toString()); + const file = (await CloudRunner.run(buildParameter, baseImage.toString())).BuildResults; // Assert results // expect(file).toContain(JSON.stringify(buildParameter)); diff --git a/src/model/cloud-runner/tests/cloud-runner-hooks.test.ts b/src/model/cloud-runner/tests/cloud-runner-hooks.test.ts index 058b4fe1..cb849aaa 100644 --- a/src/model/cloud-runner/tests/cloud-runner-hooks.test.ts +++ b/src/model/cloud-runner/tests/cloud-runner-hooks.test.ts @@ -97,7 +97,8 @@ commands: echo "test"`; }; const buildParameter2 = await CreateParameters(overrides); const baseImage2 = new ImageTag(buildParameter2); - const results2 = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2Object = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2 = results2Object.BuildResults; CloudRunnerLogger.log(`run 2 succeeded`); const buildContainsBuildSucceeded = results2.includes('Build succeeded'); diff --git a/src/model/cloud-runner/tests/cloud-runner-s3-steps.test.ts b/src/model/cloud-runner/tests/cloud-runner-s3-steps.test.ts index e17d9bda..703a7f32 100644 --- a/src/model/cloud-runner/tests/cloud-runner-s3-steps.test.ts +++ b/src/model/cloud-runner/tests/cloud-runner-s3-steps.test.ts @@ -32,7 +32,8 @@ describe('Cloud Runner pre-built S3 steps', () => { }; const buildParameter2 = await CreateParameters(overrides); const baseImage2 = new ImageTag(buildParameter2); - const results2 = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2Object = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2 = results2Object.BuildResults; CloudRunnerLogger.log(`run 2 succeeded`); const build2ContainsBuildSucceeded = results2.includes('Build succeeded'); diff --git a/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-caching.test.ts b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-caching.test.ts index 81a95aca..eec38243 100644 --- a/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-caching.test.ts +++ b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-caching.test.ts @@ -64,7 +64,8 @@ describe('Cloud Runner Caching', () => { buildParameter2.cacheKey = buildParameter.cacheKey; const baseImage2 = new ImageTag(buildParameter2); - const results2 = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2Object = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2 = results2Object.BuildResults; CloudRunnerLogger.log(`run 2 succeeded`); const build2ContainsCacheKey = results2.includes(buildParameter.cacheKey); @@ -78,7 +79,7 @@ describe('Cloud Runner Caching', () => { expect(build2ContainsCacheKey).toBeTruthy(); expect(results2).toContain('Activation successful'); - expect(results2.split('Activation successful')[1]).toContain(libraryString); + expect(results2.split('Activation successful')[1]).not.toContain(libraryString); expect(build2ContainsBuildSucceeded).toBeTruthy(); expect(build2NotContainsZeroLibraryCacheFilesMessage).toBeTruthy(); expect(build2NotContainsZeroLFSCacheFilesMessage).toBeTruthy(); diff --git a/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-retaining.test.ts b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-retaining.test.ts index c0b63ec7..b88940a4 100644 --- a/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-retaining.test.ts +++ b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-retaining.test.ts @@ -51,7 +51,8 @@ describe('Cloud Runner Retain Workspace', () => { buildParameter2.cacheKey = buildParameter.cacheKey; const baseImage2 = new ImageTag(buildParameter2); - const results2 = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2Object = await CloudRunner.run(buildParameter2, baseImage2.toString()); + const results2 = results2Object.BuildResults; CloudRunnerLogger.log(`run 2 succeeded`); const build2ContainsCacheKey = results2.includes(buildParameter.cacheKey);