Merge "Add note that you can add reviewers by group"
[releng.git] / jjb / releng-jobs.yaml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-merge'
6         - 'artifacts-api'
7
8     project: 'releng'
9
10 - job-template:
11     name: builder-verify-jjb
12
13     parameters:
14         - project-parameter:
15             project: '{project}'
16         - gerrit-parameter:
17             branch: 'master'
18     scm:
19         - gerrit-trigger-scm:
20             credentials-id: '{ssh-credentials}'
21             refspec: '$GERRIT_REFSPEC'
22             choosing-strategy: 'gerrit'
23
24     triggers:
25         - gerrit:
26             trigger-on:
27                 - patchset-created-event:
28                     exclude-drafts: 'false'
29                     exclude-trivial-rebase: 'false'
30                     exclude-no-code-change: 'false'
31                 - draft-published-event
32                 - comment-added-contains-event:
33                     comment-contains-value: 'recheck'
34                 - comment-added-contains-event:
35                     comment-contains-value: 'reverify'
36             projects:
37               - project-compare-type: 'ANT'
38                 project-pattern: 'releng'
39                 branches:
40                   - branch-compare-type: 'ANT'
41                     branch-pattern: '**/master'
42                 file-paths:
43                     - compare-type: ANT
44                       pattern: jjb/**
45                     - compare-type: ANT
46                       pattern: jjb-templates/**
47                     - compare-type: ANT
48                       pattern: utils/**
49
50
51     builders:
52         - shell:
53             !include-raw: verify-releng
54
55     publishers:
56         - archive-artifacts:
57             artifacts: 'job_output/*'
58
59 - job-template:
60     name: 'builder-merge'
61
62     # builder-merge job to run JJB update
63     #
64     # This job's purpose is to update all the JJB
65
66     parameters:
67         - project-parameter:
68             project: '{project}'
69         - gerrit-parameter:
70             branch: 'master'
71
72     scm:
73         - gerrit-trigger-scm:
74             credentials-id: '{ssh-credentials}'
75             refspec: ''
76             choosing-strategy: 'default'
77
78     triggers:
79         - gerrit:
80             trigger-on:
81                 - change-merged-event
82                 - comment-added-contains-event:
83                     comment-contains-value: 'remerge'
84             projects:
85               - project-compare-type: 'ANT'
86                 project-pattern: 'releng'
87                 branches:
88                     - branch-compare-type: 'ANT'
89                       branch-pattern: '**/master'
90                 file-paths:
91                     - compare-type: ANT
92                       pattern: jjb/**
93                     - compare-type: ANT
94                       pattern: utils/**
95
96     builders:
97         - shell: |
98                 source /opt/virtualenv/jenkins-job-builder/bin/activate
99                 cd /opt/jenkins-ci/releng
100                 git pull
101                 jenkins-jobs update --delete-old jjb/
102
103 - job-template:
104     name: 'artifacts-api'
105
106     # Generate and upload the JSON file to used for artifacts site
107
108     parameters:
109         - project-parameter:
110             project: '{project}'
111         - gerrit-parameter:
112             branch: 'master'
113
114     scm:
115         - gerrit-trigger-scm:
116             credentials-id: '{ssh-credentials}'
117             refspec: ''
118             choosing-strategy: 'default'
119
120     triggers:
121         - timed: '@hourly'
122
123     builders:
124         - build-and-upload-artifacts-json-api