forked from CasperLabs/clarity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.drone.yml
152 lines (136 loc) · 3.05 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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
---
platform:
os: linux
arch: amd64
# Begin
clone:
git-clone:
commands: |
set -ex
git clone -b ${DRONE_TAG:-$DRONE_BRANCH} $DRONE_REMOTE_URL .
if [ x$DRONE_PULL_REQUEST != x ]; then
git fetch origin refs/pull/$DRONE_PULL_REQUEST/head
EMAIL=ci git merge --no-edit FETCH_HEAD
fi
git rev-parse HEAD
image: "casperlabs/clarity-build:latest"
kind: pipeline
type: docker
name: build-publish
steps:
- name: make-test
image: "casperlabs/clarity-build:latest"
commands:
- "make setup"
- "make test"
- name: build-docker-image
image: "casperlabs/clarity-build:latest"
commands:
- "make setup"
- "export DOCKER_TAG=DRONE-${DRONE_BUILD_NUMBER}"
- "make docker-build-all"
volumes:
- name: docker_sock
path: "/var/run/docker.sock"
- name: docker-publish
commands:
- |
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
docker tag casperlabs/explorer:DRONE-${DRONE_BUILD_NUMBER} casperlabs/explorer:latest
docker tag casperlabs/event-handler:DRONE-${DRONE_BUILD_NUMBER} casperlabs/event-handler:latest
docker tag casperlabs/event-web-server:DRONE-${DRONE_BUILD_NUMBER} casperlabs/event-web-server:latest
docker push casperlabs/explorer:latest
docker push casperlabs/event-handler:latest
docker push casperlabs/event-web-server:latest
image: "casperlabs/clarity-build:latest"
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: docker_sock
path: "/var/run/docker.sock"
when:
event:
- push
branch:
- master
volumes:
- name: docker_sock
host:
path: "/var/run/docker.sock"
trigger:
event:
- pull_request
- push
branch:
- master
- trying
- staging
- "FEAT-*"
- "feat-*"
- "feature-*"
- "FEATURE-*"
---
kind: pipeline
type: docker
name: failed-build-alert
clone:
disable: true
steps:
- name: notify
image: plugins/slack
settings:
webhook:
from_secret: slack_webhook
template:
- |
clarity build status: *{{ uppercasefirst build.status }}*
Author: {{ build.author }}
Drone Build: <{{ build.link }}|#{{ build.number }}>
Commit Link: <https://github.com/{{repo.owner}}/{{repo.name}}/commit/{{build.commit}}|{{ truncate build.commit 10 }}>
trigger:
status:
- failure
branch:
- dev
- master
- trying
- staging
- "FEAT-*"
- "feat-*"
- "feature-*"
- "FEATURE-*"
depends_on:
- build-publish
---
kind: pipeline
type: docker
name: sdk-publish-tag
steps:
- name: sdk-pre-publish
image: "casperlabs/clarity-build:latest"
commands:
- "yarn install"
- "cd packages/sdk"
- "npm run-script prepublishOnly"
- name: sdk-publish
image: plugins/npm
failure: "ignore"
settings:
username:
from_secret: npm_user
token:
from_secret: npm_token
email:
from_secret: npm_email
folder:
- "packages/sdk"
fail_on_version_conflict:
- true
access:
- "public"
trigger:
ref:
- refs/tags/sdk*