Files
Charon/scripts/install-go-1.25.7.sh
akanealw eec8c28fb3
Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
changed perms
2026-04-22 18:19:14 +00:00

62 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Script to install go 1.26.0 to /usr/local/go
# Usage: sudo ./scripts/install-go-1.26.0.sh
GO_VERSION="1.26.0"
ARCH="linux-amd64"
TARFILE="go${GO_VERSION}.${ARCH}.tar.gz"
TMPFILE="/tmp/${TARFILE}"
# Ensure GOPATH is set
: ${GOPATH:=$HOME/go}
: ${GOBIN:=${GOPATH}/bin}
# Download
if [ ! -f "$TMPFILE" ]; then
echo "Downloading go${GO_VERSION}..."
curl -sSfL -o "$TMPFILE" "https://go.dev/dl/${TARFILE}"
fi
# Remove existing installation
if [ -d "/usr/local/go" ]; then
echo "Removing existing /usr/local/go..."
sudo rm -rf /usr/local/go
fi
# Extract
echo "Extracting to /usr/local..."
sudo tar -C /usr/local -xzf "$TMPFILE"
# Setup system PATH via /etc/profile.d
echo "Creating /etc/profile.d/go.sh to export /usr/local/go/bin and GOPATH/bin"
sudo tee /etc/profile.d/go.sh > /dev/null <<'EOF'
export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH
EOF
sudo chmod +x /etc/profile.d/go.sh
# Update current session PATH
export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH
# Verify
echo "Installed go: $(go version)"
# Optionally install gopls
echo "Installing gopls..."
# renovate: datasource=go depName=golang.org/x/tools
go install golang.org/x/tools/gopls@v0.41.0
GOPLS_PATH="$GOPATH/bin/gopls"
if [ -f "$GOPLS_PATH" ]; then
echo "gopls installed at $GOPLS_PATH"
$GOPLS_PATH version || true
else
echo "gopls not installed in GOPATH/bin"
fi
cat <<'EOF'
Done. Please restart your shell or run:
source /etc/profile.d/go.sh
and restart your editor's Go language server (Go: Restart Language Server in VS Code)
EOF