Add tox testing to autorelease
[releng/builder.git] / jjb / autorelease / autorelease-projects.yaml
index d9ad7db79a4f46241793726117c2d56af9bf2da1..c2c355b2ed39fe6eed0a88cded7eea7835435cde 100644 (file)
+---
 - project:
     name: autorelease-projects
     jobs:
-        - 'autorelease-release-{stream}'
-        - 'autorelease-project-report-{stream}'
-
+      - 'autorelease-generate-release-notes-{stream}'
+      - 'autorelease-release-{stream}'
+      - 'autorelease-update-validate-jobs-{stream}'
+      - 'autorelease-version-bump-{stream}'
+      - '{project-name}-validate-autorelease-{stream}'
+      - gerrit-tox-verify
+
+    # todo: After boron EOL remove next-release-tag and directy pass
+    # '{stream}' to autorelease-release-tag parameter
     stream:
-    - carbon:
-        next-release-tag: Carbon
-        branch: 'master'
-        jdk: 'openjdk8'
-        integration-test: carbon
-    - boron:
-        next-release-tag: Boron-SR3
-        branch: 'stable/boron'
-        jdk: 'openjdk8'
-        integration-test: boron
-    - beryllium:
-        next-release-tag: Beryllium-SR5
-        branch: 'stable/beryllium'
-        jdk: 'openjdk7'
-        integration-test: beryllium
-
-    project: 'releng/autorelease'
-    archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz'
-
-###
-# TODO: Remove this job once guava21 testing is complete
-###
-
-- project:
-    name: autorelease-projects-guava21
-    jobs:
-        - 'autorelease-release-guava21-{stream}'
-
-    stream:
-    - carbon:
-        next-release-tag: Guava21-Testing
-        branch: 'master'
-        jdk: 'openjdk8'
-        integration-test: carbon
-
-    project: 'releng/autorelease'
-    archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz'
-
-- job-template:
-    name: 'autorelease-release-guava21-{stream}'
-
-    project-type: freestyle
-    node: centos7-autorelease-4c-16g
-    jdk: '{jdk}'
-
-    properties:
-        - opendaylight-infra-properties:
-            build-days-to-keep: '30'
-
-    parameters:
-        - maven-exec:
-            maven-version: 'mvn33'
-        - opendaylight-infra-parameters:
-            project: '{project}'
-            branch: '{branch}'
-            refspec: 'refs/heads/{branch}'
-            artifacts: '{archive-artifacts}'
-        - autorelease-release-tag:
-            release-tag: '{next-release-tag}'
-        - autorelease-release-branch:
-            release-branch: '{branch}'
-
-    scm:
-        - git:
-            credentials-id: 'opendaylight-jenkins-ssh'
-            url: '$GIT_BASE'
-            refspec: '$GERRIT_REFSPEC'
-            branches:
-                - '$GERRIT_BRANCH'
-            choosing-strategy: 'gerrit'
-            skip-tag: true
-            submodule:
-                recursive: true
-                timeout: 60
-
-    wrappers:
-        - opendaylight-infra-wrappers:
-            build-timeout: '1440'
-
-    triggers:
-        - gerrit:
-            server-name: '{server-name}'
-            trigger-on:
-                - comment-added-contains-event:
-                    comment-contains-value: 'test-guava21-patches'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-            skip-vote:
-                successful: true
-                failed: true
-                unstable: true
-                notbuilt: true
-
-    builders:
-        - shell: |
-            #!/bin/bash
-            cd bgpcep
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/bgpcep
-            git review -d 50184
-            cd ..
-            cd centinel
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/centinel
-            git review -d 50185
-            cd ..
-            cd controller
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/controller
-            git review -d 50176
-            cd ..
-            cd didm
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/didm
-            git review -d 50187
-            cd ..
-            cd faas
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/faas
-            git review -d 50190
-            cd ..
-            cd genius
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/genius
-            git review -d 50192
-            cd ..
-            cd groupbasedpolicy
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/groupbasedpolicy
-            git review -d 50200
-            cd ..
-            cd netvirt
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/netvirt
-            git review -d 50215
-            cd ..
-            cd odlparent
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/odlparent
-            git review -d 49820
-            cd ..
-            cd openflowplugin
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/openflowplugin
-            git review -d 50183
-            cd ..
-            cd ovsdb
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/ovsdb
-            git review -d 50191
-            cd ..
-            cd yangtools
-            git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/yangtools
-            git review -d 50173
-            cd ..
-        # force jenkins install of maven version before any shell scripts use it
-        - maven-target:
-            maven-version: 'mvn33'
-            goals: '-version'
-            settings: 'autorelease-settings'
-            settings-type: cfp
-            global-settings: 'odl-global-settings'
-            global-settings-type: cfp
-        - wipe-local-maven-repo
-        - jacoco-nojava-workaround
-        - shell: "./scripts/list-project-dependencies.sh"
-        - autorelease-determine-merge-order
-        - autorelease-cfp:
-            autorelease-settings: 'autorelease-settings'
-            odl-global-settings: 'odl-global-settings'
-        - autorelease-generate-taglist
-        - autorelease-distribute-taglist
-        - autorelease-generate-release-patches
-        # In a perfect world projects should be releasing separately and we consume them
-        # via a project that pulls the release bits from each project from Nexus.
-        # Keep the patches compatible with that ideal, but apply an edit
-        # to enable building in a single maven reactor afterwards.
-        - autorelease-fix-relative-paths
-        - maven-target:
-              maven-version: 'mvn33'
-              pom: 'pom.xml'
-              goals: 'clean deploy -V -B -Pintegrationtests,docs,repoBuild -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
-              java-opts:
-                - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
-              settings: 'autorelease-settings'
-              settings-type: cfp
-              global-settings: 'odl-global-settings'
-              global-settings-type: cfp
-        - autorelease-maven-deploy
-        - autorelease-get-integration-test-variables
-        - autorelease-maven-sources:
-            maven-version: 'mvn33'
-            settings: 'autorelease-settings'
-            global-settings: 'odl-global-settings'
-        - autorelease-maven-sources-post-process
-        - autorelease-sys-stats
-        - shell: |
-            mkdir -p archives/
-            cp *.log *.prop $_
-
-    publishers:
-        - email-notification:
-            email-recipients: '{email-recipients}'
-            email-prefix: '[autorelease]'
-        - trigger-parameterized-builds:
-            - project: 'integration-distribution-test-{integration-test}'
-              condition: UNSTABLE_OR_BETTER
-              property-file: variables.jenkins-trigger
-              fail-on-missing: true
-        - opendaylight-infra-shiplogs:
-            maven-version: 'mvn33'
+      - oxygen:
+          next-release-tag: '{stream}'
+          branch: 'master'
+          jdk: 'openjdk8'
+          integration-test: oxygen
+      - nitrogen:
+          next-release-tag: '{stream}'
+          branch: 'stable/nitrogen'
+          jdk: 'openjdk8'
+          integration-test: nitrogen
+      - carbon:
+          next-release-tag: '{stream}'
+          branch: 'stable/carbon'
+          jdk: 'openjdk8'
+          integration-test: carbon
+          karaf-version: karaf3
+          extra-mvn-opts: -Dskip.karaf4.featureTest=true
+      - boron:
+          # Only run once a week since Boron is in maintenance mode
+          cron: 'H 12 * * 0'
+          next-release-tag: Boron-SR5
+          branch: 'stable/boron'
+          jdk: 'openjdk8'
+          integration-test: boron
+          karaf-version: karaf3
+
+    project: releng/autorelease
+    project-name: autorelease
+    build-node: centos7-java-builder-2c-4g
+    # Before adding more here, beware of https://jira.linuxfoundation.org/browse/RELENG-280
+    archive-artifacts: >
+        **/*.prop
+        **/*.log
+        **/target/surefire-reports/*-output.txt
+        **/target/failsafe-reports/failsafe-summary.xml
+        **/hs_err_*.log
+        **/target/feature/feature.xml
+        **/*.hprof