---
# verification jobs for 'sadis-server' repo

- project:
    name: sadis-server
    project: '{name}'

    jobs:
      - 'verify-sadis-server-jobs':
          branch-regexp: '{supported-branches-regexp}'

- job-group:
    name: 'verify-sadis-server-jobs'
    jobs:
      - 'verify-licensed'
      - 'tag-collision-reject':
          dependency-jobs: 'verify_sadis-server_licensed'
      - 'sadis-server-tests':
          dependency-jobs: 'verify_sadis-server_tag-collision'

- job-template:
    id: 'sadis-server-tests'
    name: 'verify_{project}_tests'

    description: |
      Created by {id} job-template from ci-management/jjb/verify/sadis-server.yaml

    triggers:
      - cord-infra-gerrit-trigger-patchset:
          gerrit-server-name: '{gerrit-server-name}'
          project-regexp: '^{project}$'
          branch-regexp: '{branch-regexp}'
          dependency-jobs: '{dependency-jobs}'
          file-include-regexp: '{all-files-regexp}'

    properties:
      - cord-infra-properties:
          build-days-to-keep: '{build-days-to-keep}'
          artifact-num-to-keep: '{artifact-num-to-keep}'

    wrappers:
      - lf-infra-wrappers:
          build-timeout: 20
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    scm:
      - cord-infra-gerrit-scm:
          git-url: '$GIT_URL/$GERRIT_PROJECT'
          refspec: '$GERRIT_REFSPEC'
          branch: '$GERRIT_BRANCH'
          submodule-recursive: 'false'
          choosing-strategy: 'gerrit'
          jenkins-ssh-credential: '{jenkins-ssh-credential}'
          basedir: '{project}'

    node: 'ubuntu16.04-basebuild-1c-2g'
    project-type: freestyle
    concurrent: true

    builders:
      - shell: |
          #!/usr/bin/env bash
          set -eux -o pipefail

          export GOPATH=~/go
          export PATH=$PATH:/usr/lib/go-1.12/bin:/usr/local/go/bin:~/go/bin

          # move code the proper location
          mkdir -p $GOPATH/src/gerrit.opencord.org
          mv sadis-server $GOPATH/src/gerrit.opencord.org/sadis-server

          pushd $GOPATH/src/gerrit.opencord.org/sadis-server

          dep ensure -v -update

          go build -v

          go test -v ./...

          # generate Jenkins report
          go test -v ./...  2>&1 | go-junit-report > $WORKSPACE/junit-report.xml

          # generate Jenkins coverage
          go test -coverprofile=coverage.txt -covermode=count ./...
          gocover-cobertura < coverage.txt > $WORKSPACE/coverage.xml

          popd


    publishers:
      - junit:
          results: "junit-report.xml"
          allow-empty-results: true
      - cobertura:
          report-file: "coverage.xml"
          targets:
            - files:
                healthy: 80
                unhealthy: 0
                failing: 0
            - method:
                healthy: 50
                unhealthy: 0
                failing: 0
