summaryrefslogtreecommitdiffstats
path: root/jjb/armband/armband-project-jobs.yml
blob: 764a5d45b90d1adb8dbe5a78626dc6cf71d3af7e (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
116
117
118
119
120
121
122
123
124
125
126
127
###################################################
# All the jobs except verify have been removed!
# They will only be enabled on request by projects!
###################################################
- project:
    name: armband

    project: '{name}'

    jobs:
        - 'armband-verify-{stream}'
        - 'armband-build-daily-{stream}'

    stream:
        - master:
            branch: '{stream}'
            gs-pathname: ''
        - brahmaputra:
            branch: 'stable/{stream}'
            gs-pathname: '/{stream}'

- job-template:
    name: 'armband-verify-{stream}'

    parameters:
        - project-parameter:
            project: '{project}'
        - gerrit-parameter:
            branch: '{branch}'
        - 'opnfv-build-ubuntu-defaults'

    scm:
        - gerrit-trigger-scm:
            credentials-id: '{ssh-credentials}'
            refspec: '$GERRIT_REFSPEC'
            choosing-strategy: 'gerrit'

    triggers:
        - gerrit:
            trigger-on:
                - patchset-created-event:
                    exclude-drafts: 'false'
                    exclude-trivial-rebase: 'false'
                    exclude-no-code-change: 'false'
                - draft-published-event
                - comment-added-contains-event:
                    comment-contains-value: 'recheck'
                - comment-added-contains-event:
                    comment-contains-value: 'reverify'
            projects:
              - project-compare-type: 'ANT'
                project-pattern: '{project}'
                branches:
                  - branch-compare-type: 'ANT'
                    branch-pattern: '**/{branch}'
                forbidden-file-paths:
                  - compare-type: ANT
                    pattern: 'docs/**|.gitignore'

    builders:
        - shell: |
            echo "Nothing to verify!"

- job-template:
    name: 'armband-build-daily-{stream}'

    concurrent: false

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

    parameters:
        - project-parameter:
            project: '{project}'
        - 'opnfv-build-arm-defaults'
        - armband-project-parameter:
            gs-pathname: '{gs-pathname}'

    scm:
        - git-scm:
            credentials-id: '{ssh-credentials}'
            refspec: ''
            branch: '{branch}'

    triggers:
        - pollscm:
            cron: '0 H/4 * * *'

    wrappers:
        - timeout:
            timeout: 360
            fail: true

    builders:
        - shell:
            !include-raw-escape: ./build.sh
        - shell:
            !include-raw-escape: ./upload-artifacts.sh

    publishers:
        - email:
            recipients: josep.puigdemont@enea.com armband@enea.com

########################
# parameter macros
########################
- parameter:
    name: armband-project-parameter
    parameters:
        - string:
            name: BUILD_DIRECTORY
            default: $WORKSPACE/build_output
            description: "Directory where the build artifact will be located upon the completion of the build."
        - string:
            name: GS_URL
            default: artifacts.opnfv.org/$PROJECT{gs-pathname}
            description: "URL to Google Storage."
        - choice:
            name: FORCE_BUILD
            choices:
                - 'false'
                - 'true'
            description: 'Force build even if there are no changes in the armband repo. Default false'