Merge "Add a prefix variable to defaults as blank"
[releng/builder.git] / jjb / integration / distribution / distribution-macros.yaml
index 3f5c447b114e88cb3a8b44f7cec6cda617960a5e..d8625c6cb0aa9e3630590fe853f9f25244b3b8b4 100644 (file)
@@ -1,6 +1,26 @@
 # JJB macros specific to Integration/Distribution ODL project
 ---
 
+- builder:
+    name: distribution-deploy-verify
+    # Operation: Deploy ODL with all fetures and check it is not broken.
+    # Required bash variables:
+    #   KARAF_VERSION: 'karaf4' or 'karaf3'.
+    #     Use distribution-karaf-version macro to customize.
+    builders:
+      - integration-detect-variables
+      - shell: !include-raw: distribution-deploy-verify.sh
+
+- builder:
+    name: distribution-deploy-offline
+    # Operation: Deploys ODL on the current system, with no external repo configuration, check it works.
+    # Required bash variables:
+    #   KARAF_VERSION: 'karaf4' or 'karaf3'.
+    #     Use distribution-karaf-version macro to customize.
+    builders:
+      - integration-detect-variables
+      - shell: !include-raw: distribution-deploy-offline.sh
+
 - builder:
     name: distribution-check-wipe
     # Step zero: Wipe file repositories up front.
@@ -12,6 +32,8 @@
           rm -rfv /tmp/n
           echo "wipe t: the transient repository used in some manipulations"
           rm -rfv /tmp/t
+          echo "create n: multithreaded execution might fail at creating it."
+          mkdir /tmp/n
 
 - builder:
     name: distribution-check-build-project
               {mvn-opts}
           java-opts:
             - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+
+- builder:
+    name: distribution-check-warn-9191
+    # Detect ODL bundles referenced cross-project from features, store them to a file to be archived.
+    # Do not fail the build, this is just to inform interested contributors.
+    # TODO: Improve integration archiving macro so that it finds bug_9191 log without us crating it in $WORKSPACE/.
+    builders:
+      - shell: |
+          # No failure in this macro should affect the job result.
+          set +e
+          rm -f "$WORKSPACE/bug_9191.log"
+          pushd "$WORKSPACE/distribution/$KARAF_ARTIFACT/target/assembly/system/org/opendaylight"
+          for folder in `ls`; do
+          find "$folder" -name \*features.xml | xargs fgrep -n '<bundle>' > bug_9191.0.log
+          fgrep org.opendaylight bug_9191.0.log | fgrep -v "org.opendaylight.$folder" >> "$WORKSPACE/bug_9191.log"
+          rm bug_9191.0.log
+          done
+          popd
+
+- builder:
+    name: distribution-check-warn-9192
+    # Detect ODL bundles referenced from multiple features within a project, store them to a file to be archived.
+    # Current implementation will also include Bug 9191 violations,
+    # presenting an unified diff with lines marked to be removed, among unmarked lines to compare to.
+    # Do not fail the build, this is just to inform interested contributors.
+    # TODO: Improve integration archiving macro so that it finds bug_9192 log without us crating it in $WORKSPACE/.
+    builders:
+      - shell: |
+          # No failure in this macro should affect the job result.
+          set +e
+          pushd "$WORKSPACE/distribution/$KARAF_ARTIFACT/target/assembly/system/org/opendaylight"
+          find . -name \*features.xml | xargs fgrep -n '<bundle>' > "$WORKSPACE/bug_9192.0.log"
+          popd
+          fgrep org.opendaylight bug_9192.0.log > "$WORKSPACE/bug_9192.1.log"
+          sort -s -t '<' -k 2 "$WORKSPACE/bug_9192.1.log" > "$WORKSPACE/bug_9192.2.log"
+          sort -u -s -t '<' -k 2 "$WORKSPACE/bug_9192.1.log" > "$WORKSPACE/bug_9192.3.log"
+          diff -U 999 -b -t -d "$WORKSPACE/bug_9192.2.log" "$WORKSPACE/bug_9192.3.log" > "$WORKSPACE/bug_9192.diff.log"
+          rm -f "$WORKSPACE"/bug_9192.?.log
+
+- builder:
+    name: distribution-check-bootup
+    # Operation: Locally deploy ODL with all fetures, check it is not broken.
+    # Required bash variables:
+    #   KARAF_VERSION: 'karaf4' or 'karaf3'.
+    #     Use distribution-karaf-version macro to customize.
+    builders:
+      - shell: !include-raw: distribution-check-bootup.sh