forked from coreos/ignition
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build
executable file
·37 lines (26 loc) · 979 Bytes
/
build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/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 internal
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