10f809cb5b8122df15340b1c911c4024c3df5a5e
[infra/cicd.git] / jjb / oransc / verify-jobs-go.sh
1 #!/bin/bash -x
2
3 set -euo pipefail
4
5 DIRECTORY = $WORKSPACE"/"$DIRECTORY
6 cd $DIRECTORY
7
8 # Read desired Go version from go.mod file
9 desired_version=$(grep '^go' go.mod | grep -Eo '[0-9]\.[0-9]+')
10
11 # Check installed Go version
12 installed_version=$(go version | awk '{print $3}' | sed 's/go//')
13
14 if [ "$desired_version" != "$installed_version" ]; then
15     echo "Desired Go version: $desired_version"
16     echo "Installed Go version: $installed_version"
17
18     # Remove existing Go installation
19     sudo rm -fr /usr/local/go
20
21     echo "Download go $desired_version"
22     curl -L "https://go.dev/dl/go$desired_version.linux-amd64.tar.gz" | sudo tar -C /usr/local -zxf -
23
24     export PATH=$PATH:/usr/local/go/bin
25 else
26     echo "Go version is up to date: $desired_version"
27 fi
28
29 echo "Download project deps"
30 go mod tidy
31
32 echo "Force build"
33 go build -a -v
34
35 echo "Run tests"
36 go test ./... -json