# Provide instructions for google Cloud Build to auto-build flutter
# dashboard to flutter-dashboard project. Auto-build will be triggered
# by new commits to `master` branch.

steps:
  # Build app_flutter.
  - name: gcr.io/$PROJECT_ID/flutter
    entrypoint: '/bin/bash'
    args: ['cloud_build/app_flutter_build.sh']

    # Build repo_dashboard.
  - name: gcr.io/$PROJECT_ID/flutter
    entrypoint: '/bin/bash'
    args: ['cloud_build/repo_dash_build.sh']

  # Deploy a new version to google cloud.
  - name: 'gcr.io/cloud-builders/gcloud'
    entrypoint: '/bin/bash'
    args: ['cloud_build/deploy.sh', '$PROJECT_ID', '$SHORT_SHA', '$_GAE_PROMOTE']

timeout: 1200s
