---
#
# ============LICENSE_START=======================================================
#  Copyright (C) 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: 'cloud-infra-verify'

    project: 'infra/engine'

    stream:
      - 'master':
          branch: '{stream}'
          disabled: 'false'

    distro:
      - ubuntu1604

    type:
      - virtual

    phase:
      - deploy
      - test

    jobs:
      - 'cloud-infra-verify-{distro}-{type}-{stream}'
      - 'cloud-infra-verify-{distro}-{phase}-{type}-{stream}'

- job-template:
    name: 'cloud-infra-verify-{distro}-{type}-{stream}'

    project-type: multijob

    disabled: '{obj:disabled}'

    concurrent: true

    parameters:
      - project-parameters:
          project: '{project}'
          branch: '{branch}'
      - nordix-gerrit-parameters
      - label:
          name: SLAVE_LABEL
          default: 'cloud-infra-vpod'
          all-nodes: false
          node-eligibility: 'ignore-offline'
      - string:
          name: DISTRO
          default: '{distro}'

    properties:
      - logrotate
      - build-blocker:
          use-build-blocker: true
          blocking-jobs:
            - 'cloud-infra-verify-{distro}-.*'
            - 'cloud-infra-os-.*'
            - 'cloud-infra-k8-.*'
          blocking-level: 'NODE'
      - throttle:
          max-per-node: 1
          max-total: 2
          option: project

    wrappers:
      - build-timeout:
          timeout: 120
      - fix-workspace-permissions

    scm:
      - git-scm-gerrit:
          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
          branch: '{branch}'
          refspec: $GERRIT_REFSPEC

    triggers:
      - nordix-gerrit-trigger-patchset-created:
          project: 'infra\/engine|infra\/swconfig'
          branch: '{branch}'
          files: '**'

    builders:
      - multijob:
          name: deploy
          condition: SUCCESSFUL
          projects:
            - name: 'cloud-infra-verify-{distro}-deploy-{type}-{stream}'
              current-parameters: true
              predefined-parameters: |
                DISTRO={distro}
                GERRIT_PROJECT=$GERRIT_PROJECT
                GERRIT_BRANCH=$GERRIT_BRANCH
                GERRIT_REFSPEC=$GERRIT_REFSPEC
                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
              node-parameters: true
              kill-phase-on: FAILURE
              abort-all-job: true
      - multijob:
          name: test
          condition: SUCCESSFUL
          projects:
            - name: 'cloud-infra-verify-{distro}-test-{type}-{stream}'
              current-parameters: true
              predefined-parameters: |
                DISTRO={distro}
                GERRIT_PROJECT=$GERRIT_PROJECT
                GERRIT_BRANCH=$GERRIT_BRANCH
                GERRIT_REFSPEC=$GERRIT_REFSPEC
                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
              node-parameters: true
              kill-phase-on: test
              abort-all-job: true

- job-template:
    name: 'cloud-infra-verify-{distro}-{phase}-{type}-{stream}'

    disabled: false

    concurrent: true

    properties:
      - logrotate

    parameters:
      - string:
          name: PROJECT
          default: $GERRIT_PROJECT
      - string:
          name: DISTRO
          default: 'ubuntu1604'

    wrappers:
      - build-timeout:
          timeout: 120
      - fix-workspace-permissions

    scm:
      - git-scm-gerrit:
          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
          branch: '{branch}'
          refspec: $GERRIT_REFSPEC

    builders:
      - 'cloud-infra-verify-{phase}-macro'

# -------------------------------
# builder macros
# -------------------------------

- builder:
    name: 'cloud-infra-verify-deploy-macro'
    builders:
      - shell:
          !include-raw: ./cloud-infra-deploy.sh

- builder:
    name: 'cloud-infra-verify-test-macro'
    builders:
      - shell:
          !include-raw: ./cloud-infra-test.sh

# vim: set ts=2 sw=2 expandtab:
