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