---
# ============LICENSE_START=======================================================
#  Copyright (C) 2021 Nordix Foundation.
# ================================================================================
# 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-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================

- project:
    name: 'meridio-e2e-test-kind'

    project: 'meridio-e2e-test-kind'

    jobs:
      - 'meridio-e2e-test-kind'

- job-template:
    name: 'meridio-e2e-test-kind'
    project-type: pipeline
    disabled: '{obj:disabled}'

    concurrent: false

    properties:
      - github:
          url: https://github.com/Nordix/Meridio-Operator
      - build-discarder:
          days-to-keep: 60
          num-to-keep: 2000
          artifact-days-to-keep: 60
          artifact-num-to-keep: 2000


    parameters:
      - string:
          name: GITHUB_ORGANIZATION
          default: 'Nordix'
          description: GitHub Organization
      - string:
          name: PROJECT
          default: 'Meridio'
          description: GitHub project
      - string:
          name: GIT_PROJECT
          default: "https://github.com/$GITHUB_ORGANIZATION/$PROJECT.git"
          description: Git URL of the project
      - string:
          name: CURRENT_BRANCH
          default: "master"
          description: Current Git branch
      - string:
          name: DEFAULT_BRANCH
          default: "master"
          description: default branch
      - bool:
          name: NEXT
          default: false
          description: Does the job run has to call for a next run?
      - string:
          name: MERIDIO_VERSION
          default: 'latest'
          description: Version of Meridio
      - string:
          name: TAPA_VERSION
          default: 'latest'
          description: Version of Meridio TAPA
      - string:
          name: KUBERNETES_VERSION
          default: 'v1.25'
          description: Version of Kubernetes
      - string:
          name: NSM_VERSION
          default: 'v1.6.0'
          description: Version of NSM
      - string:
          name: IP_FAMILY
          default: 'dualstack'
          description: IP Family
      - string:
          name: NUMBER_OF_WORKERS
          default: "2"
          description: Number of Kubernetes Workers
      - string:
          name: ENVIRONMENT_NAME
          default: "kind-operator"
          description: Name of the environment (under test/e2e/environment directory in Meridio)
      - string:
          name: SEED
          default: "1"
          description: Order in which the tests are running
      - string:
          name: SKIP
          default: ""
          description: e2e tests to skip
      - string:
          name: FOCUS
          default: ""
          description: e2e tests to focus
      - bool:
          name: DRY_RUN
          default: false
          description: Dry Run

    dsl: 
      !include-raw-escape: e2e.Jenkinsfile
