Merge "Improvements to distribution verify/merge jobs"
authorLuis Gomez <ecelgp@gmail.com>
Fri, 10 Jun 2016 22:39:50 +0000 (22:39 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Fri, 10 Jun 2016 22:39:50 +0000 (22:39 +0000)
jjb/integration/integration-distribution-jobs.yaml
jjb/integration/integration-test-jobs.yaml
jjb/releng-macros.yaml

index 00127f5747a9776773468980390a9cebbb64e867..68451440363e2652199628bb81bb56638e05c2f7 100644 (file)
@@ -59,7 +59,7 @@
                 - '{ssh-credentials}'
 
     triggers:
-        - gerrit-trigger-patch-submitted:
+        - gerrit-trigger-relevant-patch-submitted:
             name: 'integration/distribution'
             branch: '{branch}'
 
     maven:
         maven-name: '{mvn33}'
         root-pom: 'pom.xml'
-        goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
-        settings: '{integration-settings}'
+        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dstream={stream}'
+        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
         global-settings: '{odl-global-settings}'
+        settings: '{integration-settings}'
         ignore-upstream-changes: true
         post-step-run-condition: 'SUCCESS'
 
     publishers:
         - email-notification:
             email-prefix: '[integration]'
+        - archive-artifacts:
+            artifacts: '**/target/surefire-reports/*-output.txt, '
+        - findbugs
+        - jacoco-report
 
 - job-template:
     name: 'integration-distribution-merge-{stream}'
                 - '{ssh-credentials}'
 
     triggers:
+        - timed: 'H H * * 0'
         - gerrit-trigger-patch-merged:
             name: 'integration/distribution'
             branch: '{branch}'
 
     prebuilders:
         - wipe-org-opendaylight-repo
+        - jacoco-nojava-workaround
         - provide-maven-settings:
             global-settings-file: '{odl-global-settings}'
             settings-file: '{integration-settings}'
     maven:
         maven-name: '{mvn33}'
         root-pom: 'pom.xml'
-        goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
-        settings: '{integration-settings}'
+        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dmerge -Dstream={stream}'
+        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
         global-settings: '{odl-global-settings}'
+        settings: '{integration-settings}'
+
+    postbuilders:
+        - conditional-step:
+            condition-kind: file-exists
+            condition-filename: deploy-site.xml
+            condition-basedir: workspace
+
+            # The strategy here is intentional to run Maven site:deploy twice
+            # once using regular pom.xml to produce a staged-site which is
+            # then used by deploy-site.xml to push to Nexus. This is a
+            # workaround to Maven Site's default linking code which creates
+            # incorrect URLs for sites due to auto-detection assuming your
+            # project is configured in a certain way which ODL is not.
+            steps:
+            - maven-target:
+                maven-version: '{mvn33}'
+                pom: pom.xml
+                goals: 'site:deploy -Dstream={stream}'
+                java-opts:
+                    - '-Xmx2g'
+                global-settings: '{odl-global-settings}'
+                settings: '{integration-settings}'
+            - maven-target:
+                maven-version: '{mvn33}'
+                pom: deploy-site.xml
+                goals: 'site:deploy -Dstream={stream}'
+                java-opts:
+                    - '-Xmx2g'
+                global-settings: '{odl-global-settings}'
+                settings: '{integration-settings}'
+
+    reporters:
+        - findbugs
 
     publishers:
+        - archive-artifacts:
+            artifacts: '**/target/surefire-reports/*-output.txt, '
         - email-notification:
             email-prefix: '[integration]'
         - maven-deploy:
             id: ''
             unique-version: true
             deploy-unstable: false
+        - jacoco-report
 
 # Template: integration-distribution-deploy-{stream}
 # Goal: Verify distribution starts with no issues when all features are loaded
index 9f62cdd93cfb8bde272051e9fd542c6c152a7aa0..9680239a44aa1e29bafab715cc199d85e293078d 100644 (file)
             goals: 'clean install -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
             java-opts:
                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-            settings: '{integration-settings}'
             global-settings: '{odl-global-settings}'
+            settings: '{integration-settings}'
 
     maven:
         maven-name: '{mvn33}'
         root-pom: 'distribution/pom.xml'
         goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
-        settings: '{integration-settings}'
         global-settings: '{odl-global-settings}'
+        settings: '{integration-settings}'
         ignore-upstream-changes: true
         post-step-run-condition: 'SUCCESS'
 
             global-settings-file: '{odl-global-settings}'
             settings-file: '{yangtools-settings}'
 
-
     maven:
         maven-name: '{mvn33}'
         root-pom: 'patch_tester/pom.xml'
         # TODO: Make Maven option configurable. Currently tests are not skipped, everything elase is.
         goals: 'clean install -f patch_tester/pom.xml -Djenkins -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
         maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-        settings: '{yangtools-settings}'
         global-settings: '{odl-global-settings}'
+        settings: '{yangtools-settings}'
         post-step-run-condition: 'SUCCESS'
 
     postbuilders:
index 1a23ad8cbf7ebe637008261025702f8950dc47d3..d5e9cc6be7c97a2a1918464a5ba729864025f35f 100644 (file)
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
 
+- trigger:
+    name: gerrit-trigger-relevant-patch-submitted
+    triggers:
+        - gerrit:
+            server-name: 'OpenDaylight'
+            trigger-on:
+                - patchset-created-event:
+                    exclude-drafts: 'true'
+                    exclude-trivial-rebase: 'false'
+                    exclude-no-code-change: 'true'
+                - 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: '{name}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+
 - trigger:
     name: gerrit-trigger-patch-merged
     triggers: