-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.drone.yml
100 lines (91 loc) · 1.94 KB
/
.drone.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
---
kind: pipeline
name: testing
steps:
- name: fetch-tags
pull: default
image: docker:git
commands:
- git fetch --tags --force
when:
event:
exclude:
- pull_request
- name: test
pull: always
image: golang:1.13
commands:
- export PATH=$PATH:/go:/srv/app/bin
- go vet -mod=vendor ./...
- go test -mod=vendor ./...
environment:
GOPATH: /srv/app
when:
event:
- push
- tag
- pull_request
---
kind: pipeline
name: release-tag
trigger:
event:
- tag
depends_on:
- testing
steps:
- name: release-build
pull: always
image: golang:1.13
commands:
- go generate -mod=vendor ./modules/...
- GOOS=darwin GOARCH=amd64 go build -tags=bindata -mod=vendor -ldflags="-s -w -X 'main.version=${DRONE_TAG}'" -o dist/ftpd-${DRONE_TAG}-darwin-10.6-amd64
- GOOS=linux GOARCH=amd64 go build -tags=bindata -mod=vendor -ldflags="-s -w -X 'main.version=${DRONE_TAG}'" -o dist/ftpd-${DRONE_TAG}-linux-amd64
- GOOS=windows GOARCH=amd64 go build -tags=bindata -mod=vendor -ldflags="-s -w -X 'main.version=${DRONE_TAG}'" -o dist/ftpd-${DRONE_TAG}-windows-amd64.exe
environment:
GO111MODULE: on
- name: release-tag-gitea
pull: always
image: plugins/gitea-release:latest
settings:
api_key:
from_secret: gitea_token
base_url: https://gitea.com
files: dist/*
---
kind: pipeline
name: release-docker
depends_on:
- testing
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
steps:
- name: dryrun
pull: always
image: plugins/docker:linux-amd64
settings:
dry_run: true
repo: goftp/ftpd
tags: ${DRONE_TAG}
when:
event:
- pull_request
- name: publish
pull: always
image: plugins/docker:linux-amd64
settings:
repo: goftp/ftpd
tags: ${DRONE_TAG}
password:
from_secret: docker_password
username:
from_secret: docker_username
environment:
VERSION: ${DRONE_TAG}
when:
event:
exclude:
- pull_request