Fix SCM macro usage of refspec, branches
[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       - lf-infra-parameters: &validation_lf_infra_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
26     triggers:
27       # Build nigtly at 12:10 AM
28       - timed: '10 0 * * *'
29
30     builders:
31       - multijob:
32           name: 'build validation images'
33           execution-type: PARALLEL
34           projects:
35             - name: 'validation-docker-build-amd64-{stream}'
36               <<: *docker-build-job-settings
37             - name: 'validation-docker-build-arm64-{stream}'
38               <<: *docker-build-job-settings
39       - multijob:
40           name: 'publish validation manifests'
41           condition: SUCCESSFUL
42           execution-type: PARALLEL
43           projects:
44             - name: 'validation-docker-manifest-{stream}'
45               <<: *docker-build-job-settings
46
47     publishers:
48       - email:
49           recipients: >
50             cristina.pauna@enea.com
51             juha.kosonen@nokia.com
52
53
54 - job-template:
55     id: akraino-validation-docker-specific-arch
56     name: 'validation-docker-build-{arch_tag}-{stream}'
57     disabled: '{obj:disabled}'
58     node: '{slave_label}'
59     build-timeout: 75
60
61     parameters:
62       - lf-infra-parameters: *validation_lf_infra_parameters
63
64     properties:
65       - build-blocker:
66           use-build-blocker: true
67           blocking-jobs:
68             - 'validation-docker-build-.*'
69           block-level: 'NODE'
70     scm: &validation_scm
71       # lf-infra-gerrit-scm hardcodes branch specifier to refs/heads; while
72       # lf-infra-github-scm does not, allowing us to pass a fully custom '{branch}'
73       - lf-infra-github-scm:
74           jenkins-ssh-credential: '{jenkins-ssh-credential}'
75           url: '{git-url}/{project}.git'
76           refspec: '$GERRIT_REFSPEC'
77           branch: '$STREAM'
78           submodule-recursive: false
79           submodule-timeout: '{submodule-timeout}'
80           submodule-disable: false
81           choosing-strategy: default
82
83     builders:
84       - lf-infra-docker-login:
85           global-settings-file: global-settings
86           settings-file: '{mvn-settings}'
87       - shell: |
88           #!/bin/bash -ex
89           if [ "{branch}" != "{stream}" ]; then export TAG_VER=$STREAM; fi
90           make -k -C docker push-all
91           docker system prune -af
92
93 - job-template:
94     id: akraino-validation-docker-manifest
95     name: 'validation-docker-manifest-{stream}'
96     node: 'ubuntu1604-docker-8c-8g'
97     build-timeout: 15
98
99     parameters:
100       - lf-infra-parameters: *validation_lf_infra_parameters
101
102     disabled: '{obj:disabled}'
103
104     scm: *validation_scm
105
106     builders:
107       - lf-infra-docker-login:
108           global-settings-file: global-settings
109           settings-file: '{mvn-settings}'
110       - shell: |
111           #!/bin/bash -ex
112           if [ "{branch}" != "{stream}" ]; then export TAG_VER=$STREAM; fi
113           for sd in docker/*/.; do make -k -C $sd .push_manifest; done
114
115 - job-template:
116     id: akraino-validation-lab-daily
117     name: 'validation-{validation_lab}-daily-{stream}'
118     concurrent: true
119     node: '{build-node}'
120     parameters:
121       - {'lab_params'}
122     builders:
123       - trigger-builds:
124           - project: 'bluval-daily-{stream}'
125             predefined-parameters:
126               LAB_SILO={validation_lab}
127             same-node: true
128             current-parameters: true
129             block: true
130
131 - job-template:
132     id: bluval-run-daily-tests
133     name: 'bluval-daily-{stream}'
134     concurrent: true
135     node: '{build-node}'
136     parameters:
137       - lf-infra-parameters: *validation_lf_infra_parameters
138       - string:
139           name: DEPLOY_SCENARIO
140           default: ''
141       - {'bluval-defaults'}
142
143     scm:
144       - lf-infra-github-scm:
145           jenkins-ssh-credential: '{jenkins-ssh-credential}'
146           url: '{git-url}/{project}.git'
147           refspec: '$GERRIT_REFSPEC'
148           branch: '$GERRIT_BRANCH'
149           submodule-recursive: false
150           submodule-timeout: '{submodule-timeout}'
151           submodule-disable: true
152           choosing-strategy: default
153
154     builders:
155       - description-setter:
156           description: "POD: $NODE_NAME"
157       - lf-infra-create-netrc:
158           server-id: logs
159       - shell: !include-raw-escape:
160         - ../shell/run_bluval.sh
161
162     publishers:
163       - logparser:
164           use-project-rules: true
165           parse-rules: "./bluval/rules.txt"
166           unstable-on-warning: true
167           fail-on-error: true
168           show-graphs: false