Use GIT_BASE to dynamically determine project and credentials to clone
[releng/builder.git] / jjb / releng-jobs.yaml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-verify-python'
6         - 'builder-merge'
7
8     project: 'releng/builder'
9
10 - job-template:
11     name: builder-verify-jjb
12
13     project-type: freestyle
14
15     logrotate:
16         daysToKeep: 30
17         numToKeep: 10
18         artifactDaysToKeep: -1
19         artifactNumToKeep: -1
20
21     parameters:
22         - project-parameter:
23             project: '{project}'
24         - gerrit-parameter:
25             branch: 'master'
26
27     scm:
28         - gerrit-trigger-scm:
29             credentials-id: '{ssh-credentials}'
30             refspec: '$GERRIT_REFSPEC'
31             choosing-strategy: 'gerrit'
32
33     wrappers:
34         - ssh-agent-credentials:
35             user: '{ssh-credentials}'
36
37     triggers:
38         - gerrit:
39             trigger-on:
40                 - patchset-created-event:
41                     exclude-drafts: 'false'
42                     exclude-trivial-rebase: 'false'
43                     exclude-no-code-change: 'false'
44                 - draft-published-event
45                 - comment-added-contains-event:
46                     comment-contains-value: 'recheck'
47             projects:
48               - project-compare-type: 'ANT'
49                 project-pattern: 'releng/builder'
50                 branches:
51                   - branch-compare-type: 'ANT'
52                     branch-pattern: '**/master'
53                 file-paths:
54                     - compare-type: ANT
55                       pattern: jjb/**
56
57
58     builders:
59         - shell: |
60             source /opt/virtualenv/jenkins-job-builder/bin/activate
61             jenkins-jobs test jjb/
62
63     publishers:
64         - email-notification:
65             email-prefix: '[releng]'
66
67 - job-template:
68     name: builder-verify-python
69
70     project-type: freestyle
71
72     logrotate:
73         daysToKeep: 30
74         numToKeep: 10
75         artifactDaysToKeep: -1
76         artifactNumToKeep: -1
77
78     parameters:
79         - project-parameter:
80             project: '{project}'
81         - gerrit-parameter:
82             branch: 'master'
83
84     scm:
85         - gerrit-trigger-scm:
86             credentials-id: '{ssh-credentials}'
87             refspec: '$GERRIT_REFSPEC'
88             choosing-strategy: 'gerrit'
89
90     wrappers:
91         - ssh-agent-credentials:
92             user: '{ssh-credentials}'
93
94     triggers:
95         - gerrit:
96             trigger-on:
97                 - patchset-created-event:
98                     exclude-drafts: 'false'
99                     exclude-trivial-rebase: 'false'
100                     exclude-no-code-change: 'false'
101                 - draft-published-event
102                 - comment-added-contains-event:
103                     comment-contains-value: 'recheck'
104             projects:
105               - project-compare-type: 'ANT'
106                 project-pattern: 'releng/builder'
107                 branches:
108                   - branch-compare-type: 'ANT'
109                     branch-pattern: '**/master'
110                 file-paths:
111                     - compare-type: ANT
112                       pattern: scripts/**
113
114
115     builders:
116         - shell: |
117             flake8 scripts/
118
119     publishers:
120         - email-notification:
121             email-prefix: '[releng]'
122
123 - job-template:
124     name: 'builder-merge'
125
126     # builder-merge job to run JJB update
127     #
128     # This job's purpose is to update all the JJB
129
130     project-type: freestyle
131
132     logrotate:
133         daysToKeep: 30
134         numToKeep: 40
135         artifactDaysToKeep: -1
136         artifactNumToKeep: 5
137
138     parameters:
139         - project-parameter:
140             project: '{project}'
141         - gerrit-parameter:
142             branch: 'master'
143
144     scm:
145         - gerrit-trigger-scm:
146             credentials-id: '{ssh-credentials}'
147             refspec: ''
148             choosing-strategy: 'default'
149
150     wrappers:
151         - ssh-agent-credentials:
152             user: '{ssh-credentials}'
153
154     triggers:
155         - gerrit:
156             trigger-on:
157                 - change-merged-event
158                 - comment-added-contains-event:
159                     comment-contains-value: 'remerge'
160             projects:
161               - project-compare-type: 'ANT'
162                 project-pattern: 'releng/builder'
163                 branches:
164                     - branch-compare-type: 'ANT'
165                       branch-pattern: '**/master'
166                 file-paths:
167                     - compare-type: ANT
168                       pattern: jjb/**
169
170     builders:
171         - shell:
172             !include-raw-escape include-raw-jjb-update.sh
173
174     publishers:
175         - email-notification:
176             email-prefix: '[releng]'