---

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

- job-group:
    name: 'verify-xos-jobs-code'
    jobs:
      - 'python-unit-test':
          build-timeout: 45
          # build-node: 'ubuntu18.04-basebuild-2c-4g'
          build-node: 'ubuntu18.04-basebuild-8c-15g'
      - '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]
