# Copyright 2018 The Kubeflow Authors
#
# 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
#
#      http://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.

steps:

# Marketplace Major.Minor parsing
- id: "parseMajorMinorVersion"
  name: gcr.io/cloud-builders/docker
  entrypoint: /bin/bash
  args:
    - -ceux
    - |
      # Parse major minor version and save to a file for reusing in other steps.
      # e.g. 1.0.0-rc.1 and 1.0.1 are parsed as 1.0
      echo $TAG_NAME | sed -e "s#\([0-9]\+[.][0-9]\+\)[.].*#\1#" > /workspace/mm.ver

# Pull and retag images for pipeline components
- id: 'retagComponentImages'
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  waitFor: ['-']
  args:
  - -ceux
  - |
    images=(
      "ml-pipeline-kubeflow-deployer"
      "ml-pipeline-kubeflow-tf-trainer"
      "ml-pipeline-kubeflow-tf-trainer-gpu"
      "ml-pipeline-kubeflow-tfjob"
      "ml-pipeline-local-confusion-matrix"
      "ml-pipeline-local-roc"
    )
    for image in "${images[@]}"
    do
      from_image="gcr.io/$PROJECT_ID/$image:$COMMIT_SHA"
      target_image="gcr.io/ml-pipeline/$image:$TAG_NAME"
      docker pull $from_image
      docker tag $from_image $target_image
      docker push $target_image
    done

# Pull and retag the images for the pipeline system
- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA']
  id:   'pullFrontend'
