docker-compose.yml
version: '3'
services:
test:
image: golang:${GO_VERSION:-1.19}
working_dir: /source
command: sh -c "find . -name 'go.mod' -printf '%h\\n' | xargs -L1 sh -c 'cd $$0 && go test -coverprofile c.out -v ./...'"
environment:
PHOENIX_HOST: http://phoenix:8765
MYSQL_HOST: mysql:3306
POSTGRES_HOST: postgres:5432
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache
depends_on:
- mysql
- phoenix
- postgres
mysql:
image: mysql:8
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
phoenix:
image: boostport/hbase-phoenix-all-in-one:2.0-5.0
postgres:
image: postgres:14-alpine
environment:
POSTGRES_HOST_AUTH_METHOD: trust
lint:
image: golangci/golangci-lint:v1.50
working_dir: /source
command: golangci-lint run -v
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache