[validation] Build release images
[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           blocking-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: 'cristina.pauna@enea.com'
61
62 - job-template:
63     id: akraino-validation-docker-specific-arch
64     name: 'validation-docker-build-{arch_tag}-{stream}'
65     disabled: '{obj:disabled}'
66     node: '{slave_label}'
67     build-timeout: 75
68
69     parameters:
70       - validation-job-parameters:
71           project: '{project}'
72           branch: '{branch}'
73           stream: '{stream}'
74           arch_tag: '{arch_tag}'
75
76     properties:
77       - build-blocker:
78           use-build-blocker: true
79           blocking-jobs:
80             - 'validation-docker-build-.*'
81           blocking-level: 'NODE'
82     scm:
83      - validation-infra-gerrit-scm:
84           jenkins-ssh-credential: '{jenkins-ssh-credential}'
85           git-url: '{git-url}/{project}.git'
86           refspec: ''
87           refs_tag: '{refs_tag}'
88           stream: '{stream}'
89           submodule-recursive: false
90           submodule-timeout: '{submodule-timeout}'
91           submodule-disable: false
92           choosing-strategy: default
93
94     builders:
95       - lf-infra-docker-login:
96           global-settings-file: global-settings
97           settings-file: '{mvn-settings}'
98       - conditional-step:
99           condition-kind: regex-match
100           regex: '^tags$'
101           label: '{refs_tag}'
102           steps:
103             - shell: |
104                 #!/bin/bash -ex
105                 echo "export TAG_VER=$STREAM"  >> tag_version.sh
106       - shell: |
107           #!/bin/bash -ex
108           if [ -f tag_version.sh ]; then source tag_version.sh; fi
109           make -k -C docker push-all
110           rm -f tag_version.sh
111       - shell: |
112           #!/bin/bash -ex
113           docker system prune -af
114
115 - job-template:
116     id: akraino-validation-docker-manifest
117     name: 'validation-docker-manifest-{stream}'
118     node: 'ubuntu1604-docker-8c-8g'
119     build-timeout: 15
120
121     parameters:
122       - validation-job-parameters:
123           project: '{project}'
124           branch: '{branch}'
125           stream: '{stream}'
126
127     disabled: '{obj:disabled}'
128
129     scm:
130      - validation-infra-gerrit-scm:
131           jenkins-ssh-credential: '{jenkins-ssh-credential}'
132           git-url: '{git-url}/{project}.git'
133           refspec: ''
134           refs_tag: '{refs_tag}'
135           stream: '{stream}'
136           submodule-recursive: false
137           submodule-timeout: '{submodule-timeout}'
138           submodule-disable: false
139           choosing-strategy: default
140
141     builders:
142       - lf-infra-docker-login:
143           global-settings-file: global-settings
144           settings-file: '{mvn-settings}'
145       - conditional-step:
146           condition-kind: regex-match
147           regex: '^tags$'
148           label: '{refs_tag}'
149           steps:
150             - shell: |
151                 #!/bin/bash -ex
152                 echo "export TAG_VER=$STREAM"  >> tag_version.sh
153       - shell: |
154           #!/bin/bash -ex
155           if [ -f tag_version.sh ]; then source tag_version.sh; fi
156           for sd in docker/*/.; do make -k -C $sd .push_manifest; done
157           rm -f tag_version.sh