---
#
# ============LICENSE_START=======================================================
#  Copyright (C) 2018-2019 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
- job-template:
    name: 'apache-geode-{test-type}Test-jdk{java-test-version}'

    node: geode-ubuntu1804
    disabled: true
    concurrent: true

    properties:
      - logrotate
      - github:
          url: 'https://github.com/Nordix/geode.git/'

    parameters:
      - string:
          name: PROJECT
          default: 'Nordix/geode'
          description: JJB configured PROJECT parameter to identify a Nordix GitHub project
      - string:
          name: BRANCH
          default: 'release-nordix/1.9.0'
          description: JJB configured BRANCH parameter for Nordix GitHub project
      - string:
          name: ARTIFACT_SLUG
          default: '{artifact-slug}'
          description: 'The geode artifact required'
      - string:
          name: GRADLE_TASK
          default: '{gradle-task}'
          description: 'Single atomic piece of work for a build, such as compiling classes or generating javadoc'
      - string:
          name: PARALLEL_GRADLE
          default: '{parallel-gradle}'
          description: 'Parallel execution of gradle tasks'
      - string:
          name: PARALLEL_DUNIT
          default: '{parallel-dunit}'
          description: 'Parallel test execution using docker images'
      - string:
          name: DUNIT_PARALLEL_FORKS
          default: '{dunit-parallel-forks}'
          description: 'Control how many concurrent dunit (using docker) tests will be run'
      - string:
          name: JAVA_BUILD_VERSION
          default: '{java-build-version}'
          description: 'Java version use to build geode'
      - string:
          name: JAVA_TEST_VERSION
          default: '{java-test-version}'
          description: 'Java version use during test execution'
      - string:
          name: TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX
          default: 'registry.nordix.org/docker-hub-proxy/'
          description: 'Docker Hub proxy location for geode test containers required for AcceptanceTest'
      - bool:
          name: TEST_USING_DOCKER
          default: false
          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.

    scm:
      - git-scm-github:
          branch: '$BRANCH'
          refspec: ''
          wipe_workspace: true
          clean_before: false
          base_dir: 'geode'

    builders:
      - '{build-executor}'

    publishers:
      - workspace-cleanup:
          clean-if:
            - failure: false
      - html-publisher:
          name: "{test-type} HTML Report"
          dir: "geode/build/reports/combined"
          files: "index.html"
          keep-all: false
          allow-missing: true
          link-to-last-build: false
      - notify-slack:
          slack-channel: '#geode-ci'
          notify-start: true
          notify-success: true
          notify-failure: true
          notify-back-to-normal: true
