33 lines
824 B
Bash
Executable File
33 lines
824 B
Bash
Executable File
set -e
|
|
|
|
# This script updates server and client go binaries for interop tests.
|
|
# It clones grpc-go, compiles interop clients and servers for linux, windows
|
|
# and macos and finally deletes the cloned repo.
|
|
#
|
|
# It is not meant to be executed on every test run or CI and should run from
|
|
# inside tonic/interop.
|
|
|
|
command -v go >/dev/null 2>&1 || {
|
|
echo >&2 "go executable is not available"
|
|
exit 1
|
|
}
|
|
|
|
if [ ! -d "./grpc-go" ]; then
|
|
git clone https://github.com/grpc/grpc-go.git
|
|
fi
|
|
|
|
cd grpc-go
|
|
|
|
PLATFORMS="darwin linux windows"
|
|
ROLES="client server"
|
|
ARCH=amd64
|
|
|
|
for ROLE in $ROLES; do
|
|
for OS in $PLATFORMS; do
|
|
FILENAME="${ROLE}_${OS}_${ARCH}"
|
|
if [[ "${OS}" == "windows" ]]; then FILENAME="${FILENAME}.exe"; fi
|
|
GOOS=$OS GOARCH=$ARCH go build -o "../bin/$FILENAME" "./interop/$ROLE"
|
|
done
|
|
done
|
|
|
|
rm -rf ../grpc-go |