summaryrefslogtreecommitdiffstats
path: root/jjb/dovetail/dovetail-artifacts-upload.yml
blob: 0c8efbe0de3f6c75763fcd0e4d280770eee24fd9 (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
############################################
# 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