# 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/cloud-builders/docker
    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.22rc1
    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
    name: gcr.io/cloud-builders/gsutil
    entrypoint: deploy/config.sh
    args:
      - $_ENV
  - id: Worker
    name: gcr.io/cloud-builders/gke-deploy
    entrypoint: sh
    args:
      - -c
      - deploy/worker.sh $_ENV gcr.io/$PROJECT_ID/worker:$(cat _BUILD_TAG)
  - id: Frontend
    name: gcr.io/cloud-builders/gcloud
    entrypoint: sh
    args:
      - -c
      - deploy/frontend.sh $_ENV gcr.io/$PROJECT_ID/frontend:$(cat _BUILD_TAG)
  - id: Pagecheck
    name: golang:1.22rc1
    entrypoint: deploy/pagecheck.sh
    args:
      - $_ENV
