forked from vito/booklit
-
Notifications
You must be signed in to change notification settings - Fork 6
/
pipeline.yml
161 lines (144 loc) · 3.03 KB
/
pipeline.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
---
groups:
- name: dev
jobs: [unit, rc, ship]
- name: semver
jobs: [major, minor, patch]
- name: prs
jobs: [pr-unit]
resource_types:
- name: pull-request
type: registry-image
source:
repository: jtarchie/pr
- name: github-status
type: registry-image
source:
repository: resource/github-status
resources:
- name: booklit
type: git
source:
uri: https://github.com/vito/booklit
branch: master
- name: version
type: semver
source:
driver: git
initial_version: 0.0.0
uri: git@github.com:vito/booklit
branch: version
file: version
private_key: ((repo_private_key))
- name: release-notes
type: git
source:
uri: https://github.com/vito/booklit
branch: version
- name: booklit-rel
type: github-release
source:
owner: vito
repository: booklit
access_token: ((releases_access_token))
- name: booklit-pr
type: pull-request
source:
repo: vito/booklit
access_token: ((prs_access_token))
- name: gh-status
type: github-status
source:
repo: vito/booklit
access_token: ((prs_access_token))
jobs:
- name: unit
public: true
plan:
- get: booklit
version: every
trigger: true
- put: gh-status
params: {path: booklit, state: pending}
- task: unit
file: booklit/ci/test.yml
params:
COVERALLS_TOKEN: ((coveralls_token))
on_success:
put: gh-status
params: {path: booklit, state: success}
on_failure:
put: gh-status
params: {path: booklit, state: failure}
- name: rc
public: true
serial_groups: [version]
plan:
- get: booklit
passed: [unit]
trigger: true
- get: version
params: {pre: rc}
- put: version
params: {file: version/version}
- name: ship
public: true
serial_groups: [version]
plan:
- get: booklit
passed: [rc]
- get: final-version
resource: version
passed: [rc]
params: {bump: final}
- get: release-notes
- task: build
file: booklit/ci/build.yml
input_mapping: {version: final-version}
- task: grab-release-notes
file: booklit/ci/grab-release-notes.yml
- put: version
params: {file: final-version/version}
- put: booklit-rel
params:
tag: version/version
tag_prefix: v
committish: booklit/.git/HEAD
name: release-info/name
body: release-info/notes.md
globs: [assets/*]
- name: major
public: true
serial_groups: [version]
plan:
- get: version
params: {bump: major, pre: rc}
- put: version
params: {file: version/version}
- name: minor
public: true
serial_groups: [version]
plan:
- get: version
params: {bump: minor, pre: rc}
- put: version
params: {file: version/version}
- name: patch
public: true
serial_groups: [version]
plan:
- get: version
passed: [ship]
params: {bump: patch, pre: rc}
trigger: true
- put: version
params: {file: version/version}
- name: pr-unit
public: true
plan:
- get: booklit-pr
version: every
trigger: true
- task: unit
file: booklit-pr/ci/test.yml
input_mapping: {booklit: booklit-pr}