Add Sandbox usage doc to multipatch job
[releng/builder.git] / jjb / integration / integration-test-jobs.yaml
index d10f0a939667ce502dad3d6dfc4d80f95b1aea78..69db36f704e402bc13aa543061ad837636b61fd6 100644 (file)
@@ -8,19 +8,27 @@
       - '{project-name}-verify-tox-master'
       - 'integration-csit-verify-1node-library'
       - 'integration-distribution-test-{stream}'
+      - 'integration-sanity-test-{stream}'
       - 'integration-patch-test-{stream}'
       - 'integration-multipatch-test-{stream}'
       - 'integration-distribution-weekly-test-trigger-{stream}'
 
     # CSIT Lists in releng-defaults.yaml
     stream:
-      - carbon:
+      - nitrogen:
           branch: 'master'
+          jre: 'openjdk8'
+          csit-list: '{csit-list-nitrogen}'
+          csit-sanity-list: '{csit-sanity-list-nitrogen}'
+          csit-weekly-list: '{csit-weekly-list-nitrogen}'
+          schedule-weekly: 'H 12 * * 0'
+      - carbon:
+          branch: 'stable/carbon'
           jdk: 'openjdk8'
           jre: 'openjdk8'
           csit-list: '{csit-list-carbon}'
+          csit-sanity-list: '{csit-sanity-list-carbon}'
           csit-weekly-list: '{csit-weekly-list-carbon}'
-          schedule: 'H H * * 0-4'
           schedule-weekly: 'H 12 * * 0'
 
       - boron:
@@ -28,8 +36,8 @@
           jdk: 'openjdk8'
           jre: 'openjdk8'
           csit-list: '{csit-list-boron}'
-          csit-weekly-list: ''
-          schedule: 'H H * * 0-4'
+          csit-sanity-list: '{csit-sanity-list-boron}'
+          csit-weekly-list: '{csit-weekly-list-boron}'
           schedule-weekly: 'H 12 * * 0'
 
       - beryllium:
@@ -37,8 +45,8 @@
           jdk: 'openjdk7'
           jre: 'openjdk7'
           csit-list: '{csit-list-beryllium}'
+          csit-sanity-list: ''
           csit-weekly-list: ''
-          schedule: 'H H * * 6'
           schedule-weekly: 'H 12 * * 0'
 
     # tools system image
@@ -67,6 +75,7 @@
 
     parameters:
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: '{project}'
           branch: '{test-branch}'
           refspec: 'refs/heads/{test-branch}'
 
 # Template: integration-distribution-test-{stream}
 # Goal: Verify a distribution through all system test available
-# Operation: This daily job template takes a distribution and passes all available system test
+# Operation: This template takes a distribution and passes all available system test
 
 - job-template:
     name: 'integration-distribution-test-{stream}'
       - integration-jdk-version:
           jdkversion: '{jre}'
 
-    triggers:
-      - timed: '{schedule}'
-
     builders:
       - trigger-builds:
           - project: '{csit-list}'
           email-recipients: '{email-recipients}'
           email-prefix: '[integration]'
 
+# Template: integration-sanity-test-{stream}
+# Goal: Verify a distribution through sanity test
+# Operation: This template takes a distribution and passes sanity test
+
+- job-template:
+    name: 'integration-sanity-test-{stream}'
+
+    project-type: freestyle
+    node: centos7-robot-2c-2g
+
+    properties:
+      - opendaylight-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+
+    parameters:
+      - integration-bundleurl:
+          bundleurl: '{bundleurl}'
+      - integration-jdk-version:
+          jdkversion: '{jre}'
+
+    builders:
+      - trigger-builds:
+          - project: '{csit-sanity-list}'
+            block: true
+            predefined-parameters:
+              BUNDLEURL=$BUNDLEURL
+
+    publishers:
+      - email-notification:
+          email-recipients: '{email-recipients}'
+          email-prefix: '[integration]'
+
 # Template: integration-patch-test-{stream}
 # Goal: Build a patch and run all available system test on a distribution containing the change
 # Operation: This job template builds a patch, creates a distribution containing the patch, and
 
     parameters:
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: '$GERRIT_PROJECT'
           branch: '{branch}'
           refspec: '$GERRIT_REFSPEC'
           email-recipients: '{email-recipients}'
           email-prefix: '[$GERRIT_PROJECT]'
 
-# Template: integration-multipatch-test-{stream}
-# Goal: Build one or more patches and run all available system test on a distribution containing the change
-# Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
-# containing these patches, and triggers the distribution test job which includes most (if not all) available
-# CSIT jobs
 
 - job-template:
     name: 'integration-multipatch-test-{stream}'
+    # Goal: Build one or more patches and run all available system test on a distribution containing the change.
+    # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution
+    # containing these patches, and triggers the distribution test job which includes most (if not all) available
+    # CSIT jobs
+    # TODO: Move the following to appropriate readthedocs document.
+    # Recommended Sandbox usage:
+    # 0. Create this job and a CSIT job you want to run on the new .zip in Sandbox (disable timed triggers).
+    # 1. Copy the csit job name to clipboard.
+    # 2. Navigate to Sandbox page of this job.
+    # 3. Click "Configure".
+    # 4. Locate "Trigger/call builds on other projects" (under "Post Steps" tab).
+    # 5. Delete the long value of "Projects to build" field and paste the job name from clipboard (ctrl+a, ctrl+v).
+    # 6. Click "Save" button.
+    # 7. Click "Build with Parameters".
+    # yamllint disable-line rule:line-length
+    # 8. Start the job with your parameters, see https://wiki.opendaylight.org/view/Integration/Test/Running_System_Tests#Running_System_Tests_Using_Custom_Distribution_Built_From_Multiple_Patches
+    # 9. The multipatch job waits for the csit job to finish, so abort csit if you see something went wrong.
+    # 10. Navigate to Sandbox page of the csit job, click the run triggered from multipatch.
+    # 11. Click Parameters and copy the long value of BUNDLEURL field to clipboard.
+    # 12. Run the same csit job woth different patchset or test options, or other csit jobs, with this BUNDLEURL value
+    #     so you do not have to wait for multipatch build. Repeat step 12.
+    # 13. Currently, the .zip lasts 24 hours (?) so you may need to jump to step 2 (or 0) after some time.
 
     project-type: maven
     node: centos7-java-builder-8c-8g
       - integration-distribution-branch:
           branch: '{branch}'
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: 'integration/distribution'
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'