# Provide instructions for google Cloud Build to auto-build flutter
# dashboard to flutter-dashboard project. Auto-build will be triggered
# by daily schedule on `main` branch. This cloudbuild calls two cloudbuild
# configurations.
#
# The first job is for generating the docker image with build provenance,
# and the second uses the generated docker image and deploys it to app engine.

steps:
  - name: gcr.io/cloud-builders/gcloud
    entrypoint: '/bin/bash'
    args:
      - '-c'
      - |-
        gcloud builds submit --config app_dart/cloudbuild_app_dart_docker.yaml \
          --substitutions="SHORT_SHA=$SHORT_SHA"
        gcloud builds submit --config app_dart/cloudbuild_app_dart_deploy.yaml \
          --substitutions="_GAE_PROMOTE=$_GAE_PROMOTE,SHORT_SHA=$SHORT_SHA"

timeout: 1200s
