d2a57f142437f3561962b00cc75512602979663d
[ci-management.git] / jjb / akraino-templates / akraino-validation-templates.yaml
1 ---
2 - job-template:
3     id: akraino-validation-docker-multiarch
4     name: 'validation-{stream}-docker'
5     project-type: multijob
6     disabled: '{obj:disabled}'
7     node: 'centos7-builder-2c-1g'
8     build-timeout: 90
9
10     parameters:
11       - validation-job-parameters:
12           project: '{project}'
13           branch: '{branch}'
14           stream: '{stream}'
15
16     properties:
17       - throttle:
18           max-per-node: 1
19           option: 'project'
20       - build-blocker:
21           use-build-blocker: true
22           blocking-jobs:
23             - 'validation-docker-.*'
24           block-level: 'NODE'
25     scm:
26       - validation-infra-gerrit-scm:
27           jenkins-ssh-credential: '{jenkins-ssh-credential}'
28           git-url: '{git-url}/{project}.git'
29           refspec: ''
30           refs_tag: '{refs_tag}'
31           stream: '{stream}'
32           submodule-recursive: false
33           submodule-timeout: '{submodule-timeout}'
34           submodule-disable: false
35           choosing-strategy: default
36
37     triggers:
38       # Build nigtly at 12:10 AM
39       - timed: '10 0 * * *'
40
41     builders:
42       - multijob:
43           name: 'build validation images'
44           execution-type: PARALLEL
45           projects:
46             - name: 'validation-docker-build-amd64-{stream}'
47               <<: *docker-build-job-settings
48             - name: 'validation-docker-build-arm64-{stream}'
49               <<: *docker-build-job-settings
50       - multijob:
51           name: 'publish validation manifests'
52           condition: SUCCESSFUL
53           execution-type: PARALLEL
54           projects:
55             - name: 'validation-docker-manifest-{stream}'
56               <<: *docker-build-job-settings
57
58     publishers:
59       - email:
60           recipients: >
61             cristina.pauna@enea.com
62             juha.kosonen@nokia.com
63
64
65 - job-template:
66     id: akraino-validation-docker-specific-arch
67     name: 'validation-docker-build-{arch_tag}-{stream}'
68     disabled: '{obj:disabled}'
69     node: '{slave_label}'
70     build-timeout: 75
71
72     parameters:
73       - validation-job-parameters:
74           project: '{project}'
75           branch: '{branch}'
76           stream: '{stream}'
77           arch_tag: '{arch_tag}'
78
79     properties:
80       - build-blocker:
81           use-build-blocker: true
82           blocking-jobs:
83             - 'validation-docker-build-.*'
84           block-level: 'NODE'
85     scm:
86      - validation-infra-gerrit-scm:
87           jenkins-ssh-credential: '{jenkins-ssh-credential}'
88           git-url: '{git-url}/{project}.git'
89           refspec: ''
90           refs_tag: '{refs_tag}'
91           stream: '{stream}'
92           submodule-recursive: false
93           submodule-timeout: '{submodule-timeout}'
94           submodule-disable: false
95           choosing-strategy: default
96
97     builders:
98       - lf-infra-docker-login:
99           global-settings-file: global-settings
100           settings-file: '{mvn-settings}'
101       - conditional-step:
102           condition-kind: regex-match
103           regex: '^tags$'
104           label: '{refs_tag}'
105           steps:
106             - shell: |
107                 #!/bin/bash -ex
108                 echo "export TAG_VER=$STREAM"  >> tag_version.sh
109       - shell: |
110           #!/bin/bash -ex
111           if [ -f tag_version.sh ]; then source tag_version.sh; fi
112           make -k -C docker push-all
113           rm -f tag_version.sh
114       - shell: |
115           #!/bin/bash -ex
116           docker system prune -af
117
118 - job-template:
119     id: akraino-validation-docker-manifest
120     name: 'validation-docker-manifest-{stream}'
121     node: 'ubuntu1604-docker-8c-8g'
122     build-timeout: 15
123
124     parameters:
125       - validation-job-parameters:
126           project: '{project}'
127           branch: '{branch}'
128           stream: '{stream}'
129
130     disabled: '{obj:disabled}'
131
132     scm:
133      - validation-infra-gerrit-scm:
134           jenkins-ssh-credential: '{jenkins-ssh-credential}'
135           git-url: '{git-url}/{project}.git'
136           refspec: ''
137           refs_tag: '{refs_tag}'
138           stream: '{stream}'
139           submodule-recursive: false
140           submodule-timeout: '{submodule-timeout}'
141           submodule-disable: false
142           choosing-strategy: default
143
144     builders:
145       - lf-infra-docker-login:
146           global-settings-file: global-settings
147           settings-file: '{mvn-settings}'
148       - conditional-step:
149           condition-kind: regex-match
150           regex: '^tags$'
151           label: '{refs_tag}'
152           steps:
153             - shell: |
154                 #!/bin/bash -ex
155                 echo "export TAG_VER=$STREAM"  >> tag_version.sh
156       - shell: |
157           #!/bin/bash -ex
158           if [ -f tag_version.sh ]; then source tag_version.sh; fi
159           for sd in docker/*/.; do make -k -C $sd .push_manifest; done
160           rm -f tag_version.sh
161
162 - job-template:
163     id: akraino-validation-lab-daily
164     name: 'validation-{validation_lab}-daily-{stream}'
165     concurrent: true
166     node: '{build-node}'
167     parameters:
168       - {'lab_params'}
169     builders:
170       - trigger-builds:
171           - project: 'bluval-daily-{stream}'
172             predefined-parameters:
173               LAB_SILO={validation_lab}
174             same-node: true
175             current-parameters: true
176             block: true
177
178 - job-template:
179     id: bluval-run-daily-tests
180     name: 'bluval-daily-{stream}'
181     concurrent: true
182     node: '{build-node}'
183     parameters:
184       - string:
185           name: DEPLOY_SCENARIO
186           default: ''
187       - {'bluval-defaults'}
188
189     scm:
190       - git:
191           credentials-id: '{jenkins-ssh-credential}'
192           url: '{git-url}/validation.git'
193           refspec: ''
194           branches:
195             - 'refs/heads/{branch}'
196           skip-tag: true
197           wipe-workspace: true
198           submodule:
199             disable: true
200             recursive: false
201             timeout: '{submodule-timeout}'
202           choosing-strategy: default
203
204     builders:
205       - description-setter:
206           description: "POD: $NODE_NAME"
207       - lf-infra-create-netrc:
208           server-id: logs
209       - shell: !include-raw-escape:
210         - ../shell/run_bluval.sh
211
212     publishers:
213       - logparser:
214           use-project-rules: true
215           parse-rules: "./bluval/rules.txt"
216           unstable-on-warning: true
217           fail-on-error: true
218           show-graphs: false