forked from go-vikunja/app
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.drone.yml
189 lines (164 loc) · 3.76 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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
kind: pipeline
type: docker
name: testing
workspace:
base: /home/cirrus/app
clone:
depth: 50
# Only run on prs or pushes to master
trigger:
branch:
include:
- master
event:
include:
- push
- pull_request
steps:
- name: build
image: cirrusci/flutter:stable
pull: true
commands:
- flutter packages get
- make format-check
- make build-debug
# Don't run tests until we have to not break the pipeline
# - name: test
# image: cirrusci/flutter:stable
# pull: true
# commands:
# - flutter packages get
# - make test
---
kind: pipeline
type: docker
name: release-latest
depends_on:
- testing
trigger:
branch:
- master
event:
- push
workspace:
base: /home/cirrus/app
clone:
depth: 50
steps:
# Because drone separates the pipelines, we have to add the build step to this pipeline. This is double code, we should change it at some point if possible.
- name: build
image: cirrusci/flutter:stable
pull: true
commands:
- flutter packages get
- make build-all
- mkdir apks
- mv build/app/outputs/apk/*/*/*.apk apks
# Push the releases to our pseudo-s3-bucket
- name: release
image: plugins/s3:1
pull: true
settings:
bucket: vikunja-releases
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
path_style: true
strip_prefix: apks/
source: apks/*
target: /app/master
---
kind: pipeline
type: docker
name: release-version
depends_on:
- testing
trigger:
event:
- tag
workspace:
base: /home/cirrus/app
clone:
depth: 50
steps:
# Because drone separates the pipelines, we have to add the build step to this pipeline. This is double code, we should change it at some point if possible.
- name: build
image: cirrusci/flutter:stable
pull: true
commands:
- flutter packages get
- make build-all
- mkdir apks
- mv build/app/outputs/apk/*/*/*.apk apks
# Push the releases to our pseudo-s3-bucket
- name: release
image: plugins/s3:1
pull: true
settings:
bucket: vikunja-releases
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
path_style: true
strip_prefix: apks/
source: apks/*
target: /app/${DRONE_TAG##v}
---
kind: pipeline
type: exec
name: release-ios
trigger:
event:
- push
branch:
- master
platform:
os: darwin
arch: amd64
steps:
- name: build
commands:
- make build-ios
environment:
HOME: /Users/buildslave
- name: deploy
environment:
HOME: /Users/buildslave
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
FASTLANE_SKIP_UPDATE_CHECK: true
FASTLANE_HIDE_CHANGELOG: true
MATCH_PASSWORD:
from_secret: match_password
FASTLANE_PASSWORD:
from_secret: fastlane_password
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD:
from_secret: fastlane_apple_password
FASTLANE_SESSION:
from_secret: fastlane_session
KEYCHAIN_PASSWORD:
from_secret: keychain_password
CONTACT_EMAIL:
from_secret: contact_email
CONTACT_FIRST_NAME:
from_secret: contact_first_name
CONTACT_LAST_NAME:
from_secret: contact_last_name
CONTACT_PHONE:
from_secret: contact_phone
commands:
- eval "$(rbenv init -)"
- rbenv shell 2.5.0
- cd ios
- bundle config set --local path '.vendor/bundle'
- bundle install
- bundle exec fastlane ios signing
- bundle exec fastlane ios beta
depends_on:
- testing