- id:   'tagFrontendForMarketplaceMajorMin'
  waitFor: ['pullFrontend', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA gcr.io/ml-pipeline/frontend:$TAG_NAME
    docker tag gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA gcr.io/ml-pipeline/frontend:$COMMIT_SHA
    docker tag gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/frontend:$TAG_NAME
    docker tag gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/frontend:$TAG_NAME
    docker tag gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/frontend:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/frontend:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/frontend:$TAG_NAME
    docker push gcr.io/ml-pipeline/frontend:$COMMIT_SHA
    docker push gcr.io/ml-pipeline/google/pipelines/frontend:$TAG_NAME
    docker push gcr.io/ml-pipeline/google/pipelines-test/frontend:$TAG_NAME
    docker push gcr.io/ml-pipeline/google/pipelines/frontend:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/frontend:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA']
  id:   'pullAPIServer'
- id:   'tagAPIServerForMarketplaceMajorMinor'
  waitFor: ['pullAPIServer', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA 'gcr.io/ml-pipeline/api-server:$TAG_NAME'
    docker tag gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA 'gcr.io/ml-pipeline/api-server:$COMMIT_SHA'
    docker tag gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA 'gcr.io/ml-pipeline/google/pipelines/apiserver:$TAG_NAME'
    docker tag gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA 'gcr.io/ml-pipeline/google/pipelines-test/apiserver:$TAG_NAME'
    docker tag gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/apiserver:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/apiserver:$(cat /workspace/mm.ver)
    docker push 'gcr.io/ml-pipeline/api-server:$TAG_NAME'
    docker push 'gcr.io/ml-pipeline/api-server:$COMMIT_SHA'
    docker push 'gcr.io/ml-pipeline/google/pipelines/apiserver:$TAG_NAME'
    docker push 'gcr.io/ml-pipeline/google/pipelines-test/apiserver:$TAG_NAME'
    docker push gcr.io/ml-pipeline/google/pipelines/apiserver:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/apiserver:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/scheduledworkflow:$COMMIT_SHA']
  id:   'pullScheduledworkflow'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/scheduledworkflow:$COMMIT_SHA', 'gcr.io/ml-pipeline/scheduledworkflow:$TAG_NAME']
  id:   'tagScheduledworkflowVersionNumber'
  waitFor: ['pullScheduledworkflow']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/scheduledworkflow:$COMMIT_SHA', 'gcr.io/ml-pipeline/scheduledworkflow:$COMMIT_SHA']
  id:   'tagScheduledworkflowCommitSHA'
  waitFor: ['pullScheduledworkflow']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/scheduledworkflow:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/scheduledworkflow:$TAG_NAME']
  id:   'tagScheduledworkflowForMarketplace'
  waitFor: ['pullScheduledworkflow']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/scheduledworkflow:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/scheduledworkflow:$TAG_NAME']
  id:   'tagScheduledworkflowForMarketplaceTest'
  waitFor: ['pullScheduledworkflow']
- id:   'tagScheduledworkflowForMarketplaceMajorMinor'
  waitFor: ['pullScheduledworkflow', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/scheduledworkflow:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/scheduledworkflow:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/scheduledworkflow:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/scheduledworkflow:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/scheduledworkflow:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/scheduledworkflow:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/viewer-crd-controller:$COMMIT_SHA']
  id:   'pullViewerCrdController'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/viewer-crd-controller:$COMMIT_SHA', 'gcr.io/ml-pipeline/viewer-crd-controller:$TAG_NAME']
  id:   'tagViewerCrdControllerVersionNumber'
  waitFor: ['pullViewerCrdController']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/viewer-crd-controller:$COMMIT_SHA', 'gcr.io/ml-pipeline/viewer-crd-controller:$COMMIT_SHA']
  id:   'tagViewerCrdControllerCommitSHA'
  waitFor: ['pullViewerCrdController']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/viewer-crd-controller:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/viewercrd:$TAG_NAME']
  id:   'tagViewerCrdControllerForMarketplace'
  waitFor: ['pullViewerCrdController']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/viewer-crd-controller:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/viewercrd:$TAG_NAME']
  id:   'tagViewerCrdControllerForMarketplaceTest'
  waitFor: ['pullViewerCrdController']
- id:   'tagViewerCrdControllerForMarketplaceMajorMinor'
  waitFor: ['pullViewerCrdController', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/viewer-crd-controller:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/viewercrd:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/viewer-crd-controller:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/viewercrd:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/viewercrd:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/viewercrd:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/persistenceagent:$COMMIT_SHA']
  id:   'pullPersistenceagent'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/persistenceagent:$COMMIT_SHA', 'gcr.io/ml-pipeline/persistenceagent:$TAG_NAME']
  id:   'tagPersistenceagentVersionNumber'
  waitFor: ['pullPersistenceagent']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/persistenceagent:$COMMIT_SHA', 'gcr.io/ml-pipeline/persistenceagent:$COMMIT_SHA']
  id:   'tagPersistenceagentCommitSHA'
  waitFor: ['pullPersistenceagent']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/persistenceagent:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/persistenceagent:$TAG_NAME']
  id:   'tagPersistenceagentForMarketplace'
  waitFor: ['pullPersistenceagent']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/persistenceagent:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/persistenceagent:$TAG_NAME']
  id:   'tagPersistenceagentForMarketplaceTest'
  waitFor: ['pullPersistenceagent']
- id:   'tagPersistenceagentForMarketplaceMajorMinor'
  waitFor: ['pullPersistenceagent', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/persistenceagent:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/persistenceagent:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/persistenceagent:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/persistenceagent:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/persistenceagent:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/persistenceagent:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/inverse-proxy-agent:$COMMIT_SHA']
  id:   'pullInverseProxyAgent'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/inverse-proxy-agent:$COMMIT_SHA', 'gcr.io/ml-pipeline/inverse-proxy-agent:$TAG_NAME']
  id:   'tagInverseProxyAgentVersionNumber'
  waitFor: ['pullInverseProxyAgent']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/inverse-proxy-agent:$COMMIT_SHA', 'gcr.io/ml-pipeline/inverse-proxy-agent:$COMMIT_SHA']
  id:   'tagInverseProxyAgentCommitSHA'
  waitFor: ['pullInverseProxyAgent']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/inverse-proxy-agent:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/proxyagent:$TAG_NAME']
  id:   'tagInverseProxyAgentForMarketplace'
  waitFor: ['pullInverseProxyAgent']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/inverse-proxy-agent:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/proxyagent:$TAG_NAME']
  id:   'tagInverseProxyAgentForMarketplaceTest'
  waitFor: ['pullInverseProxyAgent']
- id:   'tagInverseProxyAgentForMarketplaceMajorMinor'
  waitFor: ['pullInverseProxyAgent', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/inverse-proxy-agent:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/proxyagent:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/inverse-proxy-agent:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/proxyagent:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/proxyagent:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/proxyagent:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/visualization-server:$COMMIT_SHA']
  id:   'pullVisualizationServer'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/visualization-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/visualization-server:$TAG_NAME']
  id:   'tagVisualizationServerVersionNumber'
  waitFor: ['pullVisualizationServer']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/visualization-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/visualization-server:$COMMIT_SHA']
  id:   'tagVisualizationServerCommitSHA'
  waitFor: ['pullVisualizationServer']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/visualization-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/visualizationserver:$TAG_NAME']
  id:   'tagVisualizationServerForMarketplace'
  waitFor: ['pullVisualizationServer']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/visualization-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/visualizationserver:$TAG_NAME']
  id:   'tagVisualizationServerForMarketplaceTest'
  waitFor: ['pullVisualizationServer']
- id:   'tagVisualizationServerForMarketplaceMajorMinor'
  waitFor: ['pullVisualizationServer', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/visualization-server:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/visualizationserver:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/visualization-server:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/visualizationserver:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/visualizationserver:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/visualizationserver:$(cat /workspace/mm.ver)

# ! Sync to the same MLMD version:
# * backend/metadata_writer/requirements.in and requirements.txt
# * @kubeflow/frontend/src/mlmd/generated
# * .cloudbuild.yaml and .release.cloudbuild.yaml
# * manifests/kustomize/base/metadata/base/metadata-grpc-deployment.yaml
# * test/tag_for_hosted.sh
- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/tfx-oss-public/ml_metadata_store_server:1.5.0']
  id:   'pullMetadataServer'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/tfx-oss-public/ml_metadata_store_server:1.5.0', 'gcr.io/ml-pipeline/google/pipelines/metadataserver:$TAG_NAME']
  id:   'tagMetadataServerForMarketplace'
  waitFor: ['pullMetadataServer']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/tfx-oss-public/ml_metadata_store_server:1.5.0', 'gcr.io/ml-pipeline/google/pipelines-test/metadataserver:$TAG_NAME']
  id:   'tagMetadataServerForMarketplaceTest'
  waitFor: ['pullMetadataServer']
- id:   'tagMetadataServerForMarketplaceMajorMinor'
  waitFor: ['pullMetadataServer', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/tfx-oss-public/ml_metadata_store_server:1.5.0 gcr.io/ml-pipeline/google/pipelines/metadataserver:$(cat /workspace/mm.ver)
    docker tag gcr.io/tfx-oss-public/ml_metadata_store_server:1.5.0 gcr.io/ml-pipeline/google/pipelines-test/metadataserver:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/metadataserver:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/metadataserver:$(cat /workspace/mm.ver)

- id:   'pullMetadataWriter'
  name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/metadata-writer:$COMMIT_SHA']
  waitFor: ['-']
- id:   'tagMetadataWriterVersionNumber'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-writer:$COMMIT_SHA', 'gcr.io/ml-pipeline/metadata-writer:$TAG_NAME']
  waitFor: ['pullMetadataWriter']
- id:   'tagMetadataWriterCommitSHA'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-writer:$COMMIT_SHA', 'gcr.io/ml-pipeline/metadata-writer:$COMMIT_SHA']
  waitFor: ['pullMetadataWriter']
- id:   'tagMetadataWriterForMarketplace'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-writer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/metadatawriter:$TAG_NAME']
  waitFor: ['pullMetadataWriter']
- id:   'tagMetadataWriterForMarketplaceTest'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-writer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/metadatawriter:$TAG_NAME']
  waitFor: ['pullMetadataWriter']
- id:   'tagMetadataWriterForMarketplaceMajorMinor'
  waitFor: ['pullMetadataWriter', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/metadata-writer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/metadatawriter:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/metadata-writer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/metadatawriter:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/metadatawriter:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/metadatawriter:$(cat /workspace/mm.ver)

- id:   'pullCacheServer'
  name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/cache-server:$COMMIT_SHA']
  waitFor: ['-']
- id:   'tagCacheServerVersionNumber'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/cache-server:$TAG_NAME']
  waitFor: ['pullCacheServer']
- id:   'tagCacheServerCommitSHA'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/cache-server:$COMMIT_SHA']
  waitFor: ['pullCacheServer']
- id:   'tagCacheServerForMarketplace'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/cacheserver:$TAG_NAME']
  waitFor: ['pullCacheServer']
- id:   'tagCacheServerForMarketplaceTest'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-server:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/cacheserver:$TAG_NAME']
  waitFor: ['pullCacheServer']
- id:   'tagCacheServerForMarketplaceMajorMinor'
  waitFor: ['pullCacheServer', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/cache-server:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/cacheserver:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/cache-server:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/cacheserver:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/cacheserver:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/cacheserver:$(cat /workspace/mm.ver)

- id:   'pullCacheDeployer'
  name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/cache-deployer:$COMMIT_SHA']
  waitFor: ['-']
- id:   'tagCacheDeployerVersionNumber'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/cache-deployer:$TAG_NAME']
  waitFor: ['pullCacheDeployer']
- id:   'tagCacheDeployerCommitSHA'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/cache-deployer:$COMMIT_SHA']
  waitFor: ['pullCacheDeployer']
- id:   'tagCacheDeployerForMarketplace'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/cachedeployer:$TAG_NAME']
  waitFor: ['pullCacheDeployer']
- id:   'tagCacheDeployerForMarketplaceTest'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/cache-deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/cachedeployer:$TAG_NAME']
  waitFor: ['pullCacheDeployer']
- id:   'tagCacheDeployerForMarketplaceMajorMinor'
  waitFor: ['pullCacheDeployer', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/cache-deployer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/cachedeployer:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/cache-deployer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/cachedeployer:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/cachedeployer:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/cachedeployer:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA']
  id:   'pullMetadataEnvoy'
- id:   'tagMetadataEnvoyVersionNumber'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA', 'gcr.io/ml-pipeline/metadata-envoy:$TAG_NAME']
  waitFor: ['pullMetadataEnvoy']
- id:   'tagMetadataEnvoyCommitSHA'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA', 'gcr.io/ml-pipeline/metadata-envoy:$COMMIT_SHA']
  waitFor: ['pullMetadataEnvoy']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/metadataenvoy:$TAG_NAME']
  id:   'tagMetadataEnvoyForMarketplace'
  waitFor: ['pullMetadataEnvoy']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/metadataenvoy:$TAG_NAME']
  id:   'tagMetadataEnvoyForMarketplaceTest'
  waitFor: ['pullMetadataEnvoy']
- id:   'tagMetadataEnvoyForMarketplaceMajorMinor'
  waitFor: ['pullMetadataEnvoy', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/metadataenvoy:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/metadataenvoy:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/metadataenvoy:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/metadataenvoy:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance']
  id:   'pullMinio'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance', 'gcr.io/ml-pipeline/google/pipelines/minio:$TAG_NAME']
  id:   'tagMinioForMarketplace'
  waitFor: ['pullMinio']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance', 'gcr.io/ml-pipeline/google/pipelines-test/minio:$TAG_NAME']
  id:   'tagMinioForMarketplaceTest'
  waitFor: ['pullMinio']
- id:   'tagMinioForMarketplaceMajorMinor'
  waitFor: ['pullMinio', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance gcr.io/ml-pipeline/google/pipelines/minio:$(cat /workspace/mm.ver)
    docker tag gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance gcr.io/ml-pipeline/google/pipelines-test/minio:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/minio:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/minio:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/ml-pipeline/mysql:5.7']
  id:   'pullMysql'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/mysql:5.7', 'gcr.io/ml-pipeline/google/pipelines/mysql:$TAG_NAME']
  id:   'tagMySqlForMarketplace'
  waitFor: ['pullMysql']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/mysql:5.7', 'gcr.io/ml-pipeline/google/pipelines-test/mysql:$TAG_NAME']
  id:   'tagMySqlForMarketplaceTest'
  waitFor: ['pullMysql']
- id:   'tagMySqlForMarketplaceMajorMinor'
  waitFor: ['pullMysql', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/ml-pipeline/mysql:5.7 gcr.io/ml-pipeline/google/pipelines/mysql:$(cat /workspace/mm.ver)
    docker tag gcr.io/ml-pipeline/mysql:5.7 gcr.io/ml-pipeline/google/pipelines-test/mysql:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/mysql:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/mysql:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/cloudsql-docker/gce-proxy:1.25.0']
  id:   'pullCloudsqlProxy'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/cloudsql-docker/gce-proxy:1.25.0', 'gcr.io/ml-pipeline/google/pipelines/cloudsqlproxy:$TAG_NAME']
  id:   'tagCloudSqlProxyForMarketplace'
  waitFor: ['pullCloudsqlProxy']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/cloudsql-docker/gce-proxy:1.25.0', 'gcr.io/ml-pipeline/google/pipelines-test/cloudsqlproxy:$TAG_NAME']
  id:   'tagCloudSqlProxyForMarketplaceTest'
  waitFor: ['pullCloudsqlProxy']
- id:   'tagCloudSqlProxyForMarketplaceMajorMinor'
  waitFor: ['pullCloudsqlProxy', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/cloudsql-docker/gce-proxy:1.25.0 gcr.io/ml-pipeline/google/pipelines/cloudsqlproxy:$(cat /workspace/mm.ver)
    docker tag gcr.io/cloudsql-docker/gce-proxy:1.25.0 gcr.io/ml-pipeline/google/pipelines-test/cloudsqlproxy:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/cloudsqlproxy:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/cloudsqlproxy:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/ml-pipeline/argoexec:v3.2.3-license-compliance']
  id:   'pullArgoExecutor'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/argoexec:v3.2.3-license-compliance', 'gcr.io/ml-pipeline/google/pipelines/argoexecutor:$TAG_NAME']
  id:   'tagArgoExecutorForMarketplace'
  waitFor: ['pullArgoExecutor']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/argoexec:v3.2.3-license-compliance', 'gcr.io/ml-pipeline/google/pipelines-test/argoexecutor:$TAG_NAME']
  id:   'tagArgoExecutorForMarketplaceTest'
  waitFor: ['pullArgoExecutor']
- id:   'tagArgoExecutorForMarketplaceMajorMinor'
  waitFor: ['pullArgoExecutor', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/ml-pipeline/argoexec:v3.2.3-license-compliance gcr.io/ml-pipeline/google/pipelines/argoexecutor:$(cat /workspace/mm.ver)
    docker tag gcr.io/ml-pipeline/argoexec:v3.2.3-license-compliance gcr.io/ml-pipeline/google/pipelines-test/argoexecutor:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/argoexecutor:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/argoexecutor:$(cat /workspace/mm.ver)

- name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/ml-pipeline/workflow-controller:v3.2.3-license-compliance']
  id:   'pullArgoWorkflowController'
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/workflow-controller:v3.2.3-license-compliance', 'gcr.io/ml-pipeline/google/pipelines/argoworkflowcontroller:$TAG_NAME']
  id:   'tagArgoWorkflowControllerForMarketplace'
  waitFor: ['pullArgoWorkflowController']
- name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/ml-pipeline/workflow-controller:v3.2.3-license-compliance', 'gcr.io/ml-pipeline/google/pipelines-test/argoworkflowcontroller:$TAG_NAME']
  id:   'tagArgoWorkflowControllerForMarketplaceTest'
  waitFor: ['pullArgoWorkflowController']
- id:   'tagArgoWorkflowControllerForMarketplaceMajorMinor'
  waitFor: ['pullArgoWorkflowController', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/ml-pipeline/workflow-controller:v3.2.3-license-compliance gcr.io/ml-pipeline/google/pipelines/argoworkflowcontroller:$(cat /workspace/mm.ver)
    docker tag gcr.io/ml-pipeline/workflow-controller:v3.2.3-license-compliance gcr.io/ml-pipeline/google/pipelines-test/argoworkflowcontroller:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/argoworkflowcontroller:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/argoworkflowcontroller:$(cat /workspace/mm.ver)

# Marketplace specific deployer and specific primary image
- id:   'pullMarketplaceDeployer'
  name: 'gcr.io/cloud-builders/docker'
  args: ['pull', 'gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA']
  waitFor: ['-']
- id:   'tagMarketplaceDeployerVersionNumber'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/deployer:$TAG_NAME']
  waitFor: ['pullMarketplaceDeployer']
- id:   'tagMarketplaceDeployerVersionNumberTest'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test/deployer:$TAG_NAME']
  waitFor: ['pullMarketplaceDeployer']
- id:   'tagMarketplaceDeployerVersionNumberMajorMinor'
  waitFor: ['pullMarketplaceDeployer', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines/deployer:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test/deployer:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines/deployer:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test/deployer:$(cat /workspace/mm.ver)

- id:   'tagMarketplacePrimaryVersionNumber'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines:$TAG_NAME']
  waitFor: ['pullMarketplaceDeployer']
- id:   'tagMarketplacePrimaryVersionNumberTest'
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag', 'gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines-test:$TAG_NAME']
  waitFor: ['pullMarketplaceDeployer']
- id:   'tagMarketplacePrimaryVersionNumberMajorMinor'
  waitFor: ['pullMarketplaceDeployer', 'parseMajorMinorVersion']
  name: 'gcr.io/cloud-builders/docker'
  entrypoint: bash
  args:
  - -ceux
  - |
    docker tag gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines:$(cat /workspace/mm.ver)
    docker tag gcr.io/$PROJECT_ID/deployer:$COMMIT_SHA gcr.io/ml-pipeline/google/pipelines-test:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines:$(cat /workspace/mm.ver)
    docker push gcr.io/ml-pipeline/google/pipelines-test:$(cat /workspace/mm.ver)

# # Copy the Python SDK
# - name: 'gcr.io/cloud-builders/gsutil'
#   args: ['cp', 'gs://$PROJECT_ID/builds/$COMMIT_SHA/kfp.tar.gz', '/workspace/']
#   id:   'copyPythonSDKLocal'
# - name: 'gcr.io/cloud-builders/gsutil'
#   args: ['cp', '/workspace/kfp.tar.gz', 'gs://ml-pipeline/release/$TAG_NAME/kfp.tar.gz']
#   id:   'copyPythonSDK'
#   waitFor: ['copyPythonSDKLocal']
# - name: 'gcr.io/cloud-builders/gsutil'
#   args: ['cp', '/workspace/kfp.tar.gz', 'gs://ml-pipeline/release/latest/kfp.tar.gz']
#   id:   'copyPythonSDKToLatest'
#   waitFor: ['copyPythonSDKLocal']

# # Copy the Python Component SDK
# - name: 'gcr.io/cloud-builders/gsutil'
#   args: ['cp', 'gs://$PROJECT_ID/builds/$COMMIT_SHA/kfp-component.tar.gz', '/workspace/']
#   id:   'copyPythonComponentSDKLocal'
# - name: 'gcr.io/cloud-builders/gsutil'
#   args: ['cp', '/workspace/kfp-component.tar.gz', 'gs://ml-pipeline/release/$TAG_NAME/kfp-component.tar.gz']
#   id:   'copyPythonComponentSDK'
#   waitFor: ['copyPythonComponentSDKLocal']
# - name: 'gcr.io/cloud-builders/gsutil'
#   args: ['cp', '/workspace/kfp-component.tar.gz', 'gs://ml-pipeline/release/latest/kfp-component.tar.gz']
#   id:   'copyPythonComponentSDKToLatest'
#   waitFor: ['copyPythonComponentSDKLocal']

images:
- 'gcr.io/ml-pipeline/scheduledworkflow:$TAG_NAME'
- 'gcr.io/ml-pipeline/scheduledworkflow:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/persistenceagent:$TAG_NAME'
- 'gcr.io/ml-pipeline/persistenceagent:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/viewer-crd-controller:$TAG_NAME'
- 'gcr.io/ml-pipeline/viewer-crd-controller:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/inverse-proxy-agent:$TAG_NAME'
- 'gcr.io/ml-pipeline/inverse-proxy-agent:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/visualization-server:$TAG_NAME'
- 'gcr.io/ml-pipeline/visualization-server:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/metadata-envoy:$TAG_NAME'
- 'gcr.io/ml-pipeline/metadata-envoy:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/metadata-writer:$TAG_NAME'
- 'gcr.io/ml-pipeline/metadata-writer:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/cache-server:$TAG_NAME'
- 'gcr.io/ml-pipeline/cache-server:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/cache-deployer:$TAG_NAME'
- 'gcr.io/ml-pipeline/cache-deployer:$COMMIT_SHA'
- 'gcr.io/ml-pipeline/google/pipelines/scheduledworkflow:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/viewercrd:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/persistenceagent:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/proxyagent:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/visualizationserver:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/metadataserver:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/minio:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/mysql:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/cloudsqlproxy:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/argoexecutor:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/argoworkflowcontroller:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/metadataenvoy:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/metadatawriter:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/deployer:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/cacheserver:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines/cachedeployer:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/scheduledworkflow:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/viewercrd:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/persistenceagent:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/proxyagent:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/visualizationserver:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/metadataserver:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/minio:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/mysql:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/cloudsqlproxy:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/argoexecutor:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/argoworkflowcontroller:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/metadataenvoy:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/metadatawriter:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/cacheserver:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/cachedeployer:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test/deployer:$TAG_NAME'
- 'gcr.io/ml-pipeline/google/pipelines-test:$TAG_NAME'
timeout: '2000s'
tags:
- release-on-tag
