Merge "Comment Pending JJB Changes on Patchset"
[releng.git] / jjb / releng / releng-ci-jobs.yml
1 - project:
2     name: releng-builder-jobs
3     jobs:
4         - 'releng-verify-jjb'
5         - 'releng-merge-jjb'
6         - 'releng-comment-jjb'
7         - 'releng-generate-artifacts-api'
8
9     project: 'releng'
10
11 - job-template:
12     name: releng-verify-jjb
13
14     parameters:
15         - project-parameter:
16             project: '{project}'
17             branch: 'master'
18     scm:
19         - git-scm-gerrit
20
21     triggers:
22         - gerrit:
23             server-name: 'gerrit.opnfv.org'
24             trigger-on:
25                 - patchset-created-event:
26                     exclude-drafts: 'false'
27                     exclude-trivial-rebase: 'false'
28                     exclude-no-code-change: 'false'
29                 - draft-published-event
30                 - comment-added-contains-event:
31                     comment-contains-value: 'recheck'
32                 - comment-added-contains-event:
33                     comment-contains-value: 'reverify'
34             projects:
35               - project-compare-type: 'ANT'
36                 project-pattern: 'releng'
37                 branches:
38                   - branch-compare-type: 'ANT'
39                     branch-pattern: '**/master'
40                 file-paths:
41                     - compare-type: ANT
42                       pattern: jjb/**
43                     - compare-type: ANT
44                       pattern: jjb-templates/**
45                     - compare-type: ANT
46                       pattern: utils/**
47
48
49     builders:
50         - shell:
51             !include-raw: verify-releng.sh
52
53     publishers:
54         - archive-artifacts:
55             artifacts: 'job_output/*'
56         - email-jenkins-admins-on-failure
57
58 - job-template:
59     name: releng-comment-jjb
60
61     parameters:
62         - project-parameter:
63             project: '{project}'
64             branch: 'master'
65     scm:
66         - git-scm-gerrit
67
68     triggers:
69         - experimental:
70             project: '{project}'
71             branch: 'master'
72             files: 'jjb/**'
73
74     builders:
75         - copyartifact:
76             project: releng-merge-jjb
77             filter: "job_output/*"
78             which-build: last-successful
79             stable: true
80             optional: false
81             flatten: false
82             do-not-fingerprint: true
83         - shell:
84             !include-raw-escape: generate-job-list.sh
85         - report-build-result-to-gerrit
86
87 - job-template:
88     name: 'releng-merge-jjb'
89
90     # builder-merge job to run JJB update
91     #
92     # This job's purpose is to update all the JJB
93
94     parameters:
95         - project-parameter:
96             project: '{project}'
97             branch: 'master'
98
99     scm:
100         - git-scm
101
102     triggers:
103         - gerrit:
104             server-name: 'gerrit.opnfv.org'
105             trigger-on:
106                 - change-merged-event
107                 - comment-added-contains-event:
108                     comment-contains-value: 'remerge'
109             projects:
110               - project-compare-type: 'ANT'
111                 project-pattern: 'releng'
112                 branches:
113                     - branch-compare-type: 'ANT'
114                       branch-pattern: '**/master'
115                 file-paths:
116                     - compare-type: ANT
117                       pattern: jjb/**
118                     - compare-type: ANT
119                       pattern: utils/**
120
121     builders:
122         - shell: |
123                 source /opt/virtualenv/jenkins-job-builder/bin/activate
124                 cd /opt/jenkins-ci/releng
125                 git pull
126                 jenkins-jobs update -r --delete-old jjb/
127
128 - job-template:
129     name: 'releng-generate-artifacts-api'
130
131     # Generate and upload the JSON file to used for artifacts site
132
133     parameters:
134         - project-parameter:
135             project: '{project}'
136             branch: 'master'
137
138     scm:
139         - git-scm
140
141     triggers:
142         - timed: '@hourly'
143
144     builders:
145         - build-and-upload-artifacts-json-api