| # Copyright 2025 The Go Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style |
| # license that can be found in the LICENSE file. |
| |
| # Build by cloning https://go.googlesource.com/build at the given ${_SHA} commit. |
| |
| steps: |
| # First, clone the repository. The default directory is /workspace. |
| - name: 'gcr.io/cloud-builders/git' |
| args: ['clone', 'https://go.googlesource.com/build', '/workspace'] |
| # Then, check out the specific commit SHA provided. |
| - name: 'gcr.io/cloud-builders/git' |
| args: ['checkout', '${_SHA}'] |
| # Now, build the Docker image from the checked-out source. |
| # The Docker build context is the root of the repository (/workspace). |
| - name: 'gcr.io/cloud-builders/docker' |
| args: |
| - 'build' |
| - '-f' |
| - 'cmd/${_SERVICE_NAME}/Dockerfile' |
| - '--build-arg' |
| - 'version=${_SHA}' |
| - '-t' |
| - 'gcr.io/${PROJECT_ID}/${_SERVICE_NAME}:${_SHA}' |
| - '-t' |
| - 'gcr.io/${PROJECT_ID}/${_SERVICE_NAME}:latest' |
| - '.' |
| # Finally, push the version-specific image. |
| - name: 'gcr.io/cloud-builders/docker' |
| args: ['push', 'gcr.io/${PROJECT_ID}/${_SERVICE_NAME}:${_SHA}'] |
| images: |
| - 'gcr.io/${PROJECT_ID}/${_SERVICE_NAME}:${_SHA}' |
| - 'gcr.io/${PROJECT_ID}/${_SERVICE_NAME}:latest' |
| options: |
| logging: CLOUD_LOGGING_ONLY |