#!/bin/bash
#
# To test the release process, this script attempts
# to use a Google cloudbuild configuration to create
# release artifacts locally.
#
# See https://cloud.google.com/cloud-build/docs/build-debug-locally
#
# Usage: from the repo root, enter:
#
#   ./releasing/localbuild.sh kustomize/v1.2.3
#
# or some other valid tag value.
#
# IMPORTANT:
#   The process clones the repo at the given tag,
#   so the repo must have the tag applied upstream.
#   Either use an old tag, or disable the cloud build
#   trigger so that a new testing tag can be applied
#   without setting off a cloud build.

set -e

config=$(mktemp)
cp releasing/cloudbuild.yaml $config

# Add the --snapshot flag to suppress the
# github release and leave the build output
# in the kustomize/dist directory.
sed -i "s|# - '--snapshot|- '--snapshot|" $config

echo "Executing cloud-build-local with config file $config :"
echo "========================="
cat $config
echo "========================="

workspace=~/cloud-build-local-workspace

cloud-build-local \
    --config=$config \
    --substitutions=TAG_NAME=$1 \
    --write-workspace=$workspace \
    --dryrun=false \
    .

#  --bind-mount-source \

echo " "
echo "Result of local build:"
echo "##########################################"
tree ./$module/dist
echo "##########################################"
tree ./$workspace
echo "##########################################"
