70d38f2e8b90b545fe3ad8870fd38dce4b4f2da9
[releng.git] / jjb / releng / opnfv-docker.yml
1 ##############################################
2 # job configuration for docker build and push
3 ##############################################
4
5 - project:
6
7     name: opnfv-docker
8
9     master: &master
10         stream: master
11         branch: '{stream}'
12         disabled: false
13     danube: &danube
14         stream: danube
15         branch: 'stable/{stream}'
16         disabled: true
17     functest-receivers: &functest-receivers
18         receivers: >
19             jose.lausuch@ericsson.com morgan.richomme@orange.com
20             cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
21             yaohelan@huawei.com helanyao@gmail.com
22             juha.kosonen@nokia.com
23     other-receivers: &other-receivers
24         receivers: ''
25
26     project:
27         # projects with jobs for master
28         - 'bottlenecks':
29             <<: *master
30             <<: *other-receivers
31         - 'cperf':
32             <<: *master
33             <<: *other-receivers
34         - 'dovetail':
35             <<: *master
36             <<: *other-receivers
37         - 'functest':
38             <<: *master
39             <<: *functest-receivers
40         - 'qtip':
41             <<: *master
42             <<: *other-receivers
43         - 'storperf':
44             <<: *master
45             <<: *other-receivers
46         - 'yardstick':
47             <<: *master
48             <<: *other-receivers
49         # projects with jobs for stable
50         - 'bottlenecks':
51             <<: *danube
52             <<: *other-receivers
53         - 'functest':
54             <<: *danube
55             <<: *functest-receivers
56         - 'storperf':
57             <<: *danube
58             <<: *other-receivers
59         - 'yardstick':
60             <<: *danube
61             <<: *other-receivers
62
63     jobs:
64         - '{project}-docker-build-push-{stream}'
65
66
67 - project:
68
69     name: opnfv-monitor-docker        # projects which only monitor dedicated file or path
70
71     project:
72         # projects with jobs for master
73         - 'daisy':
74             <<: *master
75         - 'escalator':
76             <<: *master
77
78     jobs:
79         - '{project}-docker-build-push-monitor-{stream}'
80
81 ########################
82 # job templates
83 ########################
84 - job-template:
85     name: '{project}-docker-build-push-{stream}'
86
87     disabled: '{obj:disabled}'
88
89     parameters: &parameters
90         - project-parameter:
91             project: '{project}'
92             branch: '{branch}'
93         - 'opnfv-build-ubuntu-defaults'
94         - string:
95             name: PUSH_IMAGE
96             default: "true"
97             description: "To enable/disable pushing the image to Dockerhub."
98         - string:
99             name: DOCKER_REPO_NAME
100             default: "opnfv/{project}"
101             description: "Dockerhub repo to be pushed to."
102         - string:
103             name: RELEASE_VERSION
104             default: ""
105             description: "Release version, e.g. 1.0, 2.0, 3.0"
106
107     scm:
108         - git-scm
109
110     builders: &builders
111         - shell:
112             !include-raw-escape: ./opnfv-docker.sh
113
114     triggers:
115         - pollscm:
116             cron: "*/30 * * * *"
117
118     publishers:
119         - email:
120             recipients: '{receivers}'
121
122 - job-template:
123     name: '{project}-docker-build-push-monitor-{stream}'
124     disabled: '{obj:disabled}'
125     parameters: *parameters
126     scm:
127         - git-scm
128     builders: *builders
129
130     # trigger only matching the file name
131     triggers:
132         - gerrit:
133             trigger-on:
134                 - change-merged-event
135                 - comment-added-contains-event:
136                     comment-contains-value: 'remerge'
137             projects:
138               - project-compare-type: 'ANT'
139                 project-pattern: '{project}'
140                 branches:
141                     - branch-compare-type: 'ANT'
142                       branch-pattern: '**/{branch}'
143                 file-paths:
144                   - compare-type: ANT
145                     pattern: 'docker/**'
146