# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. steps: - name: gcr.io/cloud-builders/git args: [submodule, update, --init, --recursive] id: fetch-git-submodules waitFor: - "-" - name: gcr.io/cloud-builders/docker args: [pull, "${_BUILD_IMAGE_TAG}"] id: pull-build-image waitFor: - "-" # Run immediately, don't wait for any previous steps - name: us-docker.pkg.dev/$PROJECT_ID/ci/make-docker dir: ./build args: - fetch-quilkin id: fetch-quilkin waitFor: - fetch-git-submodules - pull-build-image - name: us-docker.pkg.dev/$PROJECT_ID/ci/make-docker dir: ./build args: - test-quilkin id: test-quilkin waitFor: - fetch-quilkin - name: us-docker.pkg.dev/$PROJECT_ID/ci/make-docker dir: ./build args: - test-examples id: test-examples - name: us-docker.pkg.dev/$PROJECT_ID/ci/make-docker dir: ./build args: - test-docs id: test-docs - name: us-docker.pkg.dev/$PROJECT_ID/ci/make-docker dir: ./build args: - build-image id: build # # Run the built images for 5 seconds in a few standard configurations, to test basic common scenarios # # Default file config - name: gcr.io/cloud-builders/docker dir: ./build entrypoint: bash args: - "-c" - 'timeout --signal=INT --preserve-status 5s docker run --rm -v "/workspace/examples/proxy.yaml:/etc/quilkin/quilkin.yaml" ${_REPOSITORY}quilkin:$(make version) proxy' id: test-quilkin-image-default-config-file waitFor: - build # Command line configuration - name: gcr.io/cloud-builders/docker dir: ./build entrypoint: bash args: - "-c" - 'timeout --signal=INT --preserve-status 5s docker run -v /tmp:/etc/quilkin/ --rm ${_REPOSITORY}quilkin:$(make version) proxy --to="127.0.0.1:0"' id: test-quilkin-image-command-line waitFor: - build - name: us-docker.pkg.dev/$PROJECT_ID/ci/make-docker dir: ./build args: - ci-gcloud-auth-cluster id: gcloud-auth-cluster waitFor: - test-quilkin - name: us-docker.pkg.dev/$PROJECT_ID/ci/make-docker dir: ./build args: - SKIP_BUILD_IMAGE=1 - DELETE_DELAY_SECONDS=3600 - DOCKER_RUN_ARGS=--network=cloudbuild - test-agones id: test-agones waitFor: - gcloud-auth-cluster - build options: env: - "CARGO_HOME=/workspace/.cargo" - "REPOSITORY=${_REPOSITORY}" - "BUILD_IMAGE_TAG=${_BUILD_IMAGE_TAG}" machineType: E2_HIGHCPU_32 dynamic_substitutions: true timeout: 7200s substitutions: _BUILD_IMAGE_TAG: us-docker.pkg.dev/${PROJECT_ID}/ci/build-image _REPOSITORY: us-docker.pkg.dev/${PROJECT_ID}/ci/ artifacts: images: - ${_REPOSITORY}quilkin logsBucket: "gs://quilkin-build-logs"