---
- project:
    vars:
      ensure_tox_version: '<4'
    templates:
      - stx-api-ref-jobs
    check:
      jobs:
        - openstack-tox-linters
        - k8sapp-node-interface-metrics-exporter-tox-py39
        - k8sapp-node-interface-metrics-exporter-tox-pylint
        - k8sapp-node-interface-metrics-exporter-tox-flake8
        - k8sapp-node-interface-metrics-exporter-tox-metadata
        - go-lint
        - go-test
    gate:
      jobs:
        - openstack-tox-linters
        - k8sapp-node-interface-metrics-exporter-tox-py39
        - k8sapp-node-interface-metrics-exporter-tox-pylint
        - k8sapp-node-interface-metrics-exporter-tox-flake8
        - k8sapp-node-interface-metrics-exporter-tox-metadata

- job:
    name: k8sapp-node-interface-metrics-exporter-tox-py39
    parent: openstack-tox-py39
    description: |
            Run py39 test for k8sapp_node_interface_metrics_exporter
    nodeset: debian-bullseye
    required-projects:
      - starlingx/config
      - starlingx/fault
      - starlingx/update
      - starlingx/utilities
      - starlingx/root
    files:
      - python3-k8sapp-node-interface-metrics-exporter/*
    vars:
      tox_extra_args: -c python3-k8sapp-node-interface-metrics-exporter/k8sapp_node_interface_metrics_exporter/tox.ini
      tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/starlingx/root/build-tools/requirements/debian/upper-constraints.txt'

- job:
    name: k8sapp-node-interface-metrics-exporter-tox-metadata
    parent: tox
    description: |
            Run metadata test for k8sapp_node_interface_metrics_exporter
    nodeset: debian-bullseye
    required-projects:
      - starlingx/config
      - starlingx/fault
      - starlingx/update
      - starlingx/utilities
      - starlingx/root
    vars:
      tox_envlist: metadata
      tox_extra_args: -c python3-k8sapp-node-interface-metrics-exporter/k8sapp_node_interface_metrics_exporter/tox.ini
      tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/starlingx/root/build-tools/requirements/debian/upper-constraints.txt'

- job:
    name: k8sapp-node-interface-metrics-exporter-tox-pylint
    parent: tox
    description: |
            Run pylint test for k8sapp_node_interface_metrics_exporter
    nodeset: debian-bullseye
    required-projects:
      - starlingx/config
      - starlingx/fault
      - starlingx/update
      - starlingx/utilities
      - starlingx/root
    files:
      - python3-k8sapp-node-interface-metrics-exporter/*
    vars:
      tox_envlist: pylint
      tox_extra_args: -c python3-k8sapp-node-interface-metrics-exporter/k8sapp_node_interface_metrics_exporter/tox.ini
      tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/starlingx/root/build-tools/requirements/debian/upper-constraints.txt'

- job:
    name: k8sapp-node-interface-metrics-exporter-tox-flake8
    parent: tox
    description: |
            Run flake8 test for k8sapp_node_interface_metrics_exporter
    nodeset: debian-bullseye
    required-projects:
      - starlingx/config
      - starlingx/fault
      - starlingx/update
      - starlingx/utilities
      - starlingx/root
    files:
      - python3-k8sapp-node-interface-metrics-exporter/*
    vars:
      tox_envlist: flake8
      tox_extra_args: -c python3-k8sapp-node-interface-metrics-exporter/k8sapp_node_interface_metrics_exporter/tox.ini
      tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/starlingx/root/build-tools/requirements/debian/upper-constraints.txt'

- job:
    name: go-lint
    parent:  golangci-lint
    description: |
            Run go linting
    vars:
      go_version: 1.21.5
      golangci_lint_version: 1.55.2
      zuul_work_dir: "{{ zuul.project.src_dir }}/metrics-exporter-api/docker/metrics-exporter-api"

- job:
    name: go-test
    parent:  golang-go
    description: |
            Run go test
    vars:
      go_version: 1.21.5
      go_command: test -coverprofile=coverage.out ./...
      # golangci_lint_version: 1.55.2
      zuul_work_dir: "{{ zuul.project.src_dir }}/metrics-exporter-api/docker/metrics-exporter-api"