From f501336da5cde57cf79b379dc68a6872265d5f79 Mon Sep 17 00:00:00 2001 From: Frostebite Date: Sun, 12 Feb 2023 05:08:21 +0000 Subject: [PATCH] fix --- .github/workflows/cloud-runner-pipeline.yml | 42 +++++++--------- ...g.test.ts => cloud-runner-caching.test.ts} | 0 ...loud-runner-environment-serializer.test.ts | 45 ----------------- ...st.ts => cloud-runner-environment.test.ts} | 50 ++++++++++++++++--- ...oks.test.ts => cloud-runner-hooks.test.ts} | 0 ...=> cloud-runner-local-persistence.test.ts} | 0 ...ocking.test.ts => cloud-runner-locking.ts} | 0 ....test.ts => cloud-runner-s3-steps.test.ts} | 0 .../cloud-runner-end2end-caching.test.ts} | 14 +++--- .../cloud-runner-end2end-retaining.test.ts} | 18 +++---- 10 files changed, 77 insertions(+), 92 deletions(-) rename src/model/cloud-runner/tests/{cloud-runner-remote-client-caching.test.ts => cloud-runner-caching.test.ts} (100%) delete mode 100644 src/model/cloud-runner/tests/cloud-runner-environment-serializer.test.ts rename src/model/cloud-runner/tests/{cloud-runner-sync-environment.test.ts => cloud-runner-environment.test.ts} (66%) rename src/model/cloud-runner/tests/{cloud-runner-run-once-custom-hooks.test.ts => cloud-runner-hooks.test.ts} (100%) rename src/model/cloud-runner/tests/{cloud-runner-local-docker-persistence.test.ts => cloud-runner-local-persistence.test.ts} (100%) rename src/model/cloud-runner/tests/{shared-workspace-locking.test.ts => cloud-runner-locking.ts} (100%) rename src/model/cloud-runner/tests/{cloud-runner-s3-prebuilt-steps.test.ts => cloud-runner-s3-steps.test.ts} (100%) rename src/model/cloud-runner/tests/{cloud-runner-run-twice-caching.test.ts => e2e/cloud-runner-end2end-caching.test.ts} (89%) rename src/model/cloud-runner/tests/{cloud-runner-run-twice-retaining.test.ts => e2e/cloud-runner-end2end-retaining.test.ts} (87%) diff --git a/.github/workflows/cloud-runner-pipeline.yml b/.github/workflows/cloud-runner-pipeline.yml index b65237ba..00740e05 100644 --- a/.github/workflows/cloud-runner-pipeline.yml +++ b/.github/workflows/cloud-runner-pipeline.yml @@ -43,8 +43,14 @@ jobs: fail-fast: false matrix: test: - - "cloud-runner-async-workflow" - - "cloud-runner-local-docker-persistence" + - 'cloud-runner-async-workflow' + - 'cloud-runner-caching' + - 'cloud-runner-end2end-caching' + - 'cloud-runner-end2end-retaining' + - 'cloud-runner-environment' + - 'cloud-runner-hooks' + - 'cloud-runner-local-persistence' + - 'cloud-runner-locking' cloudRunnerCluster: - local-docker steps: @@ -52,25 +58,6 @@ jobs: uses: actions/checkout@v2 with: lfs: false - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: eu-west-2 - - uses: google-github-actions/auth@v1 - if: matrix.CloudRunnerCluster == 'k8s' - with: - credentials_json: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }} - - name: 'Set up Cloud SDK' - if: matrix.CloudRunnerCluster == 'k8s' - uses: 'google-github-actions/setup-gcloud@v1' - - name: Get GKE cluster credentials - if: matrix.CloudRunnerCluster == 'k8s' - run: | - export USE_GKE_GCLOUD_AUTH_PLUGIN=True - gcloud components install gke-gcloud-auth-plugin - gcloud container clusters get-credentials $GKE_CLUSTER --zone $GKE_ZONE --project $GKE_PROJECT - run: yarn - run: yarn run test "${{ matrix.test }}" --detectOpenHandles --forceExit --runInBand timeout-minutes: 15 @@ -89,6 +76,15 @@ jobs: strategy: fail-fast: false matrix: + test: + - 'cloud-runner-async-workflow' + - 'cloud-runner-caching' + - 'cloud-runner-end2end-caching' + - 'cloud-runner-end2end-retaining' + - 'cloud-runner-environment' + - 'cloud-runner-hooks' + - 'cloud-runner-local-persistence' + - 'cloud-runner-locking' cloudRunnerCluster: - aws - local-docker @@ -118,8 +114,8 @@ jobs: gcloud components install gke-gcloud-auth-plugin gcloud container clusters get-credentials $GKE_CLUSTER --zone $GKE_ZONE --project $GKE_PROJECT - run: yarn - - run: yarn run test-i --detectOpenHandles --forceExit --runInBand - timeout-minutes: 180 + - run: yarn run test "${{ matrix.test }}" --detectOpenHandles --forceExit --runInBand + timeout-minutes: 15 env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} PROJECT_PATH: test-project diff --git a/src/model/cloud-runner/tests/cloud-runner-remote-client-caching.test.ts b/src/model/cloud-runner/tests/cloud-runner-caching.test.ts similarity index 100% rename from src/model/cloud-runner/tests/cloud-runner-remote-client-caching.test.ts rename to src/model/cloud-runner/tests/cloud-runner-caching.test.ts diff --git a/src/model/cloud-runner/tests/cloud-runner-environment-serializer.test.ts b/src/model/cloud-runner/tests/cloud-runner-environment-serializer.test.ts deleted file mode 100644 index 667ca439..00000000 --- a/src/model/cloud-runner/tests/cloud-runner-environment-serializer.test.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { BuildParameters } from '../..'; -import { TaskParameterSerializer } from '../services/task-parameter-serializer'; -import UnityVersioning from '../../unity-versioning'; -import { Cli } from '../../cli/cli'; -import GitHub from '../../github'; -import setups from './cloud-runner-suite.test'; - -async function CreateParameters(overrides) { - if (overrides) { - Cli.options = overrides; - } - const originalValue = GitHub.githubInputEnabled; - GitHub.githubInputEnabled = false; - const results = await BuildParameters.create(); - GitHub.githubInputEnabled = originalValue; - delete Cli.options; - - return results; -} -describe('Cloud Runner Environment Serializer', () => { - setups(); - const testSecretName = 'testSecretName'; - const testSecretValue = 'testSecretValue'; - it('Cloud Runner Parameter Serialization', async () => { - // Setup parameters - const buildParameter = await CreateParameters({ - versioning: 'None', - projectPath: 'test-project', - unityVersion: UnityVersioning.read('test-project'), - customJob: ` - - name: 'step 1' - image: 'alpine' - commands: 'printenv' - secrets: - - name: '${testSecretName}' - value: '${testSecretValue}' - `, - }); - - const result = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter); - expect(result.find((x) => Number.parseInt(x.name)) !== undefined).toBeFalsy(); - const result2 = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter); - expect(result2.find((x) => Number.parseInt(x.name)) !== undefined).toBeFalsy(); - }); -}); diff --git a/src/model/cloud-runner/tests/cloud-runner-sync-environment.test.ts b/src/model/cloud-runner/tests/cloud-runner-environment.test.ts similarity index 66% rename from src/model/cloud-runner/tests/cloud-runner-sync-environment.test.ts rename to src/model/cloud-runner/tests/cloud-runner-environment.test.ts index 2368d25e..ad282722 100644 --- a/src/model/cloud-runner/tests/cloud-runner-sync-environment.test.ts +++ b/src/model/cloud-runner/tests/cloud-runner-environment.test.ts @@ -1,19 +1,26 @@ -import { BuildParameters, ImageTag } from '../..'; -import CloudRunner from '../cloud-runner'; -import Input from '../../input'; -import { CloudRunnerStatics } from '../cloud-runner-statics'; +import { BuildParameters, CloudRunner, ImageTag, Input } from '../..'; import { TaskParameterSerializer } from '../services/task-parameter-serializer'; import UnityVersioning from '../../unity-versioning'; import { Cli } from '../../cli/cli'; -import CloudRunnerLogger from '../services/cloud-runner-logger'; -import CloudRunnerOptions from '../cloud-runner-options'; +import GitHub from '../../github'; import setups from './cloud-runner-suite.test'; +import { CloudRunnerStatics } from '../cloud-runner-statics'; +import CloudRunnerOptions from '../cloud-runner-options'; +import CloudRunnerLogger from '../services/cloud-runner-logger'; async function CreateParameters(overrides) { - if (overrides) Cli.options = overrides; + if (overrides) { + Cli.options = overrides; + } + const originalValue = GitHub.githubInputEnabled; + GitHub.githubInputEnabled = false; + const results = await BuildParameters.create(); + GitHub.githubInputEnabled = originalValue; + delete Cli.options; - return BuildParameters.create(); + return results; } + describe('Cloud Runner Sync Environments', () => { setups(); const testSecretName = 'testSecretName'; @@ -75,3 +82,30 @@ describe('Cloud Runner Sync Environments', () => { }, 1_000_000_000); } }); + +describe('Cloud Runner Environment Serializer', () => { + setups(); + const testSecretName = 'testSecretName'; + const testSecretValue = 'testSecretValue'; + it('Cloud Runner Parameter Serialization', async () => { + // Setup parameters + const buildParameter = await CreateParameters({ + versioning: 'None', + projectPath: 'test-project', + unityVersion: UnityVersioning.read('test-project'), + customJob: ` + - name: 'step 1' + image: 'alpine' + commands: 'printenv' + secrets: + - name: '${testSecretName}' + value: '${testSecretValue}' + `, + }); + + const result = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter); + expect(result.find((x) => Number.parseInt(x.name)) !== undefined).toBeFalsy(); + const result2 = TaskParameterSerializer.createCloudRunnerEnvironmentVariables(buildParameter); + expect(result2.find((x) => Number.parseInt(x.name)) !== undefined).toBeFalsy(); + }); +}); diff --git a/src/model/cloud-runner/tests/cloud-runner-run-once-custom-hooks.test.ts b/src/model/cloud-runner/tests/cloud-runner-hooks.test.ts similarity index 100% rename from src/model/cloud-runner/tests/cloud-runner-run-once-custom-hooks.test.ts rename to src/model/cloud-runner/tests/cloud-runner-hooks.test.ts diff --git a/src/model/cloud-runner/tests/cloud-runner-local-docker-persistence.test.ts b/src/model/cloud-runner/tests/cloud-runner-local-persistence.test.ts similarity index 100% rename from src/model/cloud-runner/tests/cloud-runner-local-docker-persistence.test.ts rename to src/model/cloud-runner/tests/cloud-runner-local-persistence.test.ts diff --git a/src/model/cloud-runner/tests/shared-workspace-locking.test.ts b/src/model/cloud-runner/tests/cloud-runner-locking.ts similarity index 100% rename from src/model/cloud-runner/tests/shared-workspace-locking.test.ts rename to src/model/cloud-runner/tests/cloud-runner-locking.ts diff --git a/src/model/cloud-runner/tests/cloud-runner-s3-prebuilt-steps.test.ts b/src/model/cloud-runner/tests/cloud-runner-s3-steps.test.ts similarity index 100% rename from src/model/cloud-runner/tests/cloud-runner-s3-prebuilt-steps.test.ts rename to src/model/cloud-runner/tests/cloud-runner-s3-steps.test.ts diff --git a/src/model/cloud-runner/tests/cloud-runner-run-twice-caching.test.ts b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-caching.test.ts similarity index 89% rename from src/model/cloud-runner/tests/cloud-runner-run-twice-caching.test.ts rename to src/model/cloud-runner/tests/e2e/cloud-runner-end2end-caching.test.ts index d93551b6..4366b55e 100644 --- a/src/model/cloud-runner/tests/cloud-runner-run-twice-caching.test.ts +++ b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-caching.test.ts @@ -1,11 +1,11 @@ -import CloudRunner from '../cloud-runner'; -import { BuildParameters, ImageTag } from '../..'; -import UnityVersioning from '../../unity-versioning'; -import { Cli } from '../../cli/cli'; -import CloudRunnerLogger from '../services/cloud-runner-logger'; +import CloudRunner from '../../cloud-runner'; +import { BuildParameters, ImageTag } from '../../..'; +import UnityVersioning from '../../../unity-versioning'; +import { Cli } from '../../../cli/cli'; +import CloudRunnerLogger from '../../services/cloud-runner-logger'; import { v4 as uuidv4 } from 'uuid'; -import CloudRunnerOptions from '../cloud-runner-options'; -import setups from './cloud-runner-suite.test'; +import CloudRunnerOptions from '../../cloud-runner-options'; +import setups from '../cloud-runner-suite.test'; import * as fs from 'fs'; async function CreateParameters(overrides) { diff --git a/src/model/cloud-runner/tests/cloud-runner-run-twice-retaining.test.ts b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-retaining.test.ts similarity index 87% rename from src/model/cloud-runner/tests/cloud-runner-run-twice-retaining.test.ts rename to src/model/cloud-runner/tests/e2e/cloud-runner-end2end-retaining.test.ts index 5582459a..ea516e85 100644 --- a/src/model/cloud-runner/tests/cloud-runner-run-twice-retaining.test.ts +++ b/src/model/cloud-runner/tests/e2e/cloud-runner-end2end-retaining.test.ts @@ -1,15 +1,15 @@ -import CloudRunner from '../cloud-runner'; -import { ImageTag } from '../..'; -import UnityVersioning from '../../unity-versioning'; -import CloudRunnerLogger from '../services/cloud-runner-logger'; +import CloudRunner from '../../cloud-runner'; +import { ImageTag } from '../../..'; +import UnityVersioning from '../../../unity-versioning'; +import CloudRunnerLogger from '../../services/cloud-runner-logger'; import { v4 as uuidv4 } from 'uuid'; -import CloudRunnerOptions from '../cloud-runner-options'; -import setups from './cloud-runner-suite.test'; +import CloudRunnerOptions from '../../cloud-runner-options'; +import setups from './../cloud-runner-suite.test'; import * as fs from 'fs'; import path from 'path'; -import { CloudRunnerFolders } from '../services/cloud-runner-folders'; -import SharedWorkspaceLocking from '../services/shared-workspace-locking'; -import { CreateParameters } from './create-test-parameter'; +import { CloudRunnerFolders } from '../../services/cloud-runner-folders'; +import SharedWorkspaceLocking from '../../services/shared-workspace-locking'; +import { CreateParameters } from '../create-test-parameter'; describe('Cloud Runner Retain Workspace', () => { it('Responds', () => {});