---
#
# ============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.11.0':
          branch: 'release-nordix/1.11.0'
    jobs:
      - 'apache-geode-verify-{stream}-coordinator'

- job-template:
    name: 'apache-geode-verify-{stream}-coordinator'
    project-type: multijob
    disabled: false
    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

    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
            - 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
