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