-
Notifications
You must be signed in to change notification settings - Fork 7
/
.drone.yml
135 lines (115 loc) · 2.48 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
---
kind: pipeline
type: docker
name: linux-amd64
platform:
arch: amd64
os: linux
steps:
- name: get
image: golang:1.14.0
commands:
- go mod download
- name: linelint
group: test
image: fernandrone/linelint:latest
pull: true
- name: markdown
image: node:14.13.1
group: test
commands:
- npm install -g markdownlint-cli
- markdownlint .
- name: golangci-lint
group: test
image: golangci/golangci-lint:v1.26.0
commands:
- golangci-lint run
- name: test
group: test
image: golang:1.14.0
commands:
- go test ./...
- name: build-linux-amd64
image: golang:1.14.0
commands:
- go build -o bin/linelint-linux-amd64
environment:
GOOS: linux
GOARCH: amd64
when:
event: push
- name: build-all-archs
image: golang:1.14.0
commands:
- GOARCH=amd64 GOOS=linux go build -o bin/linelint-linux-amd64
- GOARCH=arm64 GOOS=linux go build -o bin/linelint-linux-arm64
- GOARCH=amd64 GOOS=darwin go build -o bin/linelint-darwin-amd64
- GOARCH=amd64 GOOS=windows go build -o bin/linelint-windows-amd64
when:
event: tag
- name: publish-github-release
group: publish
image: plugins/github-release
settings:
api_key:
from_secret: github_api_key
files: bin/*
prerelease: true
when:
event: tag
- name: publish-docker-amd64
group: publish
image: plugins/docker
settings:
auto_tag: true
dockerfile: .build/Dockerfile.linux.amd64
repo: fernandrone/linelint
username:
from_secret: docker_username
password:
from_secret: docker_password
trigger:
event:
- push
- tag
---
kind: pipeline
type: docker
name: linux-arm64
platform:
arch: arm64
os: linux
environment:
GOARCH: arm64
GOOS: linux
steps:
- name: get
image: golang:1.14.0
commands:
- go mod download
- name: test
image: golang:1.14.0
commands:
- go test ./...
- name: build-linux-arm64
image: golang:1.14.0
commands:
- go build -o bin/linelint-linux-arm64
- name: publish-docker-arm64
image: plugins/docker
settings:
auto_tag: true
auto_tag_suffix: arm64
dockerfile: .build/Dockerfile.linux.arm64
repo: fernandrone/linelint
username:
from_secret: docker_username
password:
from_secret: docker_password
trigger:
event:
- push
- tag
depends_on:
- linux-amd64