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