image: golang:1.12 cache: paths: - .go/ before_script: - mkdir -p .go - export GOPATH="$CI_PROJECT_DIR/.go" stages: - vet - test - build vet: stage: vet script: - go env - go vet ./... test: stage: test script: - go test -v -cover $(go list ./... | grep -v tank/store) test-store-mysql: stage: test services: - mysql:5.7 variables: MYSQL_DATABASE: "tank" MYSQL_USER: "tank" MYSQL_PASSWORD: "aura" MYSQL_ROOT_PASSWORD: "yes" AURA_TANK_TEST_DB_TYPE: "mysql" AURA_TANK_TEST_DB_HOST: "mysql" script: - go test -v -cover ./store test-store-postgres: stage: test services: - postgres:9.6 variables: POSTGRES_DB: "tank" POSTGRES_USER: "tank" POSTGRES_PASSWORD: "aura" AURA_TANK_TEST_DB_TYPE: "postgres" AURA_TANK_TEST_DB_HOST: "postgres" script: - go test -v -cover ./store build: stage: build script: - go build -ldflags "-extldflags '-static'" -tags netgo -o $CI_PROJECT_DIR/tank ./cmd/tank ## sqlite needs cgo... :( ##- go build -o $CI_PROJECT_DIR/tank ./cmd/tank artifacts: paths: - tank