driftctl/scripts/build.sh

47 lines
1.1 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
#
# This script builds the application from source for multiple platforms.
# Inspired from hashicorp/terraform build script
2021-07-15 15:33:35 +00:00
# https://github.com/hashicorp/terraform/blob/83e6703bf77f60660db4465ef50d30c633f800f1/scripts/build.sh
2020-12-14 15:13:47 +00:00
set -eo pipefail
2021-07-15 15:33:35 +00:00
if ! which goreleaser >/dev/null; then
echo "+ Installing goreleaser..."
go install github.com/goreleaser/goreleaser@v0.173.2
fi
2021-07-22 08:43:35 +00:00
if [ -z $ENV ]; then
echo "Error: ENV variable must be defined"
exit 1
fi
2021-07-22 09:05:08 +00:00
# Check configuration
goreleaser check
2021-07-22 08:43:35 +00:00
if [ "$ENV" == "dev" ]; then
echo "+ Building using goreleaser ..."
goreleaser build \
--rm-dist \
--parallelism 2 \
--snapshot \
--single-target
exit 0
fi
GRFLAGS=""
# Only CI system should publish artifacts
2021-07-22 09:05:08 +00:00
# We may not want to sign artifacts in dev environments
if [ "$CI" != true ]; then
2021-07-22 08:43:35 +00:00
GRFLAGS+="--snapshot "
GRFLAGS+="--skip-announce "
GRFLAGS+="--skip-publish "
2021-07-22 09:05:08 +00:00
GRFLAGS+="--skip-sign "
2021-07-22 08:43:35 +00:00
fi
2021-07-15 15:33:35 +00:00
echo "+ Building using goreleaser ..."
2021-07-22 08:43:35 +00:00
goreleaser release \
2021-07-15 15:33:35 +00:00
--rm-dist \
--parallelism 2 \
2021-07-22 08:43:35 +00:00
${GRFLAGS}