#!/bin/bash set -e BLUE='\E[1;34m' CYAN='\E[1;36m' YELLOW='\E[1;33m' GREEN='\E[1;32m' RESET='\E[0m' GSA_VERSION=$(curl -sSfL "https://api.github.com/repos/Zxilly/go-size-analyzer/releases/latest" | jq -r '.tag_name') # Determine the correct binary file for the architecture given case $TARGETPLATFORM in linux/arm64) ARCH=arm64 ;; linux/arm/v7) ARCH=arm ;; *) ARCH=amd64 ;; esac if [ "$ARCH" = "amd64" ]; then echo -e "${BLUE}❯ ${CYAN}Installing golangci-lint ...${RESET}" go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest echo -e "${BLUE}❯ ${CYAN}Installing richgo ...${RESET}" go install github.com/kyoh86/richgo@latest echo -e "${BLUE}❯ ${CYAN}Installing govulncheck ...${RESET}" go install golang.org/x/vuln/cmd/govulncheck@latest echo -e "${BLUE}❯ ${CYAN}Installing tparse ...${RESET}" go install github.com/mfridman/tparse@latest echo -e "${BLUE}❯ ${CYAN}Installing go-junit-report ...${RESET}" go install github.com/jstemmer/go-junit-report@latest echo -e "${BLUE}❯ ${CYAN}Installing go-test-coverage ...${RESET}" go install github.com/vladopajic/go-test-coverage/v2@latest echo -e "${BLUE}❯ ${CYAN}Installing go-size-analyzer ...${RESET}" wget -O "/tmp/go-size-analyzer_linux_${ARCH}.tar.gz" "https://github.com/Zxilly/go-size-analyzer/releases/download/${GSA_VERSION}/go-size-analyzer_linux_${ARCH}.tar.gz" cd /usr/bin/ tar -xzf "/tmp/go-size-analyzer_linux_${ARCH}.tar.gz" gsa rm -rf "/tmp/go-size-analyzer_linux_${ARCH}.tar.gz" echo -e "${BLUE}❯ ${CYAN}Installing go-mod-upgrade ...${RESET}" go install github.com/oligot/go-mod-upgrade@latest fi rm -rf "$(go env GOPATH)/.cache/go-build" echo -e "${BLUE}❯ ${GREEN}Tools install completed${RESET}"