diff --git a/scripts/init-go.sh b/scripts/init-go.sh index 178155f..68688cc 100755 --- a/scripts/init-go.sh +++ b/scripts/init-go.sh @@ -3,6 +3,17 @@ set -euo pipefail source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/_common.sh" +apt_install() { + if command -v sudo >/dev/null 2>&1 && [[ "${EUID}" -ne 0 ]]; then + sudo apt-get update + sudo apt-get install -y golang + return + fi + + apt-get update + apt-get install -y golang +} + if [ ! -f go.mod ]; then echo ">>> go.mod not found, initializing module" go mod init account @@ -17,8 +28,7 @@ if ! command -v go >/dev/null; then brew install go@1.24 brew link --overwrite --force go@1.24 else - sudo apt-get update - sudo apt-get install -y golang + apt_install fi fi diff --git a/scripts/setup.sh b/scripts/setup.sh index e718fdb..e5ecba3 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -135,9 +135,14 @@ case "$MODE" in fi if [[ -f "go.mod" ]]; then - need_cmd go - log "downloading Go dependencies (go mod download)" - go mod download + if command -v go >/dev/null 2>&1; then + log "downloading Go dependencies (go mod download)" + go mod download + elif [[ "${ACTION}" == "deploy" ]]; then + log "go not found; process deploy will install it during scripts/install-process.sh" + else + need_cmd go + fi did_any=true fi ;;