d2/ci/release/build.sh

34 lines
770 B
Bash
Raw Normal View History

2022-11-11 09:17:06 +00:00
#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../.."
2022-11-12 19:53:54 +00:00
. ./ci/sub/lib.sh
2022-11-11 09:17:06 +00:00
2022-11-12 19:53:54 +00:00
build() {
2022-11-11 09:17:06 +00:00
OS="$1"
ARCH="$2"
BUILD_DIR="$BUILD_DIR/$OS/$ARCH"
mkdir -p "$BUILD_DIR/bin"
sh_c cp LICENSE.txt "$BUILD_DIR"
sh_c "./ci/release/template/README.md.sh > $BUILD_DIR"
export GOOS=$(goos "$OS")
export GOARCH="$ARCH"
sh_c go build -ldflags "-X lib/version.Version=$VERSION" \
-o "$BUILD_DIR/bin/d2" ./cmd/d2
2022-11-12 19:53:54 +00:00
}
2022-11-11 09:17:06 +00:00
main() {
VERSION="$(git_describe_ref)"
BUILD_DIR="ci/release/build/$VERSION"
2022-11-12 19:53:54 +00:00
runjob linux-amd64 'OS=linux ARCH=amd64 build linux amd64' &
runjob linux-arm64 'OS=linux ARCH=arm64 build linux arm64' &
runjob macos-amd64 'OS=macos ARCH=amd64 build macos amd64' &
runjob macos-arm64 'OS=macos ARCH=arm64 build macos arm64' &
2022-11-11 09:17:06 +00:00
wait_jobs
}
main "$@"