0975e39f1903072ae03648b7de00f83702b8b4c5
[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         - '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: RELEASE_VERSION
110             default: ""
111             description: "Release version, e.g. 1.0, 2.0, 3.0"
112         - string:
113             name: DOCKERFILE
114             default: "Dockerfile"
115             description: "Dockerfile to use for creating the image."
116
117     scm:
118         - git-scm
119
120     builders: &builders
121         - shell:
122             !include-raw-escape: ./opnfv-docker.sh
123
124     triggers:
125         - pollscm:
126             cron: "*/30 * * * *"
127
128     publishers:
129         - email:
130             recipients: '{receivers}'
131
132 - job-template:
133     name: '{project}-docker-build-push-monitor-{stream}'
134     disabled: '{obj:disabled}'
135     parameters: *parameters
136     scm:
137         - git-scm
138     builders: *builders
139
140     # trigger only matching the file name
141     triggers:
142         - gerrit:
143             trigger-on:
144                 - change-merged-event
145                 - comment-added-contains-event:
146                     comment-contains-value: 'remerge'
147             projects:
148               - project-compare-type: 'ANT'
149                 project-pattern: '{project}'
150                 branches:
151                     - branch-compare-type: 'ANT'
152                       branch-pattern: '**/{branch}'
153                 file-paths:
154                   - compare-type: ANT
155                     pattern: 'docker/**'
156