summaryrefslogtreecommitdiffstats
path: root/jjb/dovetail/dovetail-artifacts-upload.yaml
blob: 9a11c6e26436c8595242624b78c04c4ab9dc9d23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
---
############################################
# 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