mirror of
https://github.com/Quad4-Software/Reticulum-Go
synced 2026-08-29 23:48:44 -04:00
45 lines
1.2 KiB
Bash
Executable file
45 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Install pinned Go-based dev tools into GOBIN (default: go env GOBIN or GOPATH/bin).
|
|
set -eu
|
|
|
|
ROOT="$(CDPATH='' cd -- "$(dirname "$0")/../.." && pwd)"
|
|
cd "$ROOT"
|
|
|
|
. "$ROOT/scripts/ci/dev-tools.env"
|
|
|
|
if ! command -v go >/dev/null 2>&1; then
|
|
echo "bootstrap: install Go $CI_GO_VERSION first (mise install, or https://go.dev/dl/)" >&2
|
|
exit 1
|
|
fi
|
|
|
|
GOBIN="${GOBIN:-$(go env GOBIN)}"
|
|
if [ -z "$GOBIN" ]; then
|
|
GOBIN="$(go env GOPATH)/bin"
|
|
fi
|
|
mkdir -p "$GOBIN"
|
|
export GOBIN
|
|
export PATH="$GOBIN:$PATH"
|
|
|
|
echo "bootstrap: installing dev tools into $GOBIN"
|
|
|
|
install_tool() {
|
|
module="$1"
|
|
version="$2"
|
|
env GOFLAGS= GOSUMDB=sum.golang.org GOPROXY=https://proxy.golang.org,direct \
|
|
go install "${module}@${version}"
|
|
}
|
|
|
|
install_tool "github.com/go-task/task/v3/cmd/task" "$CI_TASK_VERSION"
|
|
install_tool "github.com/mgechev/revive" "$CI_REVIVE_VERSION"
|
|
install_tool "honnef.co/go/tools/cmd/staticcheck" "$CI_STATICCHECK_VERSION"
|
|
|
|
echo ""
|
|
echo "bootstrap: Go tools installed. Ensure GOBIN is on PATH:"
|
|
echo " export PATH=\"$GOBIN:\$PATH\""
|
|
echo ""
|
|
echo "bootstrap: optional system packages (distro package manager):"
|
|
echo " shellcheck, yamllint"
|
|
echo ""
|
|
echo "bootstrap: next steps:"
|
|
echo " task doctor"
|
|
echo " task hooks:install"
|