---

# -----------------------------------------------------------------------
# Copyright 2018-2024 Open Networking Foundation Contributors
#
# 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-FileCopyrightText: 2018-2024 Open Networking Foundation Contributors
# SPDX-License-Identifier: Apache-2.0
# -----------------------------------------------------------------------
# Intent: verification jobs for 'xos' repo
# -----------------------------------------------------------------------

- project:
    name: xos
    project: '{name}'

    jobs:
      - 'verify-xos-jobs-licensed-versioned':
          branch-regexp: '{supported-branches-regexp}'
      - 'verify-xos-jobs-code':
          branch-regexp: '{supported-branches-regexp}'
      - 'publish-xos-jobs':
          branch-regexp: '{supported-branches-regexp}'

# these two job groups are split so that documentation-only patches can go into
# the XOS repo without invoking all the code-level tests.
#
# Items in the 'verify-xos-jobs-code' job-group only trigger with
# 'non-doc-files-regexp', which excludes the docs/* and VERSION file

- job-group:
    name: 'verify-xos-jobs-licensed-versioned'
    jobs:
      - 'verify-licensed'
      - 'tag-collision-reject':
          dependency-jobs: 'verify_xos_licensed'

- job-group:
    name: 'verify-xos-jobs-code'
    jobs:
      - 'python-unit-test':
          build-timeout: 45
          # build-node: 'ubuntu18.04-basebuild-2c-4g'
          build-node: 'voltha-1804-micro'
      - 'api-test':
          pipeline-script: 'xos-core.groovy'

- job-group:
    name: 'publish-xos-jobs'
    jobs:
      - 'pypi-publish':
          pypi-module-dirs: 'lib/xos-config|lib/xos-genx|lib/xos-util|lib/xos-api|lib/xos-migrate|lib/xos-synchronizer|lib/xos-kafka'
          project-regexp: '^{name}$'
          pypi-index: 'pypi'
          dependency-jobs: 'version-tag_wildcard'
      - 'docker-publish':
          maintainers: "onf-bat-admin@opennetworking.org"
          build-timeout: 30
          docker-repo: 'xosproject'
          dependency-jobs: 'version-tag_wildcard'

# [EOF]
