Using GOROOT and putting the source under your GOPATH is no longer required with newer versions of Go.
Here are the steps I used and was able to compile from source (Using Go 1.13.1 installed in /usr/local/go on Fedora 30) :
$ which go
/usr/local/go/bin/go
$ go version
go version go1.13.1 linux/amd64
$ env | grep GO
GOPATH=/home/todd/go
$ go build ./cmd/sensu-agent
go: downloading golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980
go: downloading github.com/gorilla/mux v1.7.3
go: downloading go.etcd.io/bbolt v1.3.4
[many lines of go: downloading deleted for brevity]
go: finding github.com/libp2p/go-reuseport v0.0.1
go: finding github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada
$ ls -l sensu-agent
-rwxrwxr-x 1 todd todd 72772879 Jun 11 07:56 sensu-agent
$ go build ./cmd/sensu-backend
go: downloading github.com/stretchr/testify v1.6.0
go: downloading github.com/mattn/go-isatty v0.0.8
[many lines of go: downloading deleted for brevity]
go: finding github.com/stretchr/testify v1.6.0
go: finding gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
$ ls -l sensu-backend
-rwxrwxr-x 1 todd todd 86723826 Jun 11 07:58 sensu-backend