d2/ci/release/build.sh
2022-11-13 22:49:46 -08:00

33 lines
770 B
Bash
Executable file

#!/bin/sh
set -eu
cd -- "$(dirname "$0")/../.."
. ./ci/sub/lib.sh
build() {
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
}
main() {
VERSION="$(git_describe_ref)"
BUILD_DIR="ci/release/build/$VERSION"
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' &
wait_jobs
}
main "$@"