openci: Add skeletons for ONAP autorelease and promotion jobs 33/57533/6
authorFatih Degirmenci <fdegir@gmail.com>
Thu, 17 May 2018 11:49:26 +0000 (13:49 +0200)
committerAric Gardner <agardner@linuxfoundation.org>
Thu, 17 May 2018 22:29:21 +0000 (18:29 -0400)
The jjb will be proposed to ONAP Releng once it is verified on OPNFV
Jenkins.

The flow is
- ONAP autorelease job publishes an ArtifactPublishedEvent to make the
availability of a new version that is tested known to the world
- ONAP promote job gets triggered by a ConfidenceLevelModifiedEvent
published by OPNFV CI to promote autorelease artifact further.

The prototype doing realistic stuff will be built on top of these jobs
and
- parse the triggering event to find the location of autorelease
artifact
- download the artifact for composing ONAP scenario
- run the deployment and testing of ONAP scenario

Please note that this change just adds the basic structure for the jobs
to share the idea. Further changes will add triggering, message
costruction, and publishing.

Change-Id: Ib8939ab44d664ff71f472db66a0e2171ed7b56c5
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
jjb/openci/openci-onap-daily-jobs.yaml [new file with mode: 0644]

diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml
new file mode 100644 (file)
index 0000000..4640eb3
--- /dev/null
@@ -0,0 +1,71 @@
+---
+- 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
+
+    parameters:
+      - 'opnfv-build-defaults'
+
+    builders:
+      - shell: |
+          #!/bin/bash
+
+          echo "Will construct and publish an ArtifactPublishedEvent"
+
+# 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
+
+    parameters:
+      - 'opnfv-build-defaults'
+
+    triggers:
+      - jms-messaging:
+          provider-name: openci.activemq
+          selector: CI_TYPE = 'custom'
+          checks:
+            - field: origin
+              expected-value: 'OPNFV'
+            - field: type
+              expected-value: 'ConfidenceLevelModifiedEvent'
+
+    builders:
+      - shell: |
+          #!/bin/bash
+
+          echo
+          echo "Triggered by an event"
+          echo "----------------------------------"
+          echo $CI_MESSAGE
+          echo "----------------------------------"
+          echo " Promoted ONAP Autorelease artifact as release candidate!"