---
#
# ============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=========================================================
- project:
    name: 'apache-geode-coordinator'
    project: 'Nordix/geode'

    stream:
      - 'release-nordix-1.15.1':
          branch: 'release-nordix/1.15.1'
          test_using_docker: false
      - 'release-nordix-1.14.0':
          branch: 'release-nordix/1.14.0'
          test_using_docker: true
    jobs:
      - 'apache-geode-verify-{stream}-coordinator'

- job-template:
    name: 'apache-geode-verify-{stream}-coordinator'
    project-type: multijob
    disabled: true
    concurrent: true
    node: geode-ubuntu1804

    parameters:
      - string:
          name: PROJECT
          default: '{project}'
          description: JJB configured PROJECT parameter to identify a Nordix GitHub project
      - string:
          name: BRANCH
          default: '{branch}'
          description: JJB configured BRANCH parameter for Nordix GitHub project
      - bool:
          name: PUBLISH_GEODE
          default: true
          description: Publish Geode software to Nordix Artifactory after all tests are passed
      - bool:
          name: TEST_USING_DOCKER
          default: '{test_using_docker}'
          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.

    properties:
      - logrotate
      - github:
          url: 'https://github.com/Nordix/geode.git/'
      - throttle:
          max-per-node: 1
          max-total: 3
          option: project

    wrappers:
      - openstack:
          single-use: True

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

    triggers:
      - github

    builders:
      - 'verify-geode-tag-macro'
      - multijob:
          name: SlaveSetup
          condition: SUCCESSFUL
          execution-type: SEQUENTIALLY
          projects:
            - name: 'apache-geode-SlaveSetup'
              current-parameters: true
              git-revision: false
              abort-all-job: true
              node-parameters: true
      - multijob:
          name: Test
          condition: SUCCESSFUL
          execution-type: SEQUENTIALLY
          projects:
            - name: 'apache-geode-UnitTest-jdk8'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
            - name: 'apache-geode-UnitTest-jdk11'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
# Disable ApiCheck job as the ApiCheckTest was introduced
# in Geode 1.13 and it doesn't exist in geode 1.12
#            - name: 'apache-geode-ApiCheckTest-jdk11'
#              current-parameters: true
#              git-revision: true
#              disabled: true
#              abort-all-job: true
#              node-parameters: true
            - name: 'apache-geode-StressNewTest-jdk11'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
            - name: 'apache-geode-IntegrationTest-jdk11'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
            - name: 'apache-geode-AcceptanceTest-jdk11'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
            - name: 'apache-geode-UpgradeTest-jdk11'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
            - name: 'apache-geode-DistributedTest-jdk11'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
      - multijob:
          name: Build&Release
          condition: SUCCESSFUL
          execution-type: SEQUENTIALLY
          projects:
            - name: 'apache-geode-build-release-jdk8'
              current-parameters: true
              git-revision: true
              abort-all-job: true
              node-parameters: true
              enable-condition: "$PUBLISH_GEODE == true"

    publishers:
      - notify-slack:
          slack-channel: '#geode-ci'
          notify-start: true
          notify-success: true
          notify-failure: true
          notify-back-to-normal: true
