---

# -----------------------------------------------------------------------
# Copyright 2017-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: 2017-2024 Open Networking Foundation Contributors
# SPDX-License-Identifier: Apache-2.0
# -----------------------------------------------------------------------
# Entropy: 0fcb5ffa-d1a4-11ee-be5e-9f44b7181764
# -----------------------------------------------------------------------
# Intent: verification jobs for 'bbsim-sadis-server' repo
# -----------------------------------------------------------------------

- project:
    name: bbsim-sadis-server
    project: '{name}'

    jobs:
      - 'verify-bbsim-sadis-server-jobs':
          branch-regexp: '{all-branches-regexp}'
      - 'verify-bbsim-sadis-server-jobs-voltha-2.14':
          name-extension: '-voltha-2.14'
          branch-regexp: '^voltha-2.14$'
      - 'verify-bbsim-sadis-server-jobs-master':
          branch-regexp: '^master$'
      - 'publish-bbsim-sadis-server-jobs':
          branch-regexp: '{all-branches-regexp}'

- job-group:
    name: 'verify-bbsim-sadis-server-jobs'
    jobs:
      - 'verify-licensed'
      - 'make-unit-test':
          build-node: 'ubuntu18.04-basebuild-1c-2g'
          dest-gopath: "github.com/opencord"
          unit-test-targets: 'lint sca test'
          unit-test-keep-going: 'false'

- job-group:
    name: 'verify-bbsim-sadis-server-jobs-master'
    jobs:
      - 'voltha-patch-test':
          extraHelmFlags: >
            --set global.image_tag=master
            --set onos-classic.image.tag=master

- job-group:
    name: 'verify-bbsim-sadis-server-jobs-voltha-2.14'
    jobs:
      - 'voltha-patch-test':
          pipeline-script: 'voltha/bbsim-tests.groovy'
          pipeline-branch: 'voltha-2.14'

- job-group:
    name: 'publish-bbsim-sadis-server-jobs'
    jobs:
      - 'docker-publish':
          maintainers: "releng+voltha-build@linuxfoundation.org"
          docker-repo: 'voltha'
          dependency-jobs: 'version-tag_wildcard'

# [EOF]
