---
############################################
# dovetail upload artifacts job
############################################
- project:
    name: dovetail-artifacts-upload

    project: 'dovetail'

    jobs:
      - 'dovetail-{image}-artifacts-upload-{stream}'

    stream:
      - master:
          branch: '{stream}'
          gs-pathname: ''
          disabled: false

    image:
      - 'dovetail'
      - 'functest'
      - 'yardstick'
      - 'testapi'
      - 'mongo'

#############################################
# job template
#############################################

- job-template:
    name: 'dovetail-{image}-artifacts-upload-{stream}'


    disabled: '{obj:disabled}'

    concurrent: true

    properties:
      - logrotate-default
      - throttle:
          enabled: true
          max-total: 1
          max-per-node: 1
          option: 'project'

    parameters:
      - project-parameter:
          project: '{project}'
          branch: '{branch}'
      - 'opnfv-build-ubuntu-defaults'
      - dovetail-parameter:
          gs-pathname: '{gs-pathname}'
          image: '{image}'
          branch: '{branch}'

    scm:
      - git-scm

    builders:
      - 'dovetail-builder-artifacts-upload'
      - 'dovetail-upload-artifacts-cache-cleanup'
      - 'dovetail-images-cleanup'

####################
# parameter macros
####################
- parameter:
    name: dovetail-parameter
    parameters:
      - string:
          name: CACHE_DIR
          default: $WORKSPACE/cache{gs-pathname}
          description: "the cache to store packages downloaded"
      - string:
          name: STORE_URL
          default: gs://artifacts.opnfv.org/dovetail{gs-pathname}
          description: "LF artifacts url for storage of dovetail packages"
      - string:
          name: DOCKER_REPO_NAME
          default: opnfv/{image}
          description: "docker repo name"
      - string:
          name: DOCKER_TAG
          default: latest
          description: "docker image tag of which will be uploaded to artifacts"
      - string:
          name: STORE_FILE_NAME
          default: image_{image}_{branch}_$BUILD_ID.docker
          description: "stored file name"

####################################
# builders for dovetail project
####################################
- builder:
    name: dovetail-builder-artifacts-upload
    builders:
      - shell:
          !include-raw: ./dovetail-artifacts-upload.sh

- builder:
    name: dovetail-upload-artifacts-cache-cleanup
    builders:
      - shell: |
          #!/bin/bash
          set -o errexit

          echo "Dovetail: cleanup cache used for storage downloaded packages"

          /bin/rm -rf $CACHE_DIR

- builder:
    name: dovetail-images-cleanup
    builders:
      - shell:
          !include-raw: ./dovetail-cleanup.sh