Geode: Add control for executing test using docker
[infra/cicd.git] / jjb / geode / global-template-apache-geode-test.yaml
1 ---
2 #
3 # ============LICENSE_START=======================================================
4 #  Copyright (C) 2018-2019 Nordix Foundation.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
20 - job-template:
21     name: 'apache-geode-{test-type}Test-jdk{java-test-version}'
22
23     node: geode-ubuntu1804
24     disabled: false
25     concurrent: true
26
27     properties:
28       - logrotate
29       - github:
30           url: 'https://github.com/Nordix/geode.git/'
31
32     parameters:
33       - string:
34           name: PROJECT
35           default: 'Nordix/geode'
36           description: JJB configured PROJECT parameter to identify a Nordix GitHub project
37       - string:
38           name: BRANCH
39           default: 'release-nordix/1.9.0'
40           description: JJB configured BRANCH parameter for Nordix GitHub project
41       - string:
42           name: ARTIFACT_SLUG
43           default: '{artifact-slug}'
44           description: 'The geode artifact required'
45       - string:
46           name: GRADLE_TASK
47           default: '{gradle-task}'
48           description: 'Single atomic piece of work for a build, such as compiling classes or generating javadoc'
49       - string:
50           name: PARALLEL_GRADLE
51           default: '{parallel-gradle}'
52           description: 'Parallel execution of gradle tasks'
53       - string:
54           name: PARALLEL_DUNIT
55           default: '{parallel-dunit}'
56           description: 'Parallel test execution using docker images'
57       - string:
58           name: DUNIT_PARALLEL_FORKS
59           default: '{dunit-parallel-forks}'
60           description: 'Control how many concurrent dunit (using docker) tests will be run'
61       - string:
62           name: JAVA_BUILD_VERSION
63           default: '{java-build-version}'
64           description: 'Java version use to build geode'
65       - string:
66           name: JAVA_TEST_VERSION
67           default: '{java-test-version}'
68           description: 'Java version use during test execution'
69       - string:
70           name: TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX
71           default: 'registry.nordix.org/docker-hub-proxy/'
72           description: 'Docker Hub proxy location for geode test containers required for AcceptanceTest'
73       - bool:
74           name: TEST_USING_DOCKER
75           default: false
76           description: Geode versions prior to 1.15 were using a docker for executing parallel testing. Please set it to 'no' when building version 1.15 onwards.
77
78     scm:
79       - git-scm-github:
80           branch: '$BRANCH'
81           refspec: ''
82           wipe_workspace: true
83           clean_before: false
84           base_dir: 'geode'
85
86     builders:
87       - '{build-executor}'
88
89     publishers:
90       - workspace-cleanup:
91           clean-if:
92             - failure: false
93       - html-publisher:
94           name: "{test-type} HTML Report"
95           dir: "geode/build/reports/combined"
96           files: "index.html"
97           keep-all: false
98           allow-missing: true
99           link-to-last-build: false
100       - notify-slack:
101           slack-channel: '#geode-ci'
102           notify-start: true
103           notify-success: true
104           notify-failure: true
105           notify-back-to-normal: true