Bug 6926: Unify verify triggers and improve trigger words 43/46043/9
authorVratko Polak <vrpolak@cisco.com>
Tue, 18 Oct 2016 14:50:23 +0000 (16:50 +0200)
committerVratko Polak <vrpolak@cisco.com>
Tue, 18 Oct 2016 14:50:23 +0000 (16:50 +0200)
All patch-triggered jobs now ignore drafts and commit-message-only edits.
This is to prevent situations when only a subset of verify jobs is triggered,
as that could lead to false Verified+1.

Also, only 'recheck' now triggers all verify-type jobs.
Other words such as reverify, revalidate, redistcheck, retox, renode and redocs
only trigger one job, to save time when other job results are reliable.

Docs: Trigger words updated and distribution-check added.

Change-Id: I5769d7e4d148e01428de8b13747b1f04148e7581
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
docs/jenkins.rst
jjb/autorelease/autorelease-macros.yaml
jjb/docs/docs-rtd.yaml
jjb/integration/integration-distribution-jobs.yaml
jjb/netvirt/netvirt-openstack.yaml
jjb/releng-jobs.yaml
jjb/releng-macros.yaml
jjb/releng-templates-java.yaml
jjb/releng-templates.yaml
jjb/sfc/sfc-python.yaml

index 4a594ca65500dd524e73f32041aeac0bb24ce261..a74cd82d543019a72eaa37c7b7738298fedfd357 100644 (file)
@@ -612,7 +612,7 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
       </tr>
       <tr>
         <td colspan="2">
-          This job builds a distrbution against your patch, passes distribution sanity test
+          This job builds a distrbution against your patch, tiggers distribution sanity CSIT jobs
           and reports back the results to Gerrit. Leave a comment with trigger keyword above
           to activate it for a particular patch.
 
@@ -624,13 +624,34 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
             <p>
               Running the "test-distribution" trigger will cause Jenkins to
               remove it's existing vote if it's already -1 or +1'd a comment.
-              You will need to re-run your verify job (recheck) after running
+              You will need to re-run your verify jobs (recheck) after running
               this to get Jenkins to put back the correct vote.
             </p>
           </div>
         </td>
       </tr>
 
+      <tr class="warning">
+        <td><b>Job Template</b><br/>{project}-distribution-check-{stream}</td>
+        <td><b>Gerrit Trigger</b><br/>recheck | redistcheck</td>
+      </tr>
+      <tr>
+        <td colspan="2">
+          This job runs the PROJECT-distribution-check-BRANCH job which is
+          building also integration/distribution project in order to run SingleFeatureTest.
+
+          The <b>redistcheck</b> trigger is useful in cases where a project's
+          other jobs passed, however this job failed due to infra problems or
+          intermittent issues. It will retrigger just this job to save time.
+
+          BEWARE: If there were other failed jobs, redistcheck could lead
+          to false Verified+1 vote, risking a merge which breaks other projetcs.
+          Redistcheck is only for committers who are familiar with the risks involved.
+          If in doubt, use the safe trigger word: recheck.
+          Recheck triggers every job involved in verifying latest patch set in the Change.
+        </td>
+      </tr>
+
       <tr class="warning">
         <td><b>Job Template</b><br/>{project}-integration-{stream}</td>
         <td></td>
@@ -653,13 +674,17 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
       </tr>
       <tr>
         <td colspan="2">
-          The Merge job template is similar to the Verify Job Template except
-          it will trigger once a Gerrit patch is merged into the repo. It
-          also automatically runs the Maven goals <b>source:jar</b> and
-          <b>javadoc:jar</b>.
-
-          This job will upload artifacts to OpenDaylight's
+          This job will trigger once a Gerrit patch is merged into the repo.
+          It will build HEAD of the current project branch and also run the Maven goals
+          <b>source:jar</b> and <b>javadoc:jar</b>.
+          Artifacts are uploaded to OpenDaylight's
           <a href="https://nexus.opendaylight.org">Nexus</a> on completion.
+
+          Running the "remerge" trigger is possible before a Change is merged,
+          in which case it will cause Jenkins to remove it's existing vote
+          if it's already -1 or +1'd a comment.
+          You will need to re-run your verify jobs (recheck) after running
+          this to get Jenkins to put back the correct vote.
         </td>
       </tr>
 
