Merge "Add build and SONAR jobs for mapper"
[ci-management.git] / jjb / ci-management / ci-management.yaml
1 ---
2 - project:
3     name: ci-management-jobs
4     jobs:
5       - '{project-name}-ci-jobs'
6
7     project: 'ci-management'
8     project-name: 'ci-management'
9     archive-artifacts: '**/*.log'
10     branch: 'master'
11     build-timeout: '60'
12     build-node: 'centos7-builder-2c-1g'
13     jjb-version: 2.0.0
14
15 - project:
16     name: packer-jobs
17     # packer jobs templates are defined in global-jjb
18     jobs:
19       - '{project-name}-packer-jobs'
20     project: 'ci-management'
21     project-name: 'ci-management'
22     branch: master
23     archive-artifacts: '**/*.log'
24     build-node: 'ubuntu1604-builder-4c-4g'
25     platforms:
26       - centos
27       - ubuntu-16.04
28     templates:
29       - builder
30       - docker
31       - memcached
32       - redis
33     exclude:
34       # only build the docker image on ubuntu at present
35       - platforms: centos
36         templates: docker
37
38 - job-template:
39     name: '{project}-verify-jjb'
40
41     project-type: freestyle
42     node: '{build-node}'
43     concurrent: true
44
45     properties:
46       - infra-properties:
47           build-days-to-keep: 14
48
49     parameters:
50       - infra-parameters:
51           project: '{project}'
52           branch: 'master'
53           refspec: 'refs/heads/master'
54           artifacts: '{archive-artifacts}'
55
56     scm:
57       - gerrit-trigger-scm:
58           refspec: '$GERRIT_REFSPEC'
59           choosing-strategy: 'gerrit'
60           submodule-recursive: '{submodule-recursive}'
61
62     wrappers:
63       - infra-wrappers:
64           build-timeout: '{build-timeout}'
65
66     triggers:
67       - gerrit-trigger-patch-submitted:
68           server: '{server-name}'
69           project: '{project}'
70           branch: '{branch}'
71           files: 'jjb/**'
72
73     builders:
74       - config-file-provider:
75           files:
76             - file-id: 'jjbini'
77               variable: 'JJBINI'
78       - shell: |
79           virtualenv $WORKSPACE/venv
80           source $WORKSPACE/venv/bin/activate
81           pip install --upgrade pip
82           pip freeze
83           pip install jenkins-job-builder
84           jenkins-jobs -l DEBUG --conf $JJBINI test -o archives/job_output jjb/
85           gzip archives/job_output/*
86       - ci-management-check-unicode
87
88     publishers:
89       - infra-shiplogs:
90           maven-version: '{maven-version}'
91
92 - job-template:
93     name: '{project}-merge-jjb'
94
95     project-type: freestyle
96     node: '{build-node}'
97
98     properties:
99       - infra-properties:
100           build-days-to-keep: 14
101
102     parameters:
103       - infra-parameters:
104           project: '{project}'
105           branch: 'master'
106           refspec: 'refs/heads/master'
107           artifacts: '{archive-artifacts}'
108
109     scm:
110       - gerrit-trigger-scm:
111           refspec: ''
112           choosing-strategy: 'default'
113           submodule-recursive: '{submodule-recursive}'
114
115     wrappers:
116       - infra-wrappers:
117           build-timeout: '{build-timeout}'
118
119     triggers:
120       - gerrit-trigger-patch-merged:
121           server: '{server-name}'
122           project: '{project}'
123           branch: '{branch}'
124           files: 'jjb/**'
125
126     builders:
127       - config-file-provider:
128           files:
129             - file-id: 'jjbini'
130               variable: 'JJBINI'
131       - shell: |
132           virtualenv $WORKSPACE/venv
133           source $WORKSPACE/venv/bin/activate
134           pip install --upgrade pip
135           pip freeze
136           pip install jenkins-job-builder
137           jenkins-jobs --conf $JJBINI update --delete-old --workers 4 jjb/
138
139     publishers:
140       - infra-shiplogs:
141           maven-version: '{maven-version}'