Do not trigger builder-verify and builder-merge jobs if jjb is not affected
[releng.git] / jjb / releng-jobs.yaml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-merge'
6
7     project: 'releng'
8
9 - job-template:
10     name: builder-verify-jjb
11
12     node: master
13
14     project-type: freestyle
15
16     logrotate:
17         daysToKeep: 30
18         numToKeep: 10
19         artifactDaysToKeep: -1
20         artifactNumToKeep: -1
21
22     parameters:
23         - project-parameter:
24             project: '{project}'
25         - gerrit-parameter:
26             branch: 'master'
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                 - comment-added-contains-event:
48                     comment-contains-value: 'reverify'
49             projects:
50               - project-compare-type: 'ANT'
51                 project-pattern: 'releng'
52                 branches:
53                   - branch-compare-type: 'ANT'
54                     branch-pattern: '**/master'
55                 file-paths:
56                     - compare-type: ANT
57                       pattern: jjb/**
58                     - compare-type: ANT
59                       pattern: jjb-templates/**
60                 forbidden-file-paths:
61                     - compare-type: ANT
62                       pattern: utils/**
63                     - compare-type: ANT
64                       pattern: docs/**
65
66
67     builders:
68         - shell:
69             !include-raw verify-releng
70
71 - job-template:
72     name: 'builder-merge'
73
74     node: master
75
76     # builder-merge job to run JJB update
77     #
78     # This job's purpose is to update all the JJB
79
80     project-type: freestyle
81
82     logrotate:
83         daysToKeep: 30
84         numToKeep: 40
85         artifactDaysToKeep: -1
86         artifactNumToKeep: 5
87
88     parameters:
89         - project-parameter:
90             project: '{project}'
91         - gerrit-parameter:
92             branch: 'master'
93
94     scm:
95         - gerrit-trigger-scm:
96             credentials-id: '{ssh-credentials}'
97             refspec: ''
98             choosing-strategy: 'default'
99
100     wrappers:
101         - ssh-agent-credentials:
102             user: '{ssh-credentials}'
103
104     triggers:
105         - gerrit:
106             trigger-on:
107                 - change-merged-event
108                 - comment-added-contains-event:
109                     comment-contains-value: 'remerge'
110             projects:
111               - project-compare-type: 'ANT'
112                 project-pattern: 'releng'
113                 branches:
114                     - branch-compare-type: 'ANT'
115                       branch-pattern: '**/master'
116                 file-paths:
117                     - compare-type: ANT
118                       pattern: jjb/**
119                 forbidden-file-paths:
120                     - compare-type: ANT
121                       pattern: utils/**
122                     - compare-type: ANT
123                       pattern: docs/**
124
125     builders:
126         - shell: |
127                 source /opt/virtualenv/jenkins-job-builder/bin/activate
128                 cd /opt/jenkins-ci/releng
129                 git pull
130                 jenkins-jobs update --delete-old jjb/
131