Merge "Remove mitaka jobs from vtn csit"
[releng/builder.git] / jjb / autorelease / autorelease-macros.yaml
index 1cb313777cc9974bf2a1325fd43a41667c43dae3..90cde777aac25465f1f095cb40cbefcd18e7e25e 100644 (file)
+---
 # Macros for the AutoRelease project
 - parameter:
     name: autorelease-release-tag
     parameters:
-        - string:
-            name: RELEASE_TAG
-            default: '{release-tag}'
-            description: "The Release train tag to use eg. Helium-SR3"
+      - string:
+          name: RELEASE_TAG
+          default: '{release-tag}'
+          description: "The Release train tag to use eg. Beryllium-SR1"
 
 - parameter:
     name: autorelease-release-branch
     parameters:
-        - string:
-            name: RELEASE_BRANCH
-            default: '{release-branch}'
-            description: "The Release train branch to base build off eg. stable/helium"
+      - string:
+          name: RELEASE_BRANCH
+          default: '{release-branch}'
+          description: "The Release train branch to base build off eg. stable/beryllium"
 
 - wrapper:
     name: autorelease-build-timeout
     wrappers:
-        - timeout:
-            type: absolute
-            timeout: 360
-            fail: true
+      - timeout:
+          type: absolute
+          timeout: 1440
+          fail: true
+
+- builder:
+    name: autorelease-checkout-gerrit-patch
+    builders:
+      - shell: |
+          cd ${GERRIT_PROJECT}
+          echo "Checking out ${GERRIT_PROJECT} patch ${GERRIT_REFSPEC}..."
+          git fetch origin ${GERRIT_REFSPEC} && git checkout FETCH_HEAD
+          cd ..
 
 - builder:
     name: autorelease-cfp
     builders:
-        - config-file-provider:
-            files:
-                - file-id: '{autorelease-settings}'
-                  variable: 'AUTORELEASE_SETTINGS'
-                - file-id: '{odl-global-settings}'
-                  variable: 'ODL_GLOBAL_SETTINGS'
+      - config-file-provider:
+          files:
+            - file-id: 'autorelease-settings'
+              variable: 'SETTINGS_FILE'
+            - file-id: 'odl-global-settings'
+              variable: 'GLOBAL_SETTINGS_FILE'
+
+- builder:
+    name: autorelease-determine-merge-order
+    builders:
+      - shell: |
+          # TODO: Remove this condition once stable/beryllium is no longer
+          #       officially maintained.
+          if [ "$GERRIT_BRANCH" != "stable/beryllium" ]; then
+              virtualenv --system-site-packages $WORKSPACE/venv
+              source $WORKSPACE/venv/bin/activate
+              pip install --upgrade pip
+              pip install --upgrade networkx
+              pip freeze
+              ./scripts/determine-merge-order.py
+              deactivate
+              rm -rf $WORKSPACE/venv
+          fi
 
 - builder:
     name: autorelease-maven-deploy
     builders:
-        - shell: !include-raw include-raw-autorelease-maven-deploy.sh
+      - shell: !include-raw: include-raw-autorelease-maven-deploy.sh
+
 - builder:
     name: autorelease-maven-sources
     builders:
-        - maven-target:
-            maven-version: '{maven-version}'
-            pom: 'pom.xml'
-            goals: 'dependency:sources -DoutputFile=sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
-            java-opts:
-                - '-Xmx4096m -XX:MaxPermSize=1024m'
-            settings: '{settings}'
-            global-settings: '{global-settings}'
+      - maven-target:
+          maven-version: '{maven-version}'
+          pom: 'pom.xml'
+          goals: |
+              dependency:sources
+              --quiet
+              -DoutputFile=$WORKSPACE/sources.log
+              -DappendOutput
+              {opendaylight-infra-mvn-opts}
+          java-opts:
+            - '-Xmx4096m -XX:MaxPermSize=1024m'
+          settings: '{settings}'
+          settings-type: cfp
+          global-settings: '{global-settings}'
+          global-settings-type: cfp
+
 - builder:
     name: autorelease-maven-sources-post-process
     builders:
-        - shell: |
-            awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
+      - shell: |
+          awk '/The following files have NOT been resolved:/,/^$/' sources.log > missing-sources.log
+
+- builder:
+    name: autorelease-generate-taglist
+    builders:
+      - shell: |
+          echo autorelease `git rev-parse --verify HEAD` ${RELEASE_TAG} \
+              | tee -a $WORKSPACE/taglist.log
+          git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} \
+              | tee -a $WORKSPACE/taglist.log'
+
+- builder:
+    name: autorelease-distribute-taglist
+    builders:
+      - integration-set-variables
+      - shell: |
+          if [ -d "integration/distribution/distributions" ]; then
+              cp -vf "$WORKSPACE/taglist.log" "integration/distribution/distributions/karaf/src/main/assembly/"
+          else
+              cp -vf "$WORKSPACE/taglist.log" "integration/distribution/$KARAF_ARTIFACT/src/main/assembly/"
+          fi
+
+- builder:
+    name: autorelease-generate-release-patches
+    builders:
+      - shell: !include-raw: include-raw-autorelease-release-versions.sh
+
+- builder:
+    name: autorelease-get-integration-test-variables
+    builders:
+      - integration-set-variables
+      - shell: !include-raw: include-raw-autorelease-get-integration-test-variables.sh
+      - inject:
+          properties-file: variables.prop
+
+- builder:
+    name: autorelease-fix-relative-paths
+    builders:
+      - shell: |
+          ./scripts/fix-relativepaths.sh
+
+- publisher:
+    # include-raw-autorelease-notify-build-failure.sh searches console log for
+    # failures and emails the status to the release mailing list.
+    name: opendaylight-infra-notify-status
+    publishers:
+      - postbuildscript:
+          builders:
+            - shell: !include-raw: include-raw-autorelease-notify-build-failure.sh
+          script-only-if-succeeded: 'False'
+          script-only-if-failed: 'True'
+
+- publisher:
+    # generate sar accounting summary and copy sar data to archive
+    name: opendaylight-infra-sysstats
+    publishers:
+      - postbuildscript:
+          builders:
+            - shell: |
+                mkdir -p archives/
+                cp /var/log/sa/* $_
+                # convert sar data to ascii format
+                sar -A -f /var/log/sa/sa$(date +%d) > archives/sar$(date +%d)
+          script-only-if-succeeded: false
+          script-only-if-failed: false