---

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

- project:
    name: xos-gui
    project: '{name}'

    jobs:
      - 'verify-xos-gui-jobs':
          branch-regexp: '{supported-branches-regexp}'
      - 'publish-xos-gui-jobs'

- job-group:
    name: 'verify-xos-gui-jobs'
    jobs:
      - 'verify-licensed'
      - 'tag-collision-reject':
          dependency-jobs: 'verify_xos-gui_licensed'
      - 'gui-unit-test':
          dependency-jobs: 'verify_xos-gui_tag-collision'

- job-group:
    name: 'publish-xos-gui-jobs'
    jobs:
      - 'docker-publish':
          maintainers: "onf-bat-admin@opennetworking.org"
          docker-repo: 'xosproject'
          dependency-jobs: 'version-tag_wildcard'

# [EOF]
