---

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

- project:
    name: bbsim
    project: '{name}'
    dest-gopath: "github.com/opencord"

    jobs:
      - 'verify-bbsim-jobs':
          branch-regexp: '{all-branches-regexp}'
      - 'verify-bbsim-jobs-voltha-2.12':
          name-extension: '-voltha-2.12'
          override-branch: 'voltha-2.12'
          branch-regexp: '^voltha-2.12$'
      - 'verify-bbsim-jobs-voltha-2.11':
          name-extension: '-voltha-2.11'
          override-branch: 'voltha-2.11'
          branch-regexp: '^voltha-2.11$'
      - 'verify-bbsim-jobs-master':
          branch-regexp: '^master$'
      - 'publish-bbsim-jobs':
          branch-regexp: '{all-branches-regexp}'

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

- job-group:
    name: 'verify-bbsim-jobs-master'
    jobs:
      - 'voltha-patch-test':
          extraHelmFlags: '--set global.image_tag=master --set onos-classic.image.tag=master'
          testTargets: |
            - target: sanity-bbsim-att
              workflow: att
              flags: ""
              teardown: true
              logging: true
            - target: sanity-bbsim-dt
              workflow: dt
              flags: ""
              teardown: true
              logging: true
            - target: sanity-bbsim-tt
              workflow: tt
              flags: ""
              teardown: true
              logging: true

- job-group:
    name: 'verify-bbsim-jobs-voltha-2.12'
    jobs:
      - 'voltha-patch-test':
          pipeline-script: 'voltha/bbsim-tests.groovy'
          pipeline-branch: 'voltha-2.12'
          extraHelmFlags: '--set global.image_tag=master --set onos-classic.image.tag=master'
          testTargets: |
            - target: sanity-bbsim-att
              workflow: att
              flags: ""
              teardown: true
              logging: true
            - target: sanity-bbsim-dt
              workflow: dt
              flags: ""
              teardown: true
              logging: true
            - target: sanity-bbsim-tt
              workflow: tt
              flags: ""
              teardown: true
              logging: true

- job-group:
    name: 'verify-bbsim-jobs-voltha-2.11'
    jobs:
      - 'voltha-patch-test':
          pipeline-script: 'voltha/voltha-2.11/bbsim-tests.groovy'
          pipeline-branch: 'voltha-2.11'
          extraHelmFlags: '--set global.image_tag=master --set onos-classic.image.tag=master'
          testTargets: |
            - target: sanity-bbsim-att
              workflow: att
              flags: ""
              teardown: true
              logging: true
            - target: sanity-bbsim-dt
              workflow: dt
              flags: ""
              teardown: true
              logging: true
            - target: sanity-bbsim-tt
              workflow: tt
              flags: ""
              teardown: true
              logging: true

- job-group:
    name: 'publish-bbsim-jobs'
    jobs:
      - 'docker-publish':
          maintainers: "releng+voltha-build@linuxfoundation.org"
          docker-repo: 'voltha'
          dependency-jobs: 'version-tag_wildcard'
      - 'github-release':
          dependency-jobs: 'version-tag_wildcard'
          github-organization: 'opencord'
          release-targets: 'release'
          artifact-glob: 'release/*'

# [EOF]
