summaryrefslogtreecommitdiffstats
path: root/jjb/openci/openci-onap-daily-jobs.yaml
blob: d328e253042461165529fefb1dabd7234a830e26 (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
---
- project:
    name: openci-onap

    project: '{name}'

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

    jobs:
      - 'openci-onap-autorelease-daily-{stream}'
      - 'openci-onap-promote-daily-{stream}'

# This job gets triggered manually for the demo purposes.
#
# In prototype, either what this job does needs to be integrated to
# ONAP autorelease job or triggered by the upstream autorelease job.
- job-template:
    name: 'openci-onap-autorelease-daily-{stream}'

    disabled: '{obj:disabled}'

    concurrent: false

    build-node: ubuntu1604-builder-4c-4g

    parameters:
      - string:
          name: PUBLISH_EVENT_TYPE
          default: ArtifactPublishedEvent
          description: 'The type of the event this job publishes'
      - string:
          name: PUBLISH_EVENT_ORIGIN
          default: ONAP
          description: 'Originating community'
      - string:
          name: ARTIFACT_LOCATION
          default: https://url/to/artifact/on/onap/nexus/$BUILD_NUMBER
          description: 'The location of the artifact on ONAP Nexus'
      - string:
          name: CONFIDENCE_LEVEL
          default: "'autorelease': 'SUCCESS'"
          description: 'The confidence level the published artifact gained'

    builders:
      # first build step in the job executes create-ape.sh to construct the
      # ArtifactPublishedEvent (ape)
      - shell:
          !include-raw-escape: ./create-ape.sh
      # constructed event gets injected into environment so JME Messaging
      # plugin can publish the event and its properties in post-build step
      - inject:
          properties-file: "$WORKSPACE/event.properties"

    publishers:
      - jms-messaging:
          provider-name: openci.activemq
          msg-type: Custom
          msg-props: |
            type=$type
            origin=$origin
          msg-content:
            $eventBody

# This job gets triggered by a ConfidenceLevelModifiedEvent published
# by OPNFV jobs so ONAP can promote the autorelease artifact even further.
#
# This job is created for the demo purposes and might not be there for
# the prototype.
- job-template:
    name: 'openci-onap-promote-daily-{stream}'

    disabled: '{obj:disabled}'

    concurrent: false

    build-node: ubuntu1604-builder-4c-4g

    triggers:
      - jms-messaging:
          provider-name: openci.activemq
          selector: CI_TYPE = 'custom'
          checks:
            - field: origin
              expected-value: 'OPNFV'
            - field: type
              expected-value: 'ConfidenceLevelModifiedEvent'
            - field: scenario
              expected-value: 'k8-nosdn-onap'

    builders:
      - shell: |
          #!/bin/bash

          echo
          echo "Triggered by $type"
          echo "----------------------------------"
          echo $CI_MESSAGE
          echo "----------------------------------"
          echo " Promoted ONAP Autorelease artifact as release candidate!"