Add new job for deploying kni on AWS
[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           choosing-strategy: default
66
67     triggers:
68       # Build nigtly at 12:10 AM
69       - timed: '10 0 * * *'
70
71     builders:
72       - multijob:
73           name: 'build validation images'
74           execution-type: PARALLEL
75           projects:
76             - name: 'validation-docker-build-amd64-{stream}'
77               <<: *docker-build-job-settings
78             - name: 'validation-docker-build-arm64-{stream}'
79               <<: *docker-build-job-settings
80       - multijob:
81           name: 'publish validation manifests'
82           condition: SUCCESSFUL
83           execution-type: PARALLEL
84           projects:
85             - name: 'validation-docker-manifest-{stream}'
86               <<: *docker-build-job-settings
87
88     publishers:
89       - email:
90           recipients: 'cristina.pauna@enea.com'
91
92 - job-template:
93     name: 'validation-docker-build-{arch_tag}-{stream}'
94     disabled: '{obj:disabled}'
95     node: '{slave_label}'
96     build-timeout: 75
97
98     parameters:
99       - validation-job-parameters:
100           project: '{project}'
101           branch: '{branch}'
102           stream: '{stream}'
103           arch_tag: '{arch_tag}'
104
105     properties:
106       - build-blocker:
107           use-build-blocker: true
108           blocking-jobs:
109             - 'validation-docker-build-.*'
110           blocking-level: 'NODE'
111     scm:
112      - lf-infra-gerrit-scm:
113           jenkins-ssh-credential: '{jenkins-ssh-credential}'
114           git-url: '{git-url}/{project}.git'
115           refspec: ''
116           branch: '{branch}'
117           submodule-recursive: false
118           submodule-timeout: '{submodule-timeout}'
119           choosing-strategy: default
120
121     builders:
122       - lf-infra-docker-login:
123           global-settings-file: global-settings
124           settings-file: '{mvn-settings}'
125       - shell: |
126           #!/bin/bash -ex
127           make -C docker push-all
128
129 - job-template:
130     name: 'validation-docker-manifest-{stream}'
131     node: 'ubuntu1604-docker-8c-8g'
132     build-timeout: 15
133
134     parameters:
135       - validation-job-parameters:
136           project: '{project}'
137           branch: '{branch}'
138           stream: '{stream}'
139
140     disabled: '{obj:disabled}'
141
142     scm:
143      - lf-infra-gerrit-scm:
144           jenkins-ssh-credential: '{jenkins-ssh-credential}'
145           git-url: '{git-url}/{project}.git'
146           refspec: ''
147           branch: '{branch}'
148           submodule-recursive: false
149           submodule-timeout: '{submodule-timeout}'
150           choosing-strategy: default
151
152     builders:
153       - lf-infra-docker-login:
154           global-settings-file: global-settings
155           settings-file: '{mvn-settings}'
156       - shell: |
157           #!/bin/bash -ex
158           make -C docker/*/. .push_manifest
159
160 # parameter macro
161 - parameter:
162     name: validation-job-parameters
163     parameters:
164       - lf-infra-parameters:
165           project: '{project}'
166           stream: '{stream}'
167           branch: '{branch}'