#!/bin/bash # Copyright 2021 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. # Deploy the vuln worker to Cloud Run, using Cloud Build. set -e source devtools/lib.sh || { echo "Are you at repo root?"; exit 1; } # Report whether the current repo's workspace has no uncommitted files. clean_workspace() { [[ $(git status --porcelain) == '' ]] } main() { local prefix= if [[ $1 = '-n' ]]; then prefix='echo dryrun: ' shift fi local env=$1 case $env in dev|prod);; *) die "usage: $0 [-n] (dev | prod)" esac local project=$(tfvar ${env}_project) local commit=$(git rev-parse --short HEAD) local unclean if ! clean_workspace; then unclean="-unclean" fi $prefix gcloud builds submit \ --project $project \ --config deploy/worker.yaml \ --substitutions SHORT_SHA=${commit}${unclean},_ENV=$env } main $@