@@ -691,7 +716,7 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
 
       <tr class="warning">
         <td><b>Job Template</b><br/>{project}-validate-autorelease-{stream}</td>
-        <td><b>Gerrit Trigger</b><br/>recheck | reverify</td>
+        <td><b>Gerrit Trigger</b><br/>recheck | revalidate</td>
       </tr>
       <tr>
         <td colspan="2">
@@ -700,9 +725,13 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
           features that do not exist in the current release.
 
           The <b>revalidate</b> trigger is useful in cases where a project's
-          verify job passed however validate failed due to infra problems or
-          intermittent issues. It will retrigger just the validate-autorelease
-          job.
+          other job passed, however this job failed due to infra problems or
+          intermittent issues. It will retrigger just this job to save time.
+
+          BEWARE: If there were other failed jobs, revalidate could lead
+          to false Verified+1 vote, risking a merge which breaks other projetcs.
+          Revalidate is only for committers who are familiar with the risks involved.
+          If in doubt, use the safe trigger word: recheck.
         </td>
       </tr>
 
@@ -712,14 +741,25 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
       </tr>
       <tr>
         <td colspan="2">
-            The Verify job template creates a Gerrit Trigger job that will
-            trigger when a new patch is submitted to Gerrit.
+          The Verify job template creates a Gerrit Trigger job that will
+          trigger when a new patch is submitted to Gerrit.
+          The job only builds the project code (including unit and integration tests).
+
+          The <b>reverify</b> trigger is useful in cases where a project's
+          other jobs passed however this job failed due to infra problems or
+          intermittent issues. It will retrigger just this job to save time.
+
+          BEWARE: If there were other failed jobs, reverify could lead
+          to false Verified+1 vote, risking a merge which breaks other projetcs.
+          Reverify is only for committers who are familiar with the risks involved.
+          If in doubt, use the safe trigger word: recheck.
+          Recheck triggers every job involved in verifying latest patch set in the Change.
         </td>
       </tr>
 
       <tr class="warning">
         <td><b>Job Template</b><br/>{project}-verify-node-{stream}</td>
-        <td><b>Gerrit Trigger</b><br/>recheck | reverify</td>
+        <td><b>Gerrit Trigger</b><br/>recheck | renode</td>
       </tr>
       <tr>
         <td colspan="2">
@@ -731,12 +771,22 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
           {nodever} containing the directory relative to the project root
           containing the nodejs package.json and version of node you wish to
           run tests with.
+
+          The <b>renode</b> trigger is useful in cases where a project's
+          other jobs passed, however this job failed due to infra problems or
+          intermittent issues. It will retrigger just this job to save time.
+
+          BEWARE: If there were other failed jobs, renode could lead
+          to false Verified+1 vote, risking a merge which breaks other projetcs.
+          Renode is only for committers who are familiar with the risks involved.
+          If in doubt, use the safe trigger word: recheck.
+          Recheck triggers every job involved in verifying latest patch set in the Change.
         </td>
       </tr>
 
       <tr class="warning">
         <td><b>Job Template</b><br/>{project}-verify-python-{stream} | {project}-verify-tox-{stream}</td>
-        <td><b>Gerrit Trigger</b><br/>recheck | reverify</td>
+        <td><b>Gerrit Trigger</b><br/>recheck | retox</td>
       </tr>
       <tr>
         <td colspan="2">
@@ -749,6 +799,16 @@ overrided via the opendaylight-infra-wrappers' build-timeout property.
           The 2 template names verify-python & verify-tox are identical and are
           aliases to each other. This allows the project to use the naming that
           is most reasonable for them.
+
+          The <b>retox</b> trigger is useful in cases where a project's
+          other verify jobs passed, however this job failed due to infra problems or
+          intermittent issues. It will retrigger just this job to save time.
+
+          BEWARE: If there were other failed jobs, retox could lead
+          to false Verified+1 vote, risking a merge which breaks other projetcs.
+          Retox is only for committers who are familiar with the risks involved.
+          If in doubt, use the safe trigger word: recheck.
+          Recheck triggers every job involved in verifying latest patch set in the Change.
         </td>
       </tr>
 
