b72e38f502a3fdf19b02604adbf7e4097806dd0e
[releng.git] / jjb / releng / releng-release-jobs.yaml
1 # SPDX-License-Identifier: Apache-2.0
2 ##############################################################################
3 # Copyright (c) 2018 The Linux Foundation and others.
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9 ---
10 - project:
11     name: releng-release-jobs
12
13     build-node: 'opnfv-build'
14
15     stream:
16       - fraser
17       - gambia
18       - hunter
19       - iruya
20       - jerma
21       - kali
22       - leguer
23
24     jobs:
25       - 'releng-release-{stream}-verify'
26       - 'releng-release-{stream}-merge'
27
28     project: 'releng'
29
30 - job-template:
31     name: 'releng-release-{stream}-verify'
32
33     parameters:
34       - '{build-node}-defaults'
35       - stream-parameter:
36           stream: '{stream}'
37       - project-parameter:
38           project: '{project}'
39           branch: 'master'
40
41     scm:
42       - git-scm-gerrit
43
44     triggers:
45       - gerrit:
46           server-name: 'gerrit.opnfv.org'
47           trigger-on:
48             - patchset-created-event:
49                 exclude-drafts: 'false'
50                 exclude-trivial-rebase: 'false'
51                 exclude-no-code-change: 'false'
52             - comment-added-contains-event:
53                 comment-contains-value: 'recheck'
54             - comment-added-contains-event:
55                 comment-contains-value: 'reverify'
56           projects:
57             - project-compare-type: 'ANT'
58               project-pattern: 'releng'
59               branches:
60                 - branch-compare-type: 'ANT'
61                   branch-pattern: '**/master'
62               file-paths:
63                 - compare-type: ANT
64                   pattern: 'releases/{stream}/**'
65                 - compare-type: ANT
66                   pattern: 'releases/schema.yaml'
67                 - compare-type: ANT
68                   pattern: 'releases/scripts/verify_schema.py'
69
70     builders:
71       - shell: !include-raw-escape:
72           - releng-release-create-venv.sh
73           - branch-or-tag.sh
74
75     publishers:
76       - email-jenkins-admins-on-failure
77
78 - job-template:
79     name: 'releng-release-{stream}-merge'
80
81     parameters:
82       - node:
83           name: SLAVE_NAME
84           description: 'Only run merge job on build1'
85           default-slaves:
86             - lf-build1
87           allowed-multiselect: false
88           ignore-offline-nodes: true
89       - stream-parameter:
90           stream: '{stream}'
91       - project-parameter:
92           project: '{project}'
93           branch: 'master'
94       # Override GIT_URL so we can send patches back to Gerrit and
95       # modify repos
96       - string:
97           name: GIT_URL
98           default: ssh://$USER@gerrit.opnfv.org:29418/
99           description: 'Git URL to use on this Jenkins Slave'
100
101     scm:
102       - git-scm-gerrit
103
104     triggers:
105       - gerrit-trigger-change-merged:
106           project: '{project}'
107           branch: 'master'
108           files: 'releases/{stream}/*'
109
110     builders:
111       - shell: !include-raw-escape:
112           - releng-release-create-venv.sh
113           - branch-or-tag.sh
114
115     publishers:
116       - email-jenkins-admins-on-failure
117
118 - parameter:
119     name: stream-parameter
120     parameters:
121       - string:
122           name: STREAM
123           default: '{stream}'
124           description: "OPNFV Stable Stream"