gocommon/.drone.yml

94 lines
1.7 KiB
YAML

---
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: {}