branches: main pipeline: # use vendor to cache dependencies vendor: image: golang:1.18 commands: - go mod vendor lint: image: golangci/golangci-lint:v1.45.2 commands: - go version - go install mvdan.cc/gofumpt@latest - "[ $(gofumpt -extra -l . | wc -l) != 0 ] && { echo 'code not formated'; exit 1; }" - golangci-lint run --timeout 5m test: image: golang:1.18 commands: - go test ./... build: image: golang:1.18 commands: - go build integration-tests: image: golang:1.18 detach: true commands: - go run . --verbose & - pid=$! - sleep 10s - cd integration && go test -tags integration ./... - kill $pid environment: - ACME_API=https://acme.mock.directory - ACME_ACCEPT_TERMS=true - PAGES_DOMAIN=localhost.mock.directory - RAW_DOMAIN=raw.localhost.mock.directory - PORT=4430