Merge changes
[releng/builder.git] / jjb / releng-templates.yaml
index bf37c7572e7e3d7203c87b5f749426358e32dced..c4bf31156629890d27ee9e04b0aa91dd0d67f62f 100644 (file)
@@ -15,6 +15,7 @@
 
     parameters:
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: '{project}'
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
@@ -41,7 +42,7 @@
       - wipe-org-opendaylight-repo
       - jacoco-nojava-workaround
       - provide-maven-settings:
-          global-settings-file: 'odl-global-settings'
+          global-settings-file: 'global-settings'
           settings-file: 'autorelease-settings'
       - maven-target:
           maven-version: 'mvn33'
@@ -56,7 +57,7 @@
             - '-Xmx1024m -XX:MaxPermSize=256m'
           settings: 'autorelease-settings'
           settings-type: cfp
-          global-settings: 'odl-global-settings'
+          global-settings: 'global-settings'
           global-settings-type: cfp
       - releng-stage-release
 
@@ -64,8 +65,7 @@
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[releng]'
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - lf-infra-publish
 
 
 - job-template:
@@ -79,6 +79,7 @@
 
     parameters:
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: '{project}'
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
@@ -95,7 +96,7 @@
       - releng-fetch-p2zip-if-necessary:
           maven-version: 'mvn33'
           settings: '{mvn-settings}'
-          global-settings: 'odl-global-settings'
+          global-settings: 'global-settings'
       - releng-generate-p2pom
       - maven-target:
           maven-version: 'mvn33'
           goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r'
           settings: '{mvn-settings}'
           settings-type: cfp
-          global-settings: 'odl-global-settings'
+          global-settings: 'global-settings'
           global-settings-type: cfp
       - releng-update-p2composite-metadata:
           maven-version: 'mvn33'
           settings: '{mvn-settings}'
-          global-settings: 'odl-global-settings'
+          global-settings: 'global-settings'
 
     publishers:
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[releng]'
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - lf-infra-publish
 
 # Generic tox-based verify action
 
     name: tox_builder_verify
 
     # Required Variables:
-    #     stream:    release stream (eg. boron or carbon)
     #     branch:    git branch (eg. stable/boron or master)
     #     toxdir:    directory containing the project's tox.ini relative to
     #                the workspace. Empty works if tox.ini is at project root.
+    # Note that stream value is not needed.
 
     project-type: freestyle
     node: '{build-node}'
 
     parameters:
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: '{project}'
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
             - 'origin/$GERRIT_BRANCH'
           skip-tag: true
           choosing-strategy: 'gerrit'
+          submodule:
+            recursive: true
 
     wrappers:
       - opendaylight-infra-wrappers:
       - shell: |
           virtualenv $WORKSPACE/venv-tox
           source $WORKSPACE/venv-tox/bin/activate
-          pip install --upgrade pip
-          pip install --upgrade tox argparse
-          pip freeze
+          PYTHON="$WORKSPACE/venv-tox/bin/python"
+          $PYTHON -m pip install --upgrade pip
+          $PYTHON -m pip install --upgrade tox argparse
+          $PYTHON -m pip install --upgrade pipdeptree
+          pipdeptree
           cd $WORKSPACE/repo/{toxdir}
           tox
 
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - lf-infra-publish
 
 - job-template:
     name: '{project-name}-verify-tox-{stream}'
     #     toxdir:    directory containing the project's tox.ini relative to
     #                the workspace. Empty works if tox.ini is at project root.
 
+    build-node: centos7-java-builder-2c-4g
+
+    <<: *tox_builder_verify
+
+# Specification for projects outside release cycle, to avoid referring a stream.
+# This is useful mailny for integration-test-jobs, which defines streams for Integration/Distribution,
+# but the tox job is related to Integration/Test only.
+
+- job-template:
+    name: '{project-name}-verify-tox-master'
+
+    # Job template for verify jobs executing tox envlist
+    #
+    # The purpose of this job template is to run tox for projects using this
+    # template.
+    #
+    # Required Variables:
+    #     toxdir:    directory containing the project's tox.ini relative to
+    #                the workspace. Empty works if tox.ini is at project root.
+
+    build-node: centos7-java-builder-2c-4g
+    branch: master
+
     <<: *tox_builder_verify
 
 # Python (pep8) specific, project should migrate to {project-name}-verify-tox-{stream}
     #     toxdir:    directory containing the project's tox.ini relative to
     #                the workspace. Empty works if tox.ini is at project root.
 
+    build-node: centos7-java-builder-2c-4g
+
     <<: *tox_builder_verify
 
 - job-template:
 
     parameters:
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: '{project}'
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - lf-infra-publish
 
 # Node related
 
 
     parameters:
       - opendaylight-infra-parameters:
+          os-cloud: '{os-cloud}'
           project: '{project}'
           branch: '{branch}'
           refspec: 'refs/heads/{branch}'
           # Prepare Python
           virtualenv $WORKSPACE/venv-python
           source $WORKSPACE/venv-python/bin/activate
-          pip install --upgrade pip
-          pip install --upgrade tox argparse nodeenv
-          pip freeze
+          PYTHON="$WORKSPACE/venv-python/bin/python"
+          $PYTHON -m pip install --upgrade pip
+          $PYTHON -m pip install --upgrade tox argparse nodeenv
+          $PYTHON -m pip install --upgrade pipdeptree
+          pipdeptree
 
           # Prepare node
           nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node
       - email-notification:
           email-recipients: '{email-recipients}'
           email-prefix: '[{project}]'
-      - opendaylight-infra-shiplogs:
-          maven-version: 'mvn33'
+      - lf-infra-publish