Merge "Replace `` cmd substitution with $()"
[releng/builder.git] / jjb / autorelease / autorelease-projects.yaml
index 54396d4ee21f5955e213b6363f232787bfb2b9d5..fee1e77dfc093c86081ef7c10dbc7c4637041d67 100644 (file)
+---
 - project:
     name: autorelease-projects
     jobs:
-        - 'autorelease-release-{stream}'
-        - 'autorelease-project-report-{stream}'
+      - 'autorelease-release-{stream}'
 
     stream:
-    - carbon:
-        next-release-tag: Carbon
-        branch: 'master'
-        jdk: 'openjdk8'
-        integration-test: carbon
-    - boron:
-        next-release-tag: Boron-SR1
-        branch: 'stable/boron'
-        jdk: 'openjdk8'
-        integration-test: boron
-    - beryllium:
-        next-release-tag: Beryllium-SR5
-        branch: 'stable/beryllium'
-        jdk: 'openjdk7'
-        integration-test: beryllium
+      - nitrogen:
+          next-release-tag: Nitrogen
+          branch: 'master'
+          jdk: 'openjdk8'
+          integration-test: nitrogen
+      - carbon:
+          next-release-tag: Carbon
+          branch: 'stable/carbon'
+          jdk: 'openjdk8'
+          integration-test: carbon
+      - boron:
+          next-release-tag: Boron-SR4
+          branch: 'stable/boron'
+          jdk: 'openjdk8'
+          integration-test: boron
+      - beryllium:
+          # Only run once a week since Beryllium is in maintenance mode
+          cron: 'H H * * 0'
+          next-release-tag: Beryllium-SR5
+          branch: 'stable/beryllium'
+          jdk: 'openjdk7'
+          integration-test: beryllium
+
+    project: 'releng/autorelease'
+    archive-artifacts: >
+        **/*.prop
+        **/*.log
+        patches/**
+        patches.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:
+          os-cloud: '{os-cloud}'
+          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:
+          opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
+          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'