Merge "Update builder nodes"
[ci-management.git] / jjb / global-templates-golang.yaml
1 ---
2 - job-template:
3     # Job template for Golang verify jobs
4     #
5     # The purpose of this job template is to run:
6     # 1. make build
7     #
8     # golangver can be set to golang110, golang111 or golang112
9     # depending on what version is needed by the project
10     # default is golang110
11     #
12     # Required Variables:
13     #     branch:    git branch (eg. stable/lithium or master)
14     #
15     # Optional Variables:
16     #     script:    build script to execute
17     #     pattern:   ant file-path pattern relative to the workspace used to
18     #                trigger the job
19
20     name: '{project-name}-{stream}-verify-golang'
21     path: '$WORKSPACE'
22     pattern: '**'
23     script: ''
24     golangver: 'golang110'
25
26     project-type: freestyle
27     concurrent: true
28     node: '{build-node}'
29
30     properties:
31       - infra-properties:
32           build-days-to-keep: '{build-days-to-keep}'
33
34     parameters:
35       - infra-parameters:
36           project: '{project}'
37           branch: '{branch}'
38           refspec: 'refs/heads/{branch}'
39           artifacts: '{archive-artifacts}'
40
41     scm:
42       - gerrit-trigger-scm:
43           refspec: '$GERRIT_REFSPEC'
44           choosing-strategy: 'gerrit'
45           submodule-recursive: '{submodule-recursive}'
46
47     wrappers:
48       - '{golangver}'
49       - infra-wrappers:
50           build-timeout: '{build-timeout}'
51
52     triggers:
53       - gerrit-trigger-patch-submitted:
54           server: '{server-name}'
55           project: '{project}'
56           branch: '{branch}'
57           files: '{pattern}'
58
59     builders:
60       - lf-infra-pre-build
61       - provide-maven-settings:
62           global-settings-file: 'global-settings'
63           settings-file: '{mvn-settings}'
64       - shell: |
65           #!/bin/bash
66           cd $WORKSPACE/{path}
67           make build
68       - shell: '{script}'
69
70     publishers:
71       - infra-shiplogs:
72           maven-version: '{maven-version}'
73
74 - job-template:
75     # Job template for Golang merge jobs
76     #
77     # The purpose of this job template is to run:
78     # 1. make deploy
79     #
80     # golangver can be set to golang110 or golang111
81     # depending on what version is needed by the project
82     # default is golang110
83     #
84     # Required Variables:
85     #     branch:    git branch (eg. stable/lithium or master)
86
87     name: '{project-name}-{stream}-merge-golang'
88     path: $WORKSPACE
89     golangver: 'golang110'
90
91     project-type: freestyle
92     node: '{build-node}'
93
94     properties:
95       - infra-properties:
96           build-days-to-keep: '{build-days-to-keep}'
97
98     parameters:
99       - infra-parameters:
100           project: '{project}'
101           branch: '{branch}'
102           refspec: 'refs/heads/{branch}'
103           artifacts: '{archive-artifacts}'
104       - maven-exec:
105           maven-version: '{maven-version}'
106
107     scm:
108       - gerrit-trigger-scm:
109           refspec: ''
110           choosing-strategy: 'default'
111           submodule-recursive: '{submodule-recursive}'
112
113     wrappers:
114       - '{golangver}'
115       - infra-wrappers:
116           build-timeout: '{build-timeout}'
117
118     triggers:
119       - gerrit-trigger-patch-merged:
120           server: '{server-name}'
121           project: '{project}'
122           branch: '{branch}'
123           files: '**'
124
125     builders:
126       - lf-infra-pre-build
127       - provide-maven-settings:
128           global-settings-file: 'global-settings'
129           settings-file: '{mvn-settings}'
130       - shell: |
131           #!/bin/bash
132           cd $WORKSPACE/{path}
133           make deploy
134
135     publishers:
136       - infra-shiplogs:
137           maven-version: '{maven-version}'
138
139 - job-template:
140     # Job template for building & pushing docker images
141     #
142     # golangver can be set to golang110 or golang111
143     # depending on what version is needed by the project
144     # default is golang110
145     #
146     # The purpose of this job template is to run:
147     #  1. login to the docker registry
148     #  2. run a specified shell builder
149     #
150
151     name: '{project-name}-{stream}-docker-golang-shell-daily'
152     golangver: 'golang110'
153     project-type: freestyle
154     node: 'ubuntu1604-docker-8c-8g'
155     disabled: false
156     properties:
157       - infra-properties:
158           build-days-to-keep: '{build-days-to-keep}'
159
160     parameters:
161       - infra-parameters:
162           project: '{project}'
163           branch: '{branch}'
164           refspec: 'refs/heads/{branch}'
165           artifacts: '{archive-artifacts}'
166
167     scm:
168       - gerrit-trigger-scm:
169           refspec: ''
170           choosing-strategy: 'default'
171           submodule-recursive: '{submodule-recursive}'
172
173     wrappers:
174       - '{golangver}'
175       - infra-wrappers:
176           build-timeout: '{build-timeout}'
177
178     triggers:
179       # 12 AM UTC
180       - timed: '@daily'
181       - gerrit-trigger-release-manually:
182           server: '{server-name}'
183           project: '{project}'
184           branch: '{branch}'
185
186     builders:
187       - lf-infra-pre-build
188       - provide-maven-settings:
189           global-settings-file: 'global-settings'
190           settings-file: '{mvn-settings}'
191
192       - docker-login
193
194       - shell: '{script}'
195
196     publishers:
197       - infra-shiplogs:
198           maven-version: '{maven-version}'