| options: |
| requestedVerifyOption: VERIFIED |
| substitutions: |
| _IMAGE_NAME: cos-kernel-devenv |
| _IMAGE_FOLDER_NAME: cos_kernel_devenv |
| _RUN_PATH: src/cmd/cos_kernel_devenv/ |
| |
| steps: |
| - name: 'gcr.io/cloud-builders/docker' |
| id: build-and-tag |
| entrypoint: 'bash' |
| args: |
| - '-c' |
| - | |
| TAGS="" |
| if [ "$_BUILD_TYPE" == "presubmit" ]; then |
| # For presubmit build, we push presubmit-{BUILD_ID} tag. |
| TAGS="${_BUILD_TYPE}-${_TAG_NAME}" |
| elif [ "$_BUILD_TYPE" == "official" ]; then |
| # For official build, we push presubmit-{BUILD_ID} and latest tag. |
| TAGS="${_BUILD_TYPE}-${_TAG_NAME} latest" |
| else |
| echo "Invalid BUILD_TYPE: $_BUILD_TYPE" |
| exit 1 |
| fi |
| |
| # Build and tag for gcr-io-dev. BUILD_ID tag is pushed by default. |
| docker build -f 'src/cmd/${_IMAGE_FOLDER_NAME}/Dockerfile' -t "us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/${_IMAGE_NAME}:${_TAG_NAME}" "${_RUN_PATH}" |
| for TAG in $$TAGS; do |
| docker tag "us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/${_IMAGE_NAME}:${_TAG_NAME}" "us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/${_IMAGE_NAME}:$$TAG" |
| docker push "us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/${_IMAGE_NAME}:$$TAG" |
| done |
| |
| # Build and tag for gcr.io. BUILD_ID tag is pushed by default. |
| docker build -f 'src/cmd/${_IMAGE_FOLDER_NAME}/Dockerfile' -t "gcr.io/${_OUTPUT_PROJECT}/${_IMAGE_NAME}:${_TAG_NAME}" "${_RUN_PATH}" |
| for TAG in $$TAGS; do |
| docker tag "gcr.io/${_OUTPUT_PROJECT}/${_IMAGE_NAME}:${_TAG_NAME}" "gcr.io/${_OUTPUT_PROJECT}/${_IMAGE_NAME}:$$TAG" |
| docker push "gcr.io/${_OUTPUT_PROJECT}/${_IMAGE_NAME}:$$TAG" |
| done |
| images: |
| - 'us-docker.pkg.dev/${_OUTPUT_PROJECT}/gcr-io-dev/${_IMAGE_NAME}:${_TAG_NAME}' |
| - 'gcr.io/${_OUTPUT_PROJECT}/${_IMAGE_NAME}:${_TAG_NAME}' |
| timeout: 3600s |