timeout: 1800s
substitutions:
_CODECOV_TOKEN: ""
options:
machineType: E2_HIGHCPU_32
volumes:
- name: go-modules
path: /go
env:
- GOPATH=/go
- GOLANG_PROTOBUF_REGISTRATION_CONFLICT=ignore
- DOCKER_CLIENT_TIMEOUT=120
- COMPOSE_HTTP_TIMEOUT=120
images: ['gcr.io/$PROJECT_ID/trillian_testbase:latest']
logsBucket: 'gs://trillian-cloudbuild-logs'
steps:
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args: ['-c', 'docker pull gcr.io/$PROJECT_ID/trillian_testbase:latest || exit 0']
- name: 'gcr.io/cloud-builders/docker'
args: [
'build',
'-t', 'gcr.io/$PROJECT_ID/trillian_testbase:latest',
'--cache-from', 'gcr.io/$PROJECT_ID/trillian_testbase:latest',
'-f', './integration/cloudbuild/testbase/Dockerfile',
'.'
]
- id: prepare
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/prepare.sh
- id: check
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./scripts/presubmit.sh
args:
- --no-build
- --no-linters
- --fix
- --no-mod-tidy
- --empty-diff
waitFor:
- prepare
- id: presubmit
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_presubmit.sh
args:
- --no-linters
- --no-generate
env:
- GOFLAGS=-race
- GO_TEST_TIMEOUT=20m
waitFor:
- check
- id: codecov
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_presubmit.sh
args:
- --coverage
- --no-linters
- --no-generate
env:
- GOFLAGS=-race
- GO_TEST_TIMEOUT=20m
- CODECOV_TOKEN=${_CODECOV_TOKEN}
waitFor:
- check
- id: presubmit_batched
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_presubmit.sh
args:
- --no-linters
- --no-generate
env:
- GOFLAGS=-race --tags=batched_queue
- GO_TEST_TIMEOUT=20m
waitFor:
- check
- id: presubmit_pkcs11
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_presubmit.sh
args:
- --no-linters
- --no-generate
env:
- GOFLAGS=-race --tags=pkcs11
- GO_TEST_TIMEOUT=20m
waitFor:
- check
- id: presubmits_done
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: /bin/true
waitFor:
- codecov
- presubmit
- presubmit_batched
- presubmit_pkcs11
- id: integration
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_integration.sh
env:
- GO_TEST_TIMEOUT=20m
waitFor:
- presubmits_done
- id: integration_docker
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/docker_compose_integration_test.sh
waitFor:
- presubmits_done
- id: integration_etcd
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_integration.sh
env:
- ETCD_DIR=/go/bin
- GOFLAGS=-race
- GO_TEST_TIMEOUT=20m
waitFor:
- presubmits_done
- id: integration_batched
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_integration.sh
env:
- GOFLAGS=-race -tags=batched_queue
- GO_TEST_TIMEOUT=20m
waitFor:
- presubmits_done
- id: integration_pkcs11
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_integration.sh
env:
- GOFLAGS=-race -tags=pkcs11
- GO_TEST_TIMEOUT=20m
waitFor:
- presubmits_done
- id: integration_mariadb
name: 'gcr.io/${PROJECT_ID}/trillian_testbase'
entrypoint: ./integration/cloudbuild/run_integration.sh
env:
- GO_TEST_TIMEOUT=20m
- MYSQLD_IMAGE=mariadb:11.1
waitFor:
- presubmits_done