#!/bin/bash

set -e

cd $(dirname $0)/..

echo 'Running: go mod verify'
go mod verify

echo 'Running: gofmt -s -w .'
gofmt -s -w .
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
  echo 'go fmt produced differences'
  exit 1
fi

echo 'Running: go generate'
go generate
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
  echo 'go generate produced differences'
  exit 1
fi

echo 'Running: go mod tidy'
go mod tidy
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
  echo 'go mod tidy produced differences'
  exit 1
fi
