image: freebsd/latest
packages:
- go
sources:
- https://git.sr.ht/~samwhited/xmpp
tasks:
- setup: |
go version
go env
go get -u golang.org/x/lint/golint
go get -u github.com/securego/gosec/cmd/gosec
go get -u git.sr.ht/~samwhited/checkdoc
go get -u mellium.im/checkmd
echo 'export PATH=$(go env GOPATH)/bin:$PATH' >> ~/.buildenv
- stable: |
cd xmpp/
go test -v -cover ./...
- examples: |
cd xmpp/examples/
for d in ./*/; do
pushd $d
go build
popd
done
- lint: |
cd xmpp/
go vet ./...
gofmt -s -l . && [ -z "$(gofmt -s -l .)" ]
golint -set_exit_status ./...
gosec ./...
checkdoc ./...
checkmd .
- validate: |
cd xmpp/
go mod tidy
git diff --exit-code -- go.mod go.sum
cd examples/
for d in ./*/; do
pushd $d
go mod tidy
git diff --exit-code -- go.mod go.sum
popd
done
- tip: |
go get golang.org/dl/gotip
gotip download
cd xmpp/
gotip test -v -cover ./...