| options: |
| env: |
| - 'DOCKER_CLI_EXPERIMENTAL=enabled' |
| steps: |
| - name: 'gcr.io/cloud-builders/docker' |
| args: ['buildx', 'create', '--name', 'builder'] |
| - name: 'gcr.io/cloud-builders/docker' |
| args: ['buildx', 'use', 'builder'] |
| - name: 'gcr.io/cloud-builders/docker' |
| entrypoint: 'bash' |
| args: |
| - '-c' |
| - | |
| if [ "$_BUILD_TYPE" == "presubmit" ]; then |
| # If it's presubmit, push to us-docker.pkg.dev/cos-infra-prod/gcr-io-dev with TAG_NAME and presubmit-TAG_NAME tags |
| docker buildx build --build-arg 'BUILDKIT_INLINE_CACHE=1' -f 'src/cmd/cos_gpu_config_builder/Dockerfile' -t 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:${_TAG_NAME}' -t 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:${_BUILD_TYPE}-${_TAG_NAME}' --cache-from 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:latest' --push '.' |
| elif [ "$_BUILD_TYPE" == "official" ]; then |
| # If it's official, push to us-docker.pkg.dev/cos-infra-prod/gcr-io-dev with TAG_NAME, official-TAG_NAME and latest tags |
| docker buildx build --build-arg 'BUILDKIT_INLINE_CACHE=1' -f 'src/cmd/cos_gpu_config_builder/Dockerfile' -t 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:${_TAG_NAME}' -t 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:${_BUILD_TYPE}-${_TAG_NAME}' -t 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:latest' --cache-from 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:latest' --push '.' |
| # If it's official, also push to gcr.io |
| docker buildx build --build-arg 'BUILDKIT_INLINE_CACHE=1' -f 'src/cmd/cos_gpu_config_builder/Dockerfile' -t 'gcr.io/${_OUTPUT_PROJECT}/cos-gpu-config-builder:latest' -t 'gcr.io/${_OUTPUT_PROJECT}/cos-gpu-config-builder:${_TAG_NAME}' --cache-from 'gcr.io/${_OUTPUT_PROJECT}/gcr-io-dev/cos-gpu-config-builder:latest' --push '.' |
| else |
| echo "Invalid BUILD_TYPE: $_BUILD_TYPE" |
| exit 1 |
| fi |
| timeout: 3600s |