65 lines
1.3 KiB
YAML
65 lines
1.3 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: go-lib/micro
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- tag
|
|
ref:
|
|
include:
|
|
- refs/heads/**
|
|
- refs/tags/v*
|
|
|
|
steps:
|
|
- name: test
|
|
image: golang:1.25.8
|
|
commands:
|
|
- go get ./...
|
|
- go vet ./...
|
|
- mkdir -p .build
|
|
- go test -v -coverprofile .build/coverage.out -coverpkg=./config,./web ./...
|
|
- go tool cover -func .build/coverage.out | tee .build/coverage.txt
|
|
- bash scripts/check-coverage.sh .build/coverage.out 80
|
|
- go install golang.org/x/vuln/cmd/govulncheck@latest
|
|
- govulncheck -json ./... > .build/vulncheck.json
|
|
|
|
- name: release-notes
|
|
image: golang:1.25.8
|
|
commands:
|
|
- git fetch --tags --force || true
|
|
- bash scripts/generate-release-notes.sh
|
|
when:
|
|
event:
|
|
- tag
|
|
status:
|
|
- success
|
|
|
|
- name: package
|
|
image: golang:1.25.8
|
|
commands:
|
|
- tar czf .build/sources.tar.gz --exclude=.build --exclude=.git --exclude=.drone.yml .
|
|
when:
|
|
event:
|
|
- tag
|
|
status:
|
|
- success
|
|
|
|
- name: release
|
|
image: plugins/gitea-release
|
|
settings:
|
|
base_url: https://scm.yoorie.de
|
|
api_key:
|
|
from_secret: gitea_token
|
|
files:
|
|
- .build/coverage.txt
|
|
- .build/sources.tar.gz
|
|
- .build/release-notes.md
|
|
title: ${DRONE_TAG}
|
|
note_from_file: .build/release-notes.md
|
|
when:
|
|
event:
|
|
- tag
|
|
status:
|
|
- success
|