# Copyright 2020 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

timeout: 45m
options:
  machineType: N1_HIGHCPU_8
  env:
    # To prevent errors from tput when TERM is unset.
    - TERM=dumb
steps:
  - id: all.bash
    name: gcr.io/$PROJECT_ID/docker-compose
    entrypoint: devtools/docker/compose.sh
    args:
      - run
      - allbash
      - ci
  - id: Prepare
    name: gcr.io/cloud-builders/gcloud
    entrypoint: deploy/prepare.sh
    args:
      - $PROJECT_ID
  - id: Check redistributable
    name: golang:1.19
    entrypoint: private/devtools/check_redist.sh
  - id: Build
    name: gcr.io/cloud-builders/docker
    entrypoint: sh
    args:
      - -c
      - deploy/build.sh $PROJECT_ID $(cat _BUILD_TAG)
  - id: Config - staging
    name: gcr.io/cloud-builders/gsutil
    entrypoint: deploy/config.sh
    args:
      - staging
  - id: Worker - staging
    name: gcr.io/cloud-builders/gke-deploy
    entrypoint: sh
    args:
      - -c
      - deploy/worker.sh staging gcr.io/$PROJECT_ID/worker:$(cat _BUILD_TAG)
  - id: Frontend - staging
    name: gcr.io/cloud-builders/gcloud
    entrypoint: sh
    args:
      - -c
      - deploy/frontend.sh staging gcr.io/$PROJECT_ID/frontend:$(cat _BUILD_TAG)
  - id: Pagecheck - staging
    name: golang:1.19
    entrypoint:  deploy/pagecheck.sh
    args:
      - staging
  - id: screentest - staging
    name: gcr.io/$PROJECT_ID/docker-compose
    entrypoint: deploy/screentest.sh
    args:
      - staging
    env:
      - QUOTA_BYPASS=$_QUOTA_BYPASS
  - id: Config - prod
    name: gcr.io/cloud-builders/gsutil
    entrypoint: deploy/config.sh
    args:
      - prod
  - id: Worker - prod
    name: gcr.io/cloud-builders/gke-deploy
    entrypoint: sh
    args:
      - -c
      - deploy/worker.sh prod gcr.io/$PROJECT_ID/worker:$(cat _BUILD_TAG)
  - id: Frontend - prod
    name: gcr.io/cloud-builders/gcloud
    entrypoint: sh
    args:
      - -c
      - deploy/frontend.sh prod gcr.io/$PROJECT_ID/frontend:$(cat _BUILD_TAG)
  - id: Pagecheck - prod
    name: golang:1.19
    entrypoint:  deploy/pagecheck.sh
    args:
      - prod
  - id: Frontend - beta
    name: gcr.io/cloud-builders/gcloud
    entrypoint: sh
    args:
      - -c
      - deploy/frontend.sh beta gcr.io/$PROJECT_ID/frontend:$(cat _BUILD_TAG)
  - id: Pagecheck - beta
    name: golang:1.19
    entrypoint:  deploy/pagecheck.sh
    args:
      - beta
artifacts:
  objects:
    location: 'gs://$PROJECT_ID/screentest-artifacts'
    paths: ['tests/screentest/testdata/*.png']
