blob: 03d09e496d80ada2828e19b1640e604fb736e768 [file] [log] [blame]
# Copyright 2023 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
#
# https://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.
options:
env:
- 'DOCKER_CLI_EXPERIMENTAL=enabled'
steps:
- id: 'build-and-push'
name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args:
- '-c'
- |
docker buildx create --name builder
docker buildx use builder
if [ "$_BUILD_TYPE" == "presubmit" ]; then
# If it's presubmit, push to us-docker.pkg.dev/cos-infra-prod/gcr-io-dev with BUILD_ID, presubmit-BUILD_ID tags
docker buildx build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:latest -f src/cmd/cos_kernel_devenv/Dockerfile -t us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:${_TAG_NAME} -t us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:${_BUILD_TYPE}-${_TAG_NAME} --push src/cmd/cos_kernel_devenv/
docker pull us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:${_TAG_NAME}
elif [ "$_BUILD_TYPE" == "official" ]; then
# If it's official, push to us-docker.pkg.dev/cos-infra-prod/gcr-io-dev with latest tag, BUILD_ID and official-BUILD_ID tags
docker buildx build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:latest -f src/cmd/cos_kernel_devenv/Dockerfile -t us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:${_TAG_NAME} -t us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:${_BUILD_TYPE}-${_TAG_NAME} -t us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:latest --push src/cmd/cos_kernel_devenv/
docker pull us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-kernel-devenv:${_TAG_NAME}
# If it's official, push to cos-infra-prod/gcr.io. This will be depreciated after exit gates are done.
docker buildx build --build-arg BUILDKIT_INLINE_CACHE=1 --cache-from gcr.io/${_OUTPUT_PROJECT}/cos-kernel-devenv:latest -f src/cmd/cos_kernel_devenv/Dockerfile -t gcr.io/${_OUTPUT_PROJECT}/cos-kernel-devenv:latest -t gcr.io/${_OUTPUT_PROJECT}/cos-kernel-devenv:${_TAG_NAME} --push src/cmd/cos_kernel_devenv/
docker pull gcr.io/${_OUTPUT_PROJECT}/cos-kernel-devenv:${_TAG_NAME}
else
echo "Invalid BUILD_TYPE: $_BUILD_TYPE"
exit 1
fi