github.com/adevinta/maiao@v0.0.0-20240318133227-b6f9656b5e07/scripts/cibuild (about) 1 #! /bin/bash 2 3 set -e 4 5 go install github.com/axw/gocov/gocov@latest 6 go install github.com/AlekSi/gocov-xml@latest 7 go install github.com/jstemmer/go-junit-report@latest 8 9 set +e 10 11 go test -v ./... -cover -covermode=count -coverprofile=profile.cov | tee /dev/stderr | go-junit-report > junit.xml 12 exit_code=$? 13 14 gocov convert profile.cov | gocov-xml > coverage.xml 15 16 if [[ ${exit_code} -ne 0 ]]; then 17 exit ${exit_code} 18 fi 19 20 set -euo pipefail 21 22 mkdir -p dist 23 24 function build(){ 25 echo "building for os=${3} arch=${2}" 26 env GOARCH=${2} GOOS=${3} go build -o $1 -ldflags "-X github.com/adevinta/maiao/pkg/version.Version=$(git describe --always --tags --dirty)" ./cmd/maiao 27 } 28 29 for arch in amd64 arm64; do 30 build dist/git-review-windows-${arch} ${arch} windows 31 build dist/git-review-Darwin-${arch} ${arch} darwin 32 build dist/git-review-Linux-${arch} ${arch} linux 33 done 34 35 for arch in arm 386; do 36 build dist/git-review-Linux-${arch} ${arch} linux 37 build dist/git-review-windows-${arch} ${arch} windows 38 done 39 40 for f in dist/git-review-*; do 41 shasum -a1 ${f} | awk '{print $1}' > ${f}.sha1sum 42 shasum -a256 ${f} | awk '{print $1}' > ${f}.sha256sum 43 done 44 45 46 echo "built objects" 47 find dist