index 9bc8417c6edf555114bc1595e7d65d9b495f7ff7..fb2fa065a39c969c490060d188763b2082d12a23 100644 (file)
@@ -51,9 +51,9 @@
             server-name: 'OpenDaylight'
             trigger-on:
                 - patchset-created-event:
-                    exclude-drafts: 'false'
+                    exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
index fd24db2e424466a8b982643846c3059450268b7e..2c196b272b7120418828a3d7b1293fb9403ce641 100644 (file)
             trigger-on:
                 - patchset-created-event:
                     exclude-drafts: 'true'
-                    exclude-trivial-rebase: '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: 'redocs'
+                    # FIXME: Describe this job in docs/jenkins.rst including the BEWARE section.
             projects:
               - project-compare-type: 'ANT'
                 project-pattern: '**'
index f5b0d4e867c272e901fc50db5fd7ca49061e8bc0..33110dc1924b290c6ceafb58d5b67cbb5d9e96d3 100644 (file)
@@ -56,7 +56,7 @@
             build-timeout: '{build-timeout}'
 
     triggers:
-        - gerrit-trigger-relevant-patch-submitted:
+        - gerrit-trigger-patch-submitted:
             name: 'integration/distribution'
             branch: '{branch}'
 
index 984e8d844f64e9bdf5fdbef27b6f5b4249483453..acac17bd196167908a4d1639f27792be60ce5897 100644 (file)
@@ -35,9 +35,9 @@
         - gerrit:
             trigger-on:
                 - patchset-created-event:
-                    exclude-drafts: 'false'
+                    exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck-opendaylight'
             projects:
index 8bd83398a4b730ee73cd4e85e43f91e0d0716f7a..c26dc2bd10f62496ecef71790ec3f976fb6794e3 100644 (file)
@@ -74,9 +74,9 @@
             server-name: 'OpenDaylight'
             trigger-on:
                 - patchset-created-event:
-                    exclude-drafts: 'false'
+                    exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
             server-name: 'OpenDaylight'
             trigger-on:
                 - patchset-created-event:
-                    exclude-drafts: 'false'
+                    exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
index 8ded79d1ca7057bbd11962fb09cccea8b21b59f9..05c9eaab14ce353588b8aaa5ee7dc681bd584734 100644 (file)
             timeout: 360
             fail: true
 
+# Used only by opflex-verify-{stream} and {project-name}-verify-{stream}-{maven}-{jdks}
 - trigger:
     name: gerrit-trigger-patch-submitted
-    triggers:
-        - gerrit:
-            server-name: 'OpenDaylight'
-            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: '{name}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-
-- trigger:
-    name: gerrit-trigger-relevant-patch-submitted
     triggers:
         - gerrit:
             server-name: 'OpenDaylight'
index 7b7b7aef1de7269925602abb0360f4f05deeb1da..4e105f8228b15eef92648fbb3f286c547a77f1e8 100644 (file)
                 - patchset-created-event:
                     exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
-                    comment-contains-value: 'test-distribution'
-                - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
+                    comment-contains-value: 'redistcheck'
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
             projects:
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
-                - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
                 - comment-added-contains-event:
                     comment-contains-value: 'revalidate'
             projects:
index e41dc861118377d790abdef69f614569f1f8618f..a29d8df701d2a8b5849df8465602b07ad57fe401 100644 (file)
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
                 - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
+                    comment-contains-value: 'retox'
             projects:
               - project-compare-type: 'ANT'
                 project-pattern: '{project}'
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'
                 - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
+                    comment-contains-value: 'renode'
             projects:
               - project-compare-type: 'ANT'
                 project-pattern: '{project}'
index acf5a079abf52ba5fc8f5ec9e4aeebf51a0a25d7..8b5b7cc126d514bcab4816d4a86a5c12b0a17b27 100644 (file)
@@ -57,9 +57,9 @@
             server-name: 'OpenDaylight'
             trigger-on:
                 - patchset-created-event:
-                    exclude-drafts: 'false'
+                    exclude-drafts: 'true'
                     exclude-trivial-rebase: 'false'
-                    exclude-no-code-change: 'false'
+                    exclude-no-code-change: 'true'
                 - draft-published-event
                 - comment-added-contains-event:
                     comment-contains-value: 'recheck'