---
# CORD docker image building + dockerhub publishing tasks

- project:
    name: voltha-publish

    # add repos that have documentation to the project list in both jobs
    jobs:
      - 'voltha-publish':
          project-regexp: 'voltha'
          branch-regexp: 'voltha-1.6'
          executor-node: 'imagebuilder'
          dependency-jobs: ''

- job-template:
    id: voltha-publish
    name: 'voltha-publish'
    description: |
      Created by {id} job-template from ci-management/jjb/voltha-publish.yaml

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

    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: '{build-timeout}'
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    parameters:
      - string:
          name: executorNode
          default: '{executor-node}'
          description: 'Name of the Jenkins node to run the job on'

      - string:
          name: manifestUrl
          default: '{gerrit-server-url}/{cord-repo-manifest}'
          description: 'URL to the repo manifest'

      - string:
          name: manifestBranch
          default: '$GERRIT_BRANCH'
          description: 'Name of the repo branch to use'

      - string:
          name: failureEmail
          default: '{failure-email-address}, $GERRIT_PATCHSET_UPLOADER_EMAIL'
          description: 'On job failure, send an email to these addresses'

    project-type: pipeline
    concurrent: false

    dsl: !include-raw-escape: pipeline/voltha-publish.groovy
