095ba4129c855f2a5688ddb888626a7f14c4c17c
[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: false
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         - 'releng-anteater':
29             <<: *master
30             <<: *other-receivers
31         - 'bottlenecks':
32             <<: *master
33             <<: *other-receivers
34         - 'cperf':
35             <<: *master
36             <<: *other-receivers
37         - 'dovetail':
38             <<: *master
39             <<: *other-receivers
40         - 'functest':
41             <<: *master
42             <<: *functest-receivers
43         - 'qtip':
44             <<: *master
45             <<: *other-receivers
46         - 'storperf':
47             <<: *master
48             <<: *other-receivers
49         - 'yardstick':
50             <<: *master
51             <<: *other-receivers
52         # projects with jobs for stable
53         - 'bottlenecks':
54             <<: *danube
55             <<: *other-receivers
56         - 'functest':
57             <<: *danube
58             <<: *functest-receivers
59         - 'qtip':
60             <<: *danube
61             <<: *other-receivers
62         - 'storperf':
63             <<: *danube
64             <<: *other-receivers
65         - 'yardstick':
66             <<: *danube
67             <<: *other-receivers
68
69     jobs:
70         - '{project}-docker-build-push-{stream}'
71
72
73 - project:
74
75     name: opnfv-monitor-docker        # projects which only monitor dedicated file or path
76
77     project:
78         # projects with jobs for master
79         - 'daisy':
80             <<: *master
81         - 'escalator':
82             <<: *master
83
84     jobs:
85         - '{project}-docker-build-push-monitor-{stream}'
86
87 ########################
88 # job templates
89 ########################
90 - job-template:
91     name: '{project}-docker-build-push-{stream}'
92
93     disabled: '{obj:disabled}'
94
95     parameters: &parameters
96         - project-parameter:
97             project: '{project}'
98             branch: '{branch}'
99         - 'opnfv-build-ubuntu-defaults'
100         - string:
101             name: PUSH_IMAGE
102             default: "true"
103             description: "To enable/disable pushing the image to Dockerhub."
104         - string:
105             name: DOCKER_REPO_NAME
106             default: "opnfv/{project}"
107             description: "Dockerhub repo to be pushed to."
108         - string:
109             name: COMMIT_ID
110             default: ""
111             description: "commit id to make a snapshot docker image"
112         - string:
113             name: RELEASE_VERSION
114             default: ""
115             description: "Release version, e.g. 1.0, 2.0, 3.0"
116         - string:
117             name: DOCKERFILE
118             default: "Dockerfile"
119             description: "Dockerfile to use for creating the image."
120
121     scm:
122         - git-scm
123
124     builders: &builders
125         - shell:
126             !include-raw-escape: ./opnfv-docker.sh
127
128     triggers:
129         - pollscm:
130             cron: "*/30 * * * *"
131
132     publishers:
133         - email:
134             recipients: '{receivers}'
135
136 - job-template:
137     name: '{project}-docker-build-push-monitor-{stream}'
138     disabled: '{obj:disabled}'
139     parameters: *parameters
140     scm:
141         - git-scm
142     builders: *builders
143
144     # trigger only matching the file name
145     triggers:
146         - gerrit:
147             trigger-on:
148                 - change-merged-event
149                 - comment-added-contains-event:
150                     comment-contains-value: 'remerge'
151             projects:
152               - project-compare-type: 'ANT'
153                 project-pattern: '{project}'
154                 branches:
155                     - branch-compare-type: 'ANT'
156                       branch-pattern: '**/{branch}'
157                 file-paths:
158                   - compare-type: ANT
159                     pattern: 'docker/**'
160