diff --git a/scripts/build.sh b/scripts/build.sh index c18558f4b8..0d6bc7b813 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,6 +1,6 @@ #!/bin/bash - +export CGO_ENABLED=0 LDFLAGS=( -w -extldflags @@ -10,20 +10,26 @@ LDFLAGS=( -X main.BuildDate="$(date -u '+%Y-%m-%dT%I:%M:%S%p')" ) -export CGO_ENABLED=0 - +# If we are build from the dockerfile only build required binary if [[ "${BUILD_IN_DOCKER}" == "true" ]]; then GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags "${LDFLAGS[*]}" ./cmd/scw -else - SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" - BIN_DIR="$ROOT_DIR/bin" + exit 0 + fi + + +BIN_DIR="./bin" +VERSION=$(go run cmd/scw/main.go -o json version | jq -r .version | tr . -) +BIN_LINUX="$BIN_DIR/scw-$VERSION-linux-x86_64" +BIN_DARWIN="$BIN_DIR/scw-$VERSION-darwin-x86_64" +BIN_WINDOWS="$BIN_DIR/scw-$VERSION-windows-x86_64.exe" + +mkdir -p $BIN_DIR +GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS[*]}" -o "$BIN_LINUX" cmd/scw/main.go +GOOS=darwin GOARCH=amd64 go build -ldflags "${LDFLAGS[*]}" -o "$BIN_DARWIN" cmd/scw/main.go +GOOS=windows GOARCH=amd64 go build -ldflags "${LDFLAGS[*]}" -o "$BIN_WINDOWS" cmd/scw/main.go - mkdir -p $BIN_DIR - - VERSION=$(go run cmd/scw/main.go -o json version | jq -r .version | tr . -) - - GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS[*]}" -o "$BIN_DIR/scw-$VERSION-linux-x86_64" cmd/scw/main.go - GOOS=darwin GOARCH=amd64 go build -ldflags "${LDFLAGS[*]}" -o "$BIN_DIR/scw-$VERSION-darwin-x86_64" cmd/scw/main.go - GOOS=windows GOARCH=amd64 go build -ldflags "${LDFLAGS[*]}" -o "$BIN_DIR/scw-$VERSION-windows-x86_64.exe" cmd/scw/main.go -fi +shasum -a 256 \ + "$BIN_LINUX" \ + "$BIN_DARWIN" \ + "$BIN_WINDOWS" \ + | sed -e 's#./bin/##' > "$BIN_DIR/SHA256SUMS"