---

# -----------------------------------------------------------------------
# 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'
      - '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, andy@opennetworking.org, scottb@opennetworking.org"
          build-timeout: 30
          docker-repo: 'xosproject'
          dependency-jobs: 'version-tag_wildcard'

# [EOF]
