30 lines
1.2 KiB
Bash
30 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# Package the same binaries used by native and container smoke tests.
|
|
set -eu
|
|
mode="${1:?Expected development or release}"
|
|
case "$mode" in
|
|
development) targets='linux/amd64' ;;
|
|
release) targets='linux/amd64 linux/arm64 windows/amd64 darwin/amd64 darwin/arm64' ;;
|
|
*) exit 2 ;;
|
|
esac
|
|
if [ "$mode" = development ]; then export RAWMARK_BUILD_CHANNEL=development; fi
|
|
export RAWMARK_BUILD_VERSION="$(python3 scripts/release.py version)"
|
|
export CGO_ENABLED=0
|
|
mkdir -p package/licenses downloads
|
|
cp LICENSE package/
|
|
cp web/LICENSE package/licenses/vue3-starter-MIT.txt
|
|
cp web/src/common/appearance/fonts/*-OFL.txt package/licenses/
|
|
cp web/src/common/appearance/fonts/maple/LICENSE.txt package/licenses/Maple-Mono-OFL.txt
|
|
for target in $targets; do
|
|
export GOOS="${target%/*}" GOARCH="${target#*/}"
|
|
extension=''
|
|
if [ "$GOOS" = windows ]; then extension='.exe'; fi
|
|
rm -f package/rawmark package/rawmark.exe
|
|
go vet ./...
|
|
go build -trimpath -ldflags="-s -w -X main.releaseVersion=$(python3 scripts/release.py version)" \
|
|
-o "package/rawmark$extension" ./cmd/rawmark
|
|
if [ "$target" = linux/amd64 ]; then python3 scripts/smoke-release.py package/rawmark; fi
|
|
python3 scripts/package-release.py "$GOOS" "$GOARCH"
|
|
done
|
|
python3 scripts/release.py bundle "$mode"
|