---

# -----------------------------------------------------------------------
# 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.13':
          name-extension: '-voltha-2.13'
          branch-regexp: '^voltha-2.13$'
      - 'verify-bbsim-sadis-server-jobs-voltha-2.12':
          name-extension: '-voltha-2.12'
          branch-regexp: '^voltha-2.12$'
      - 'verify-bbsim-sadis-server-jobs-voltha-2.11':
          name-extension: '-voltha-2.11'
          branch-regexp: '^voltha-2.11$'
      - '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.13'
    jobs:
      - 'voltha-patch-test':
          pipeline-script: 'voltha/bbsim-tests.groovy'
          pipeline-branch: 'voltha-2.13'

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

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

- 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]
