|
| 1 | +substitutions: |
| 2 | + _GAE_SERVICE_ACCOUNT: appengine-testing-java@grpc-testing.iam.gserviceaccount.com |
| 3 | +options: |
| 4 | + env: |
| 5 | + - BUILD_ID=$BUILD_ID |
| 6 | + - KOKORO_GAE_SERVICE=java-gae-interop-test |
| 7 | + - DUMMY_DEFAULT_VERSION=dummy-default |
| 8 | + - GRADLE_OPTS=-Dorg.gradle.jvmargs='-Xmx1g' |
| 9 | + - GRADLE_FLAGS=-PskipCodegen=true -PskipAndroid=true |
| 10 | + logging: CLOUD_LOGGING_ONLY |
| 11 | + machineType: E2_HIGHCPU_8 |
| 12 | + |
| 13 | +steps: |
| 14 | +- id: clean-stale-deploys |
| 15 | + name: gcr.io/cloud-builders/gcloud |
| 16 | + allowFailure: true |
| 17 | + script: | |
| 18 | + #!/usr/bin/env bash |
| 19 | + set -e |
| 20 | + echo "Cleaning out stale deploys from previous runs, it is ok if this part fails" |
| 21 | + # If the test fails, the deployment is leaked. |
| 22 | + # Delete all versions whose name is not 'dummy-default' and is older than 1 hour. |
| 23 | + # This expression is an ISO8601 relative date: |
| 24 | + # https://cloud.google.com/sdk/gcloud/reference/topic/datetimes |
| 25 | + (gcloud app versions list --format="get(version.id)" \ |
| 26 | + --filter="service=$KOKORO_GAE_SERVICE AND NOT version : '$DUMMY_DEFAULT_VERSION' AND version.createTime<'-p1h'" \ |
| 27 | + | xargs -i gcloud app services delete "$KOKORO_GAE_SERVICE" --version {} --quiet) || true |
| 28 | +
|
| 29 | +- name: gcr.io/cloud-builders/docker |
| 30 | + args: ['build', '-t', 'gae-build', 'buildscripts/gae-build/'] |
| 31 | + |
| 32 | +- id: build |
| 33 | + name: gae-build |
| 34 | + script: | |
| 35 | + #!/usr/bin/env bash |
| 36 | + exec ./gradlew $GRADLE_FLAGS :grpc-gae-interop-testing-jdk8:appengineStage |
| 37 | +
|
| 38 | +- id: deploy |
| 39 | + name: gcr.io/cloud-builders/gcloud |
| 40 | + args: |
| 41 | + - app |
| 42 | + - deploy |
| 43 | + - gae-interop-testing/gae-jdk8/build/staged-app/app.yaml |
| 44 | + - --service-account=$_GAE_SERVICE_ACCOUNT |
| 45 | + - --no-promote |
| 46 | + - --no-stop-previous-version |
| 47 | + - --version=cb-$BUILD_ID |
| 48 | + |
| 49 | +- id: runInteropTestRemote |
| 50 | + name: eclipse-temurin:17-jdk |
| 51 | + env: |
| 52 | + - PROJECT_ID=$PROJECT_ID |
| 53 | + script: | |
| 54 | + #!/usr/bin/env bash |
| 55 | + exec ./gradlew $GRADLE_FLAGS --stacktrace -PgaeDeployVersion="cb-$BUILD_ID" \ |
| 56 | + -PgaeProjectId="$PROJECT_ID" :grpc-gae-interop-testing-jdk8:runInteropTestRemote |
| 57 | +
|
| 58 | +- id: cleanup |
| 59 | + name: gcr.io/cloud-builders/gcloud |
| 60 | + script: | |
| 61 | + #!/usr/bin/env bash |
| 62 | + set -e |
| 63 | + echo "Performing cleanup now." |
| 64 | + gcloud app services delete "$KOKORO_GAE_SERVICE" --version "cb-$BUILD_ID" --quiet |
0 commit comments