Files

64 lines
1.6 KiB
Python
Executable File

#!/bin/bash
export GOPATH="${HOME}/src/cgpcli"
# если на целевой ОС не совпадает glibc, то собираем без зависимостей.
# результирующий файл, возможно, получится медленнее и большего размера.
export CGO_ENABLED=0
if [ "$1" == "fmt" ]; then
go $*
elif [ "$1" == "run" ]; then
. .env
go run $2 $3 $4 $5
elif [ "$1" == "sandbox-test" ]; then
. .env
echo "--- Syncing sources to sandbox ---"
rsync -avz --delete \
--exclude '.git/' \
--exclude '*.bin' \
--exclude 'vendor/' \
"./" "${REMOTE_HOST}:${REMOTE_PATH}/"
echo ""
echo "--- Running tests on sandbox ---"
ssh "${REMOTE_HOST}" "cd ${REMOTE_PATH} && ./build test"
elif [ "$1" == "sandbox-test-one" ]; then
. .env
echo "--- Syncing sources to sandbox ---"
rsync -avz --delete \
--exclude '.git/' \
--exclude '*.bin' \
--exclude 'vendor/' \
"./" "${REMOTE_HOST}:${REMOTE_PATH}/"
echo ""
echo "--- Running tests on sandbox ---"
ssh "${REMOTE_HOST}" "cd ${REMOTE_PATH} && ./build test-one $2"
elif [ "$1" == "test" ]; then
. .env
go test -v
elif [ "$1" == "test-one" ]; then
. .env
go test -v -run $2
elif [ "$1" == "bench" ]; then
go test -bench=. -benchmem $2
elif [ "$1" == "bench2" ]; then
go test -bench=$2 -cpuprofile=cpu.pprof -benchmem $3
go test -bench=$2 -memprofile=mem.pprof -benchmem $3
elif [ "$1" == "tidy" ]; then
go mod tidy
elif [ "$1" == "vet" ]; then
echo "vet..."
go vet
else
go build
fi