37632f60d9
It seems several CI builds failed for [v3.16.0-alpha](https://github.com/ooni/probe-cli/releases/tag/v3.16.0-alpha). Let's aim to repair miniooni and ooniprobe-windows for now. The other failing builds seem more tricky. (Android fails with an unsupported NDK while Linux fails with issues accessing the git repository from Docker, probably because the the user running inside Docker is not the user that owns the repository.)
65 lines
1.4 KiB
Bash
Executable File
65 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
if [[ $# -ne 3 ]]; then
|
|
echo "" 1>&2
|
|
echo "Cross-compiler for a Go PACKAGE producing GOOS/OONIARCH binaries." 1>&2
|
|
echo "" 1>&2
|
|
echo "usage: $0 GOOS OONIARCH PACKAGE" 1>&2
|
|
echo "" 1>&2
|
|
echo "GOOS must be one of: android, darwin, linux, windows." 1>&2
|
|
echo "" 1>&2
|
|
echo "OONIARCH must be one of: 386, amd64, arm64, armv6, armv7." 1>&2
|
|
echo "" 1>&2
|
|
echo "Features:" 1>&2
|
|
echo "" 1>&2
|
|
echo "* automatically sets -tags=ooni_psiphon_config when possible;" 1>&2
|
|
echo "" 1>&2
|
|
echo "* if GOLANG_EXTRA_FLAGS is set, pass it to the Go compiler." 1>&2
|
|
echo "" 1>&2
|
|
echo "Example:" 1>&2
|
|
echo "" 1>&2
|
|
echo " ./CLI/go-build-cross linux armv7 ./internal/cmd/miniooni" 1>&2
|
|
echo "" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
GOOS=$1
|
|
OONIARCH=$2
|
|
PACKAGE=$3
|
|
|
|
if [[ $OONIARCH == armv7 ]]; then
|
|
GOARCH=arm
|
|
GOARM=7
|
|
elif [[ $OONIARCH == armv6 ]]; then
|
|
GOARCH=arm
|
|
GOARM=6
|
|
else
|
|
GOARCH=$OONIARCH
|
|
GOARM=
|
|
fi
|
|
|
|
if [[ -f ./internal/engine/psiphon-config.json.age &&
|
|
-f ./internal/engine/psiphon-config.key ]]; then
|
|
OONI_PSIPHON_TAGS=ooni_psiphon_config
|
|
else
|
|
OONI_PSIPHON_TAGS=""
|
|
fi
|
|
|
|
EXT=
|
|
if [[ $GOOS == "windows" ]]; then
|
|
EXT=.exe
|
|
fi
|
|
|
|
PRODUCT=$(basename $PACKAGE)
|
|
|
|
set -x
|
|
export CGO_ENABLED=0
|
|
export GOOS=$GOOS
|
|
export GOARCH=$GOARCH
|
|
export GOARM=$GOARM
|
|
go build -tags=$OONI_PSIPHON_TAGS -ldflags="-s -w" \
|
|
-o ./CLI/$PRODUCT-$GOOS-$OONIARCH$EXT ${GOLANG_EXTRA_FLAGS:-} \
|
|
$PACKAGE
|