#!/usr/bin/env bash set -eu export GO111MODULE=on NAME="ignition" ORG_PATH="github.com/coreos" REPO_PATH="${ORG_PATH}/${NAME}/v2" GLDFLAGS=${GLDFLAGS:-} export GOFLAGS=-mod=vendor if [ -z ${VERSION+a} ]; then VERSION=$(git describe --dirty --always) echo "Using version from git: $VERSION" fi GLDFLAGS+="-X github.com/coreos/ignition/v2/internal/version.Raw=${VERSION}" eval $(go env) if [ -z ${BIN_PATH+a} ]; then export BIN_PATH=${PWD}/bin/${GOARCH} fi export CGO_ENABLED=1 echo "Building ${NAME}..." # clean the cache since cgo isn't correctly handled by gocache. Test to see if this version # of go supports caching before trying to clear the cache go clean -help 2>&1 | grep -F '[-cache]' >/dev/null && go clean -cache -testcache go build -buildmode=pie -ldflags "${GLDFLAGS}" -o ${BIN_PATH}/${NAME} ${REPO_PATH}/internal NAME="ignition-validate" echo "Building ${NAME}..." go build -ldflags "${GLDFLAGS}" -o ${BIN_PATH}/${NAME} ${REPO_PATH}/validate