---
# ============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: 'engine-tox'

    project: 'engine-tox'

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

    lint-type:
      - ansible-lint:
          disabled: false
          repos-to-ignore: 'infra/hwconfig'
      - docs:
          disabled: false
          repos-to-ignore: 'infra/hwconfig|infra/swconfig|infra/test'
      - shellcheck:
          disabled: false
          repos-to-ignore: 'infra/hwconfig'
      - yamllint:
          disabled: false
          repos-to-ignore: ''

    jobs:
      - 'engine-verify-tox-{stream}'
      - 'engine-verify-{lint-type}-{stream}'

- job-template:
    name: 'engine-verify-tox-{stream}'

    project-type: multijob

    concurrent: true

    node: infra-tools-docker-slave-ubuntu1804

    parameters:
      - project-parameters:
          project: $GERRIT_PROJECT
          branch: '{branch}'
          description: 'The project and branch which the change is proposed for'
      - string:
          name: VERBOSITY
          default: 'false'
          description: 'Verbosity setting for the tox script'
      - nordix-gerrit-parameters

    properties:
      - logrotate

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

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

    triggers:
      - gerrit:
          server-name: 'Nordix Gerrit'
          trigger-on:
            - patchset-created-event:
                exclude-drafts: 'false'
                exclude-trivial-rebase: 'false'
                exclude-no-code-change: 'false'
            - draft-published-event
            - comment-added-contains-event:
                comment-contains-value: 'recheck'
            - comment-added-contains-event:
                comment-contains-value: 'reverify'
          projects:
            - project-compare-type: 'REG_EXP'
              project-pattern: 'infra\/engine|infra\/test|infra\/swconfig|infra\/hwconfig'
              branches:
                - branch-compare-type: 'ANT'
                  branch-pattern: '**/{branch}'
              disable-strict-forbidden-file-verification: 'false'
              forbidden-file-paths:
                - compare-type: ANT
                  pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
          custom-url: '* $JOB_NAME $BUILD_URL'

    builders:
      - multijob:
          name: Engine Lint
          condition: ALWAYS
          execution-type: PARALLEL
          projects:
            - name: 'engine-verify-ansible-lint-{stream}'
              current-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
            - name: 'engine-verify-shellcheck-{stream}'
              current-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
            - name: 'engine-verify-yamllint-{stream}'
              current-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
            - name: 'engine-verify-docs-{stream}'
              current-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false

- job-template:
    name: 'engine-verify-{lint-type}-{stream}'

    disabled: '{obj:disabled}'

    concurrent: true

    node: infra-tools-docker-slave-ubuntu1804

    parameters:
      - string:
          name: LINT_TYPE
          default: '{lint-type}'
          description: 'Lint type to run'
      - string:
          name: REPOS_TO_IGNORE
          default: '{repos-to-ignore}'
          description: 'Repos to ignore for the specific lint type'

    properties:
      - logrotate

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

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

    builders:
      - 'engine-verify-tox-macro'

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