cloud build: initial set of shared files
The approach taken here extends the existing support for cross-compiling binaries on the build host and specifying the Go compiler: Go is installed if needed (as in Prow testing), binaries are build on the host, then one image is created for each platform, and finally those are combined into a single multi-architecture image.
This commit is contained in:
14
prow.sh
14
prow.sh
@@ -1189,3 +1189,17 @@ main () {
|
||||
|
||||
return "$ret"
|
||||
}
|
||||
|
||||
# This function can be called by a repo's top-level cloudbuild.sh:
|
||||
# it handles environment set up in the GCR cloud build and then
|
||||
# invokes "make push-multiarch" to do the actual image building.
|
||||
gcr_cloud_build () {
|
||||
# Register gcloud as a Docker credential helper.
|
||||
# Required for "docker buildx build --push".
|
||||
gcloud auth configure-docker
|
||||
|
||||
# Extract tag-n-hash value from GIT_TAG (form vYYYYMMDD-tag-n-hash) for REV value.
|
||||
REV=v$(echo "$GIT_TAG" | cut -f3- -d 'v')
|
||||
|
||||
run_with_go "${CSI_PROW_GO_VERSION_BUILD}" make push-multiarch REV="${REV}" REGISTRY_NAME="${REGISTRY_NAME}" BUILD_PLATFORMS="${CSI_PROW_BUILD_PLATFORMS}"
|
||||
}
|
||||
|
Reference in New Issue
Block a user