# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Configuration to build the 'hey' utility using Google Cloud Build. The
# configuration also pushes the built application image to Google Artifact
# Registry. The 'hey' utility issues a steady stram of requests to a configured
# endpoint.
# REGISTRY_LOCATION, GOOGLE_CLOUD_PROJECT, ARTIFACT_REGISTRY environment variables must be
# substituted in this file.
#
# Using gCloud CLI:
# gcloud builds submit --config <(envsubst < cloudbuild-hey.yaml) .
steps:
- name: 'gcr.io/cloud-builders/docker'
  env:
  - 'DOCKER_BUILDKIT=1'
  args: ['build', '-t', '${REGISTRY_LOCATION}-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/${ARTIFACT_REGISTRY}/hey:latest', '-f', 'hey.Dockerfile', '.']
- name: 'gcr.io/cloud-builders/docker'
  args: ['push', '${REGISTRY_LOCATION}-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/${ARTIFACT_REGISTRY}/hey:latest']
images: ['${REGISTRY_LOCATION}-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/${ARTIFACT_REGISTRY}/hey:latest']
