ci: add tag-based release pipeline with coverage and source archive
This commit is contained in:
parent
2e267ac6dd
commit
91c2a313f2
27
.drone.yml
27
.drone.yml
|
|
@ -2,6 +2,11 @@ kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: go-lib/util
|
name: go-lib/util
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event: tag
|
||||||
|
ref:
|
||||||
|
- refs/tags/v*
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: test
|
- name: test
|
||||||
image: golang:1.25.8
|
image: golang:1.25.8
|
||||||
|
|
@ -13,4 +18,24 @@ steps:
|
||||||
- go tool cover -func .build/coverage.out | tee .build/coverage.txt
|
- go tool cover -func .build/coverage.out | tee .build/coverage.txt
|
||||||
- bash scripts/check-coverage.sh .build/coverage.out 80
|
- bash scripts/check-coverage.sh .build/coverage.out 80
|
||||||
- go install golang.org/x/vuln/cmd/govulncheck@latest
|
- go install golang.org/x/vuln/cmd/govulncheck@latest
|
||||||
- govulncheck -json ./... > vulncheck.json
|
- govulncheck -json ./... > vulncheck.json
|
||||||
|
|
||||||
|
- name: package
|
||||||
|
image: golang:1.25.8
|
||||||
|
commands:
|
||||||
|
- tar czf .build/sources.tar.gz --exclude=.build --exclude=.git --exclude=.drone.yml .
|
||||||
|
when:
|
||||||
|
status: success
|
||||||
|
|
||||||
|
- name: release
|
||||||
|
image: plugins/gitea-release
|
||||||
|
settings:
|
||||||
|
api_key:
|
||||||
|
from_secret: gitea_token
|
||||||
|
files:
|
||||||
|
- .build/coverage.txt
|
||||||
|
- .build/sources.tar.gz
|
||||||
|
title: ${DRONE_TAG}
|
||||||
|
note: "Release ${DRONE_TAG}\n\nCoverage report: coverage.txt"
|
||||||
|
when:
|
||||||
|
status: success
|
||||||
Loading…
Reference in New Issue