--- kind: pipeline type: docker name: test-pipeline platform: os: linux arch: amd64 steps: - name: environment image: golang:1.21 commands: - go version - go env volumes: - name: gopath path: /go - name: tools image: golang:1.21 commands: - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.54.1 - go install github.com/tebeka/go2xunit@latest - go install github.com/t-yuki/gocover-cobertura@latest volumes: - name: gopath path: /go depends_on: - environment - name: tidy image: golang:1.21 commands: - go mod tidy - git diff --exit-code -- go.mod go.sum volumes: - name: gopath path: /go depends_on: - tools - name: lint image: golang:1.21 commands: - echo 'Running linting' - golangci-lint run volumes: - name: gopath path: /go depends_on: - tools - name: test image: golang:1.21 commands: - go test -cover -v ./... volumes: - name: gopath path: /go depends_on: - tools - name: send telegram notification image: appleboy/drone-telegram settings: token: from_secret: telegram_token to: from_secret: telegram_chat_id message: > {{#success build.status}} ✅ Build *#{{build.number}}* of *{{repo.name}}* succeeded. {{else}} ❌ Build *#{{build.number}}* of *{{repo.name}}* failed. {{/success}} 📝 Commit on *{{commit.branch}}*: ``` {{commit.message}} ``` 🌐 {{ build.link }} when: status: - failure - success depends_on: - test - lint - tidy volumes: - name: gopath temp: {}