Merge "Add new job to verify blueprint-basic-3-masters"
[ci-management.git] / jjb / validation / validation-docker.yaml
1 - project:
2
3     name: validation-docker
4     project: validation
5     mvn-settings: validation-settings
6     stream:
7       - master:
8           branch: '{stream}'
9           disabled: false
10
11     arch_tag:
12       - 'amd64':
13           slave_label: 'ubuntu1604-docker-8c-8g'
14       - 'arm64':
15           slave_label: 'aarch64_dev'
16
17     # settings for jobs run in multijob phases
18     docker-build-job-settings: &docker-build-job-settings
19       current-parameters: false
20       git-revision: true
21       node-parameters: false
22       predefined-parameters: |
23         GERRIT_REFNAME=$GERRIT_REFNAME
24       kill-phase-on: FAILURE
25       abort-all-jobs: false
26
27     jobs:
28       - "validation-{stream}-docker"
29       - "validation-docker-build-{arch_tag}-{stream}"
30       - "validation-docker-manifest-{stream}"
31
32 ########################
33 # job templates
34 ########################
35 - job-template:
36     name: 'validation-{stream}-docker'
37     project-type: multijob
38     disabled: '{obj:disabled}'
39     node: 'centos7-builder-2c-1g'
40     build-timeout: 90
41
42     parameters:
43       - validation-job-parameters:
44           project: '{project}'
45           branch: '{branch}'
46           stream: '{stream}'
47
48     properties:
49       - throttle:
50           max-per-node: 1
51           option: 'project'
52       - build-blocker:
53           use-build-blocker: true
54           blocking-jobs:
55             - 'validation-docker-.*'
56           blocking-level: 'NODE'
57     scm:
58       - lf-infra-gerrit-scm:
59           jenkins-ssh-credential: '{jenkins-ssh-credential}'
60           git-url: '{git-url}/{project}.git'
61           refspec: ''
62           branch: '{branch}'
63           submodule-recursive: false
64           submodule-timeout: '{submodule-timeout}'
65           submodule-disable: false
66           choosing-strategy: default
67
68     triggers:
69       # Build nigtly at 12:10 AM
70       - timed: '10 0 * * *'
71
72     builders:
73       - multijob:
74           name: 'build validation images'
75           execution-type: PARALLEL
76           projects:
77             - name: 'validation-docker-build-amd64-{stream}'
78               <<: *docker-build-job-settings
79             - name: 'validation-docker-build-arm64-{stream}'
80               <<: *docker-build-job-settings
81       - multijob:
82           name: 'publish validation manifests'
83           condition: SUCCESSFUL
84           execution-type: PARALLEL
85           projects:
86             - name: 'validation-docker-manifest-{stream}'
87               <<: *docker-build-job-settings
88
89     publishers:
90       - email:
91           recipients: 'cristina.pauna@enea.com'
92
93 - job-template:
94     name: 'validation-docker-build-{arch_tag}-{stream}'
95     disabled: '{obj:disabled}'
96     node: '{slave_label}'
97     build-timeout: 75
98
99     parameters:
100       - validation-job-parameters:
101           project: '{project}'
102           branch: '{branch}'
103           stream: '{stream}'
104           arch_tag: '{arch_tag}'
105
106     properties:
107       - build-blocker:
108           use-build-blocker: true
109           blocking-jobs:
110             - 'validation-docker-build-.*'
111           blocking-level: 'NODE'
112     scm:
113      - lf-infra-gerrit-scm:
114           jenkins-ssh-credential: '{jenkins-ssh-credential}'
115           git-url: '{git-url}/{project}.git'
116           refspec: ''
117           branch: '{branch}'
118           submodule-recursive: false
119           submodule-timeout: '{submodule-timeout}'
120           submodule-disable: false
121           choosing-strategy: default
122
123     builders:
124       - lf-infra-docker-login:
125           global-settings-file: global-settings
126           settings-file: '{mvn-settings}'
127       - shell: |
128           #!/bin/bash -ex
129           make -k -C docker push-all
130       - shell: |
131           #!/bin/bash -ex
132           docker system prune -af
133
134 - job-template:
135     name: 'validation-docker-manifest-{stream}'
136     node: 'ubuntu1604-docker-8c-8g'
137     build-timeout: 15
138
139     parameters:
140       - validation-job-parameters:
141           project: '{project}'
142           branch: '{branch}'
143           stream: '{stream}'
144
145     disabled: '{obj:disabled}'
146
147     scm:
148      - lf-infra-gerrit-scm:
149           jenkins-ssh-credential: '{jenkins-ssh-credential}'
150           git-url: '{git-url}/{project}.git'
151           refspec: ''
152           branch: '{branch}'
153           submodule-recursive: false
154           submodule-timeout: '{submodule-timeout}'
155           submodule-disable: false
156           choosing-strategy: default
157
158     builders:
159       - lf-infra-docker-login:
160           global-settings-file: global-settings
161           settings-file: '{mvn-settings}'
162       - shell: |
163           #!/bin/bash -ex
164           for sd in docker/*/.; do make -k -C $sd .push_manifest; done
165
166 # parameter macro
167 - parameter:
168     name: validation-job-parameters
169     parameters:
170       - lf-infra-parameters:
171           project: '{project}'
172           stream: '{stream}'
173           branch: '{branch}'