X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-projects.yaml;h=a1ce5ef7395cc0664b45a835ed7f6ba28fbe6a6e;hb=6663ce4c646c618d07bcd47ed8088c4fdfe31eb6;hp=01af1d3c98eab34e62133b5e2fccf8ca59ccfb2c;hpb=73f40a20bbc7f5961efdf1ed963b131ac1fc3b2b;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-projects.yaml b/jjb/autorelease/autorelease-projects.yaml index 01af1d3c9..a1ce5ef73 100644 --- a/jjb/autorelease/autorelease-projects.yaml +++ b/jjb/autorelease/autorelease-projects.yaml @@ -2,526 +2,39 @@ - project: name: autorelease-projects jobs: - - 'autorelease-release-{stream}' - 'autorelease-generate-release-notes-{stream}' + - 'autorelease-release-{stream}' + - 'autorelease-update-validate-jobs-{stream}' + - 'autorelease-version-bump-{stream}' + - '{project-name}-validate-autorelease-{stream}' stream: - nitrogen: - next-release-tag: Nitrogen + # todo: After boron EOL remove next-release-tag and directy pass + # '{stream}' to autorelease-release-tag parameter + next-release-tag: '{stream}' branch: 'master' jdk: 'openjdk8' integration-test: nitrogen - carbon: - next-release-tag: Carbon + next-release-tag: '{stream}' branch: 'stable/carbon' jdk: 'openjdk8' integration-test: carbon karaf-version: karaf3 + extra-mvn-opts: -Dskip.karaf4.featureTest=true - boron: - next-release-tag: Boron-SR4 + # Only run once a week since Boron is in maintenance mode + cron: 'H H * * 0' + next-release-tag: Boron-SR5 branch: 'stable/boron' jdk: 'openjdk8' integration-test: boron karaf-version: karaf3 - - 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 - karaf-version: karaf3 - project: 'releng/autorelease' + project: releng/autorelease + project-name: autorelease archive-artifacts: > **/*.prop **/*.log - patches/** - patches.tar.gz error.log.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}' - - distribution-karaf-version: - karaf-version: '{karaf-version}' - - 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 - - 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' - - -### -# TODO: Remove this job once carbon tests failures are resolved -# This jobs skips all tests and is intended to stage artifacts for integration -# testing -### - -- project: - name: autorelease-projects-notests - jobs: - - 'autorelease-release-notests-{stream}' - - stream: - - carbon: - next-release-tag: Carbon - branch: 'stable/carbon' - jdk: 'openjdk8' - integration-test: carbon - karaf-version: karaf3 - - - project: 'releng/autorelease' - archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz' - - -# Autorelease build jobs -- job-template: - name: 'autorelease-release-notests-{stream}' - - project-type: freestyle - node: centos7-autorelease-4c-16g - jdk: '{jdk}' - cron: 'H 0 * * *' - - properties: - - build-discarder: - days-to-keep: '30' - num-to-keep: 40 - artifact-num-to-keep: 1 - # Make sure we only archive the last artifact until we figure out why - # autorelease carbon is not generating a staging repo. - # - 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}' - - distribution-karaf-version: - karaf-version: '{karaf-version}' - - 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: - - timed: '{cron}' - - builders: - # 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 - - distribute-build-url: - path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly' - - 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 - -Pintegrationtests,docs,repoBuild - -Dcheckstyle.skip=true - -DskipTests=true - -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage - {opendaylight-infra-mvn-opts} - 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 - - shell: | - mkdir -p archives/ - cp *.log *.prop $_ - - publishers: - - opendaylight-infra-notify-status - - opendaylight-infra-sysstats - - archive: - # Need to archive dependencies.log in Jenkins to provide a simple - # way for downstream jobs to pull the latest version of this file - # in their builds. - # TODO stop archiving **/*.zip once we figure out why artifacts are - # not deploying to Nexus - artifacts: 'dependencies.log, **/*.zip, /var/log/sa/*' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33' - - -### -# TODO: Remove this job once carbon tests failures are resolved -# This jobs uses -fn (fail never) and is intended to run the build until -# complition without being intruptted on test failures. -### - -- project: - name: autorelease-projects-failnever - jobs: - - 'autorelease-release-failnever-{stream}' - - stream: - - carbon: - next-release-tag: Carbon - branch: 'stable/carbon' - jdk: 'openjdk8' - integration-test: carbon - karaf-version: karaf3 - - project: 'releng/autorelease' - archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz' - - -# Autorelease build jobs -- job-template: - name: 'autorelease-release-failnever-{stream}' - - project-type: freestyle - node: centos7-autorelease-4c-16g - jdk: '{jdk}' - cron: 'H 0 * * *' - - properties: - - build-discarder: - days-to-keep: '30' - num-to-keep: 40 - artifact-num-to-keep: 1 - # Make sure we only archive the last artifact until we figure out why - # autorelease carbon is not generating a staging repo. - # - 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}' - - distribution-karaf-version: - karaf-version: '{karaf-version}' - - 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: - - timed: '{cron}' - - builders: - # 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 - - distribute-build-url: - path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly' - - 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 - -Pintegrationtests,docs,repoBuild - -Dcheckstyle.skip=true - -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage - -fn - {opendaylight-infra-mvn-opts} - 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 - - shell: | - mkdir -p archives/ - cp *.log *.prop $_ - - publishers: - - opendaylight-infra-notify-status - - opendaylight-infra-sysstats - - archive: - # Need to archive dependencies.log in Jenkins to provide a simple - # way for downstream jobs to pull the latest version of this file - # in their builds. - # TODO stop archiving **/*.zip once we figure out why artifacts are - # not deploying to Nexus - artifacts: 'dependencies.log, **/*.zip, /var/log/sa/*' - - opendaylight-infra-shiplogs: - maven-version: 'mvn33'