Merge "Fix yamllint for usecplugin"
[releng/builder.git] / jjb / autorelease / autorelease-macros.yaml
index 30dc6ddf86b6fa7383a7b08e82f346ffd144c6ef..86f981eed2eeb019b024675f344d3e41a97aab6d 100644 (file)
@@ -5,7 +5,7 @@
         - string:
             name: RELEASE_TAG
             default: '{release-tag}'
-            description: "The Release train tag to use eg. Helium-SR3"
+            description: "The Release train tag to use eg. Beryllium-SR1"
 
 - parameter:
     name: autorelease-release-branch
         - string:
             name: RELEASE_BRANCH
             default: '{release-branch}'
-            description: "The Release train branch to base build off eg. stable/helium"
-
-- parameter:
-    name: autorelease-release-datestamp
-    parameters:
-        - bool:
-            name: DATESTAMP
-            default: '{datestamp}'
-            description: "Whether to include a datestamp or not"
+            description: "The Release train branch to base build off eg. stable/beryllium"
 
 - wrapper:
     name: autorelease-build-timeout
             timeout: 1440
             fail: true
 
-- trigger:
-    name: autorelease-trigger-patch-site-merged
-    triggers:
-        - gerrit:
-            server-name: 'OpenDaylight'
-            trigger-on:
-                - change-merged-event
-                - comment-added-contains-event:
-                    comment-contains-value: 'republish'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{name}'
-                branches:
-                    - branch-compare-type: 'ANT'
-                      branch-pattern: '**/{branch}'
-                file-paths:
-                    - compare-type: ANT
-                      pattern: src/site/**
-                    - compare-type: ANT
-                      pattern: site.xml
-
-- trigger:
-    name: autorelease-trigger-patch-site-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}'
-                file-paths:
-                    - compare-type: ANT
-                      pattern: src/site/**
-                    - compare-type: ANT
-                      pattern: site.xml
-
 - builder:
     name: autorelease-checkout-gerrit-patch
     builders:
     builders:
         - config-file-provider:
             files:
-                - file-id: '{autorelease-settings}'
+                - file-id: 'autorelease-settings'
                   variable: 'SETTINGS_FILE'
-                - file-id: '{odl-global-settings}'
+                - 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:
         - maven-target:
             maven-version: '{maven-version}'
             pom: 'pom.xml'
-            goals: 'dependency:sources -DoutputFile=$WORKSPACE/sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+            goals: '--quiet dependency:sources -DoutputFile=$WORKSPACE/sources.log -DappendOutput -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
             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
     name: autorelease-generate-taglist
     builders:
         - shell: |
-            git submodule foreach 'echo $path `git rev-parse --verify HEAD` ${RELEASE_TAG} >> ../taglist.log'
+            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:
+        - 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/distribution-karaf/src/main/assembly/"
+            fi
 
 - builder:
     name: autorelease-generate-release-patches
     builders:
-        - shell:
-            !include-raw-escape:
-                - include-raw-autorelease-release-versions.sh
+    - shell:
+        !include-raw:
+            - include-raw-autorelease-release-versions.sh
 
 - builder:
     name: autorelease-sys-stats
     - shell:
         !include-raw:
             - include-raw-autorelease-get-integration-test-variables.sh
+    - inject:
+        properties-file: variables.prop
 
 - builder:
     name: autorelease-generate-project-report
     - shell:
         !include-raw:
             - include-raw-generate-project-report.sh
+
+- 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