---
#
# ============LICENSE_START=======================================================
#  Copyright (C) 2018-2020 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-native-windows-verify'
    project: 'Nordix/geode-native'

    stream:
      - 'release-nordix-1.13.0':
          branch: 'release-nordix/1.13.0'
    jobs:
      - 'win-geode-native-{stream}-verify'

- job-template:
    name: 'win-geode-native-{stream}-verify'
    project-type: multijob
    disabled: true
    concurrent: true
    node: geode-windows2019

    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
      - string:
          name: GEODE_SERVER_VERSION
          default: '1.13.1'
          description: Version of Geode Server required to test geode-native client on Windows
      - string:
          name: NUNIT_VERSION
          default: '2.6.4'
          description: Version of NUnit .Net test framework for geode-native tests on Windows
      - string:
          name: DEV_DOTNET_VERSION
          default: '4.5.2'
          description: Version of .NET Framework development platform for geode-native on Windows
      - string:
          name: DOTNET_VERSION
          default: '3.5'
          description: Version of .NET Framework for geode-native on Windows. (Version 3 is required for Old CLI Integration Tests)
      - string:
          name: MSVC_TOOLSET_VERSION
          default: '14.25'
          description: MS Visual Studio build toolset version
      - string:
          name: GEODE_SERVER_PATH
          default: 'C:\GeodeServer'
          description: Location of Geode Server on the Windows test instance


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

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

    triggers:
      - github

    builders:
      - multijob:
          name: WinSlaveSetup
          condition: SUCCESSFUL
          execution-type: SEQUENTIALLY
          projects:
            - name: 'win-geode-native-SlaveSetup'
              current-parameters: true
              git-revision: false
              abort-all-job: true
              node-parameters: true
      - multijob:
          name: Verification
          condition: SUCCESSFUL
          execution-type: SEQUENTIALLY
          projects:
            - name: 'win-geode-native-UnitTest'
              current-parameters: true
              git-revision: true
              abort-all-job: false
              node-parameters: true
            - name: 'win-geode-native-NewIntTest'
              current-parameters: true
              git-revision: true
              abort-all-job: false
              node-parameters: true
            - name: 'win-geode-native-OldIntTest'
              current-parameters: true
              git-revision: true
              abort-all-job: false
              node-parameters: true
            - name: 'win-geode-native-CLIUnitTest'
              current-parameters: true
              git-revision: true
              abort-all-job: false
              node-parameters: true
            - name: 'win-geode-native-CLINewIntTest'
              current-parameters: true
              git-revision: true
              abort-all-job: false
              node-parameters: true
            - name: 'win-geode-native-CLIOldIntTest'
              current-parameters: true
              git-revision: true
              abort-all-job: false
              node-parameters: true

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