Move JJB jobs to dedicated static slave
[ci-management.git] / jjb / ci-management-jobs.yaml
1 - project:
2     name: ci-management-jobs
3     jobs:
4         - 'ci-management-verify-jjb'
5         - 'ci-management-merge'
6         - 'ci-management-weekly'
7
8     project: 'ci-management'
9
10 - job-template:
11     name: ci-management-verify-jjb
12
13     project-type: freestyle
14     node: jjb
15     concurrent: true
16
17     logrotate:
18         daysToKeep: 30
19         numToKeep: 10
20         artifactDaysToKeep: -1
21         artifactNumToKeep: 5
22
23     parameters:
24         - project-parameter:
25             project: '{project}'
26         - gerrit-parameter:
27             branch: 'master'
28
29     scm:
30         - gerrit-trigger-scm:
31             credentials-id: '{ssh-credentials}'
32             refspec: '$GERRIT_REFSPEC'
33             choosing-strategy: 'gerrit'
34
35     wrappers:
36         - ssh-agent-credentials:
37             users:
38                 - '{ssh-credentials}'
39
40     triggers:
41         - gerrit:
42             trigger-on:
43                 - patchset-created-event:
44                     exclude-drafts: 'false'
45                     exclude-trivial-rebase: 'false'
46                     exclude-no-code-change: 'false'
47                 - draft-published-event
48                 - comment-added-contains-event:
49                     comment-contains-value: 'recheck'
50                 - comment-added-contains-event:
51                     comment-contains-value: 'reverify'
52             projects:
53                 - project-compare-type: 'ANT'
54                   project-pattern: 'ci-management'
55                   branches:
56                     - branch-compare-type: 'ANT'
57                       branch-pattern: '**/master'
58                   file-paths:
59                     - compare-type: ANT
60                       pattern: jjb/**
61                     - compare-type: ANT
62                       pattern: jjb-templates/**
63
64     builders:
65         - shell: |
66             jenkins-jobs test -o job_output jjb/
67         - ci-management-check-unicode
68
69     publishers:
70         - archive-artifacts:
71             artifacts: 'job_output/*'
72
73 - job-template:
74     name: 'ci-management-merge'
75
76     project-type: freestyle
77     node: jjb
78
79     logrotate:
80         daysToKeep: 30
81         numToKeep: 40
82         artifactDaysToKeep: -1
83         artifactNumToKeep: 5
84
85     parameters:
86         - project-parameter:
87             project: '{project}'
88         - gerrit-parameter:
89             branch: 'master'
90
91     scm:
92         - gerrit-trigger-scm:
93             credentials-id: '{ssh-credentials}'
94             refspec: ''
95             choosing-strategy: 'default'
96
97     wrappers:
98         - ssh-agent-credentials:
99             users:
100                 - '{ssh-credentials}'
101
102     triggers:
103         - gerrit:
104             trigger-on:
105                 - change-merged-event
106                 - comment-added-contains-event:
107                     comment-contains-value: 'remerge'
108             projects:
109                 - project-compare-type: 'ANT'
110                   project-pattern: 'ci-management'
111                   branches:
112                     - branch-compare-type: 'ANT'
113                       branch-pattern: '**/master'
114                   file-paths:
115                     - compare-type: ANT
116                       pattern: jjb/**
117                     - compare-type: ANT
118                       pattern: jjb-templates/**
119
120     builders:
121         - shell:
122             !include-raw-escape include-raw-jjb-update.sh
123
124 - job-template:
125     name: 'ci-management-weekly'
126
127     # ci-management-weekly job to run JJB update weekly
128     #
129     # This job's purpose is to update all the JJB on a weekly (Sunday)
130     # basis with --flush-cache enabled to ensure jobs are properly configured in Jenkins
131
132     project-type: freestyle
133     node: jjb
134
135     logrotate:
136         daysToKeep: 30
137         numToKeep: 40
138         artifactDaysToKeep: -1
139         artifactNumToKeep: 5
140
141     parameters:
142         - project-parameter:
143             project: '{project}'
144
145     scm:
146         - git-scm:
147             credentials-id: '{ssh-credentials}'
148             branch: 'master'
149
150     wrappers:
151         - ssh-agent-credentials:
152             users:
153                 - '{ssh-credentials}'
154
155     triggers:
156         - timed: 'H H * * 0'
157
158     builders:
159         - shell: |
160             jenkins-jobs --flush-cache update jjb/
161
162