name: cloud-runner-integrity on: workflow_call: inputs: runGithubIntegrationTests: description: 'Run GitHub Checks integration tests' required: false default: 'false' type: string permissions: checks: write contents: read actions: write packages: read pull-requests: write statuses: write id-token: write env: AWS_REGION: eu-west-2 AWS_DEFAULT_REGION: eu-west-2 AWS_STACK_NAME: game-ci-team-pipelines CLOUD_RUNNER_BRANCH: ${{ github.ref }} DEBUG: true PROJECT_PATH: test-project USE_IL2CPP: false jobs: localstack-and-k8s: name: Cloud Runner Tests (LocalStack + K8s) runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: # Local Docker runs (fast path without cluster) - test: 'cloud-runner-end2end-locking' provider: local-docker - test: 'cloud-runner-end2end-caching' provider: local-docker - test: 'cloud-runner-end2end-retaining' provider: local-docker - test: 'cloud-runner-caching' provider: local-docker - test: 'cloud-runner-environment' provider: local-docker - test: 'cloud-runner-image' provider: local-docker - test: 'cloud-runner-hooks' provider: local-docker - test: 'cloud-runner-local-persistence' provider: local-docker - test: 'cloud-runner-locking-core' provider: local-docker - test: 'cloud-runner-locking-get-locked' provider: local-docker # K8s runs (k3s) - test: 'cloud-runner-end2end-caching' provider: k8s - test: 'cloud-runner-end2end-retaining' provider: k8s - test: 'cloud-runner-hooks' provider: k8s steps: - uses: actions/checkout@v4 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: ${{ env.AWS_REGION }} - uses: actions/setup-node@v4 with: node-version: 20 cache: 'yarn' - run: yarn install --frozen-lockfile - run: yarn run test "${{ matrix.test }}" --detectOpenHandles --forceExit --runInBand timeout-minutes: 60 env: UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }} PROJECT_PATH: test-project TARGET_PLATFORM: StandaloneWindows64 cloudRunnerTests: true versioning: None KUBE_STORAGE_CLASS: ${{ matrix.provider == 'k8s' && 'local-path' || '' }} PROVIDER_STRATEGY: ${{ matrix.provider }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} GIT_PRIVATE_TOKEN: ${{ secrets.GIT_PRIVATE_TOKEN }} GITHUB_TOKEN: ${{ secrets.GIT_PRIVATE_TOKEN }} aws: name: Cloud Runner Tests (AWS) runs-on: ubuntu-latest needs: [localstack-and-k8s] strategy: fail-fast: false matrix: test: - 'cloud-runner-end2end-caching' - 'cloud-runner-end2end-retaining' - 'cloud-runner-hooks' steps: - uses: actions/checkout@v4 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: ${{ env.AWS_REGION }} - uses: actions/setup-node@v4 with: node-version: 20 cache: 'yarn' - run: yarn install --frozen-lockfile - run: yarn run test "${{ matrix.test }}" --detectOpenHandles --forceExit --runInBand timeout-minutes: 60 env: UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }} PROJECT_PATH: test-project TARGET_PLATFORM: StandaloneWindows64 cloudRunnerTests: true versioning: None PROVIDER_STRATEGY: aws AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} GIT_PRIVATE_TOKEN: ${{ secrets.GIT_PRIVATE_TOKEN }} GITHUB_TOKEN: ${{ secrets.GIT_PRIVATE_TOKEN }}