Merge "Update Global-jjb to master"
[releng.git] / jjb / functest / functest-weekly-jobs.yaml
1 ---
2 ###################################
3 # job configuration for functest
4 ###################################
5 - project:
6     name: functest-weekly
7
8     project: functest
9
10     # -------------------------------
11     # BRANCH ANCHORS
12     # -------------------------------
13     master: &master
14       stream: master
15       branch: '{stream}'
16       gs-pathname: ''
17       docker-tag: 'latest'
18       disabled: false
19     fraser: &fraser
20       stream: fraser
21       branch: 'stable/{stream}'
22       gs-pathname: '/{stream}'
23       docker-tag: '{stream}'
24       disabled: false
25     # -------------------------------
26     # POD, INSTALLER, AND BRANCH MAPPING
27     # -------------------------------
28     #    Installers using labels
29     #            CI PODs
30     # This section should only contain the installers
31     # that have been switched using labels for slaves
32     # -------------------------------
33     pod:
34       # fuel CI PODs
35       - baremetal:
36           slave-label: fuel-baremetal
37           installer: fuel
38           <<: *master
39       - virtual:
40           slave-label: fuel-virtual
41           installer: fuel
42           <<: *master
43       - baremetal:
44           slave-label: fuel-baremetal
45           installer: fuel
46           <<: *fraser
47       - virtual:
48           slave-label: fuel-virtual
49           installer: fuel
50           <<: *fraser
51     # -------------------------------
52     jobs:
53       - 'functest-{installer}-{pod}-weekly-{stream}'
54
55 ################################
56 # job template
57 ################################
58 - job-template:
59     name: 'functest-{installer}-{pod}-weekly-{stream}'
60
61     disabled: '{obj:disabled}'
62
63     concurrent: true
64
65     properties:
66       - logrotate-default
67       - throttle:
68           enabled: true
69           max-per-node: 1
70           option: 'project'
71
72     wrappers:
73       - build-name:
74           name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
75       - timeout:
76           timeout: '400'
77           abort: true
78
79     parameters:
80       - project-parameter:
81           project: '{project}'
82           branch: '{branch}'
83       - '{installer}-defaults'
84       - '{slave-label}-defaults'
85       - string:
86           name: FUNCTEST_SUITE_NAME
87           default: 'weekly'
88           description: "Weekly suite name to run"
89       - string:
90           name: DEPLOY_SCENARIO
91           default: 'os-odl_l2-nofeature-ha'
92       - string:
93           name: DOCKER_TAG
94           default: '{docker-tag}'
95           description: 'Tag to pull docker image'
96       - string:
97           name: CLEAN_DOCKER_IMAGES
98           default: 'false'
99           description: 'Remove downloaded docker images (opnfv/functest*:*)'
100       - functest-parameter:
101           gs-pathname: '{gs-pathname}'
102
103     scm:
104       - git-scm
105
106     builders:
107       - description-setter:
108           description: "Built on $NODE_NAME"
109       - 'functest-weekly-builder'
110 ########################
111 # builder macros
112 ########################
113 - builder:
114     name: functest-weekly-builder
115     builders:
116       - shell:
117           !include-raw: ./functest-cleanup.sh
118       # yamllint disable rule:indentation
119       - shell:
120           !include-raw:
121               - ./functest-env-presetup.sh
122               - ../../utils/fetch_os_creds.sh
123               - ./functest-alpine.sh
124       # yamllint enable rule:indentation
125       - shell:
126           !include-raw: ../../utils/push-test-logs.sh
127       - shell:
128           !include-raw: ./functest-exit.sh