when: - event: [pull_request] - event: push branch: - ${CI_REPO_DEFAULT_BRANCH} variables: - &go_image 'golang:1.21' services: database: image: postgres:14.8 environment: POSTGRES_DB: dcbot POSTGRES_PASSWORD: dcbot redis: image: redis:7.0.12 steps: generate: image: *go_image pull: true commands: - make generate test: image: *go_image group: test pull: true environment: TESTS_DB_DSN: postgres://postgres:dcbot@database:5432/dcbot?sslmode=disable TESTS_REDIS_CONNECTION_STRING: redis://:@redis:6379/0 commands: - go test -race -coverprofile=coverage.txt -covermode=atomic ./... lint: image: golangci/golangci-lint:v1.54 pull: true group: test commands: - golangci-lint run check-go-mod: image: *go_image group: test pull: true commands: - go mod tidy - git diff --exit-code go.mod