language: go go: - 1.5.x - 1.6.x - 1.7.x - 1.8.x - 1.9.x - master sudo: true env: global: - PGUSER=postgres - PQGOSSLTESTS=1 - PQSSLCERTTEST_PATH=$PWD/certs - PGHOST=127.0.0.1 - MEGACHECK_VERSION=2017.2.1 matrix: - PGVERSION=10 - PGVERSION=9.6 - PGVERSION=9.5 - PGVERSION=9.4 - PGVERSION=9.3 - PGVERSION=9.2 - PGVERSION=9.1 - PGVERSION=9.0 before_install: - ./.travis.sh postgresql_uninstall - ./.travis.sh pgdg_repository - ./.travis.sh postgresql_install - ./.travis.sh postgresql_configure - ./.travis.sh client_configure - ./.travis.sh megacheck_install - ./.travis.sh golint_install - go get golang.org/x/tools/cmd/goimports before_script: - createdb pqgotest - createuser -DRS pqgossltest - createuser -DRS pqgosslcert script: - > goimports -d -e $(find -name '*.go') | awk '{ print } END { exit NR == 0 ? 0 : 1 }' - go vet ./... # For compatibility with Go 1.5, launch only if megacheck is present. - > which megacheck > /dev/null && megacheck -go 1.5 ./... || echo 'megacheck is not supported, skipping check' # For compatibility with Go 1.5, launch only if golint is present. - > which golint > /dev/null && golint ./... || echo 'golint is not supported, skipping check' - PQTEST_BINARY_PARAMETERS=no go test -race -v ./... - PQTEST_BINARY_PARAMETERS=yes go test -race -v ./...