-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.drone.yml
107 lines (99 loc) · 2.58 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
---
kind: pipeline
name: compliance
type: docker
steps:
- name: gofmt
image: golangci/golangci-lint:v1.63.4-alpine
commands:
- golangci-lint run --color always --no-config --disable-all --timeout 3m0s -E gofmt
depends_on: [ clone ]
- name: linter
image: golangci/golangci-lint:v1.63.4-alpine
commands:
- golangci-lint run --color always
depends_on: [ clone ]
trigger:
ref:
- refs/heads/master
- refs/pull/**
- refs/tags/**
event:
exclude:
- promote
---
kind: pipeline
name: tests
type: docker
services:
- name: mariadb
image: mariadb:11.4
pull: always
environment:
MYSQL_RANDOM_ROOT_PASSWORD: yes
MYSQL_DATABASE: chihaya_test
MYSQL_USER: drone
MYSQL_PASSWORD: w33lkn0wn
MYSQL_INITDB_SKIP_TZINFO: yes
steps:
- name: await
image: albinodrought/drone-wait-for-it
environment:
PLUGIN_HOST: mariadb
PLUGIN_PORT: 3306
- name: test
image: golang:1.23-alpine
pull: always
environment:
CGO_ENABLED: 0
GO111MODULE: on
GOMAXPROCS: 2
DB_DSN: "drone:w33lkn0wn@(mariadb)/chihaya_test?multiStatements=true"
commands:
- apk add mariadb-client
- mysql -udrone -pw33lkn0wn -hmariadb chihaya_test < database/schema.sql
- go get -v -t -d ./...
- go test ./... -v -pgo=off -buildvcs=false -coverprofile=coverage.out
- name: coverage
image: golang:1.23-alpine
commands:
- go tool cover -func=coverage.out
trigger:
ref:
- refs/heads/master
- refs/pull/**
- refs/tags/**
event:
exclude:
- promote
---
kind: pipeline
name: docker
type: docker
platform:
arch: amd64
steps:
- name: fetch
image: alpine/git
commands:
- git fetch --tags
- name: build
image: plugins/docker
pull: always
privileged: true
environment:
DOCKER_REGISTRY:
from_secret: docker_registry
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
tags:
- "${DRONE_DEPLOY_TO}"
commands:
- export PLUGIN_REPO=$DOCKER_REGISTRY/animebytes/chihaya
- /usr/local/bin/dockerd-entrypoint.sh /bin/drone-docker
trigger:
event:
- promote