name: Cloud Runner - K8s Tests on: push: { branches: [cloud-runner-develop] } # push: { branches: [main] } # pull_request: # paths-ignore: # - '.github/**' env: GKE_ZONE: 'us-central1' GKE_REGION: 'us-central1' GKE_PROJECT: 'unitykubernetesbuilder' GKE_CLUSTER: 'game-ci-github-pipelines' GCP_LOGGING: true GCP_PROJECT: unitykubernetesbuilder GCP_LOG_FILE: ${{ github.workspace }}/cloud-runner-logs.txt AWS_REGION: eu-west-2 AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: eu-west-2 AWS_BASE_STACK_NAME: game-ci-github-pipelines CLOUD_RUNNER_BRANCH: ${{ github.ref }} CLOUD_RUNNER_TESTS: true DEBUG: true UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} jobs: k8sBuilds: name: K8s (GKE Autopilot) build for ${{ matrix.targetPlatform }} on version ${{ matrix.unityVersion }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: unityVersion: # - 2019.2.11f1 - 2019.3.15f1 targetPlatform: # - StandaloneWindows64 - StandaloneLinux64 steps: ########################### # Checkout # ########################### - uses: actions/checkout@v2 if: github.event.event_type != 'pull_request_target' with: lfs: true ########################### # Setup # ########################### - uses: google-github-actions/setup-gcloud@v0 with: version: '288.0.0' service_account_email: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_EMAIL }} service_account_key: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }} - name: Get GKE cluster credentials run: gcloud container clusters get-credentials $GKE_CLUSTER --zone $GKE_ZONE --project $GKE_PROJECT ########################### # Cloud Runner Test Suite # ########################### - uses: actions/setup-node@v2 with: node-version: 12.x - run: yarn - run: yarn run cli --help - run: yarn run test "caching" - name: Cloud Runner Test Suite run: yarn run test-i-k8s --detectOpenHandles --forceExit env: UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} PROJECT_PATH: ${{ matrix.projectPath }} TARGET_PLATFORM: ${{ matrix.targetPlatform }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} KUBE_CONFIG: ${{ steps.read-base64.outputs.base64 }} unityVersion: ${{ matrix.unityVersion }} cloudRunnerTests: true versioning: None ########################### # Cloud Runner Build Test # ########################### - name: Cloud Runner Build Test uses: ./ id: k8s-unity-build timeout-minutes: 30 with: cloudRunnerCluster: k8s UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} targetPlatform: ${{ matrix.targetPlatform }} kubeConfig: ${{ steps.read-base64.outputs.base64 }} githubToken: ${{ secrets.GITHUB_TOKEN }} projectPath: test-project unityVersion: ${{ matrix.unityVersion }} versioning: None postBuildSteps: | - name: upload image: amazon/aws-cli commands: | aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default aws configure set region $AWS_DEFAULT_REGION --profile default aws s3 ls aws s3 ls game-ci-test-storage ls /data/cache/$CACHE_KEY echo "/data/cache/$CACHE_KEY/build/build-$BUILD_GUID.tar s3://game-ci-test-storage/$CACHE_KEY/$BUILD_FILE" aws s3 cp /data/cache/$CACHE_KEY/build/build-$BUILD_GUID.tar s3://game-ci-test-storage/$CACHE_KEY/build-$BUILD_GUID.tar secrets: - name: awsAccessKeyId value: ${{ secrets.AWS_ACCESS_KEY_ID }} - name: awsSecretAccessKey value: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - name: awsDefaultRegion value: eu-west-2 - run: | aws s3 cp s3://game-ci-test-storage/${{ steps.k8s-unity-build.outputs.CACHE_KEY }}/build-${{ steps.k8s-unity-build.outputs.BUILD_GUID }}.tar build-${{ steps.k8s-unity-build.outputs.BUILD_GUID }}.tar ls ########################### # Upload # ########################### # download from cloud storage - uses: actions/upload-artifact@v2 with: name: K8s Build (${{ matrix.targetPlatform }}) path: build-${{ steps.k8s-unity-build.outputs.BUILD_GUID }}.tar retention-days: 14