#!/bin/bash

IMPORT_PATH="github.com/lbryio/herald.go"

function print_and_die() {
  echo "$1"
  exit 1
}

# Get new tags from remote
git fetch --tags

# Get latest tag name
LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
# Make sure it match the format vX.XXXX.XX.XX
[[ $LATEST_TAG =~ ^v[0-9]+\.[0-9]{4}\.[0-9]{2}\.[0-9]{2}.*$ ]] || print_and_die "bad version ${LATEST_TAG}"
VERSION=$LATEST_TAG

echo "using tag $LATEST_TAG"

# Checkout latest tag
git checkout "$LATEST_TAG"

# CGO_ENABLED=0 go build -v -ldflags "-X ${IMPORT_PATH}/meta.Version=${VERSION}"
go build -o herald -v -ldflags "-X ${IMPORT_PATH}/meta.Version=${VERSION}"
docker build . -t lbry/herald.go:latest
docker tag lbry/herald.go:latest lbry/herald.go:"$LATEST_TAG"
docker push lbry/herald.go:latest
docker push lbry/herald.go:"$LATEST_TAG"
