2020-11-16 17:38:04 +03:00
#!/usr/bin/env bash
2017-05-03 07:00:05 +03:00
set -e
if [ -z "$VERSION" ]; then
VERSION=$(git rev-parse HEAD)
fi
if [ -z "$CODENAME" ]; then
CODENAME=cheddar
fi
if [ -z "$DATE" ]; then
DATE=$(date -u '+%Y-%m-%d_%I:%M:%S%p')
fi
2017-09-08 15:50:04 +03:00
echo "Building ${VERSION} ${CODENAME} ${DATE}"
2020-09-16 16:46:04 +03:00
GIT_REPO_URL='github.com/traefik/traefik/pkg/version'
2017-05-04 10:31:39 +03:00
GO_BUILD_CMD="go build -ldflags"
2017-09-08 15:50:04 +03:00
GO_BUILD_OPT="-s -w -X ${GIT_REPO_URL}.Version=${VERSION} -X ${GIT_REPO_URL}.Codename=${CODENAME} -X ${GIT_REPO_URL}.BuildDate=${DATE}"
2017-05-04 10:31:39 +03:00
2017-11-03 19:02:14 +03:00
# Build amd64 binaries
2017-05-03 07:00:05 +03:00
OS_PLATFORM_ARG=(linux windows darwin)
OS_ARCH_ARG=(amd64)
2019-05-10 18:24:06 +03:00
for OS in "${OS_PLATFORM_ARG[@]}"; do
2017-11-03 19:02:14 +03:00
BIN_EXT=''
if [ "$OS" == "windows" ]; then
BIN_EXT='.exe'
fi
2019-05-10 18:24:06 +03:00
for ARCH in "${OS_ARCH_ARG[@]}"; do
2017-09-08 15:50:04 +03:00
echo "Building binary for ${OS}/${ARCH}..."
2017-11-03 19:02:14 +03:00
GOARCH=${ARCH} GOOS=${OS} CGO_ENABLED=0 ${GO_BUILD_CMD} "${GO_BUILD_OPT}" -o "dist/traefik_${OS}-${ARCH}${BIN_EXT}" ./cmd/traefik/
2017-05-03 07:00:05 +03:00
done
done
# Build arm64 binaries
OS_PLATFORM_ARG=(linux)
OS_ARCH_ARG=(arm64)
2019-05-10 18:24:06 +03:00
for OS in "${OS_PLATFORM_ARG[@]}"; do
for ARCH in "${OS_ARCH_ARG[@]}"; do
2017-09-08 15:50:04 +03:00
echo "Building binary for ${OS}/${ARCH}..."
GOARCH=${ARCH} GOOS=${OS} CGO_ENABLED=0 ${GO_BUILD_CMD} "${GO_BUILD_OPT}" -o "dist/traefik_${OS}-${ARCH}" ./cmd/traefik/
2017-05-03 07:00:05 +03:00
done
done