784d648bc6897cdb620983badd8cebeb2917cfab
[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
21     jobs:
22       - 'releng-release-{stream}-verify'
23       - 'releng-release-{stream}-merge'
24
25     project: 'releng'
26
27 - job-template:
28     name: 'releng-release-{stream}-verify'
29
30     parameters:
31       - '{build-node}-defaults'
32       - stream-parameter:
33           stream: '{stream}'
34       - project-parameter:
35           project: '{project}'
36           branch: 'master'
37
38     scm:
39       - git-scm-gerrit
40
41     triggers:
42       - gerrit:
43           server-name: 'gerrit.opnfv.org'
44           trigger-on:
45             - patchset-created-event:
46                 exclude-drafts: 'false'
47                 exclude-trivial-rebase: 'false'
48                 exclude-no-code-change: 'false'
49             - comment-added-contains-event:
50                 comment-contains-value: 'recheck'
51             - comment-added-contains-event:
52                 comment-contains-value: 'reverify'
53           projects:
54             - project-compare-type: 'ANT'
55               project-pattern: 'releng'
56               branches:
57                 - branch-compare-type: 'ANT'
58                   branch-pattern: '**/master'
59               file-paths:
60                 - compare-type: ANT
61                   pattern: 'releases/{stream}/**'
62                 - compare-type: ANT
63                   pattern: 'releases/schema.yaml'
64                 - compare-type: ANT
65                   pattern: 'releases/scripts/verify_schema.py'
66
67     builders:
68       - shell: !include-raw-escape:
69           - releng-release-create-venv.sh
70           - branch-or-tag.sh
71
72     publishers:
73       - email-jenkins-admins-on-failure
74
75 - job-template:
76     name: 'releng-release-{stream}-merge'
77
78     parameters:
79       - node:
80           name: SLAVE_NAME
81           description: 'Only run merge job on build1'
82           default-slaves:
83             - lf-build1
84           allowed-multiselect: false
85           ignore-offline-nodes: true
86       - stream-parameter:
87           stream: '{stream}'
88       - project-parameter:
89           project: '{project}'
90           branch: 'master'
91       # Override GIT_URL so we can send patches back to Gerrit and
92       # modify repos
93       - string:
94           name: GIT_URL
95           default: ssh://$USER@gerrit.opnfv.org:29418/
96           description: 'Git URL to use on this Jenkins Slave'
97
98     scm:
99       - git-scm-gerrit
100
101     triggers:
102       - gerrit-trigger-change-merged:
103           project: '{project}'
104           branch: 'master'
105           files: 'releases/{stream}/*'
106
107     builders:
108       - shell: !include-raw-escape:
109           - releng-release-create-venv.sh
110           - branch-or-tag.sh
111
112     publishers:
113       - email-jenkins-admins-on-failure
114
115 - parameter:
116     name: stream-parameter
117     parameters:
118       - string:
119           name: STREAM
120           default: '{stream}'
121           description: "OPNFV Stable Stream"