--- # Autorelease build jobs - job-template: name: 'autorelease-release-{stream}' project-type: freestyle node: centos7-autorelease-4c-16g jdk: '{jdk}' cron: 'H 0 * * *' # Default variable values extra-mvn-opts: '' 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}' - string: name: EXTRA_MVN_OPTS default: '{extra-mvn-opts}' description: | Additional optional Maven Options to pass to the Maven Goals parameter. Examples: -Dskip.karaf.featureTest=true # To disable karaf SingleFeatureTests --fail-never # NEVER fail the build, regardless of project result --fail-at-end # Only fail the build afterwards; allow all non-impacted builds to continue 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: '900' 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 $EXTRA_MVN_OPTS -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=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. artifacts: 'dependencies.log' - trigger-parameterized-builds: - project: 'autorelease-generate-release-notes-{stream}' condition: UNSTABLE_OR_BETTER property-file: variables.jenkins-trigger fail-on-missing: true - project: 'integration-distribution-test-{integration-test}' condition: UNSTABLE_OR_BETTER property-file: variables.jenkins-trigger fail-on-missing: true - project: 'integration-distribution-test-{integration-test}' condition: FAILED trigger-with-no-params: true - project: 'integration-sanity-test-{integration-test}' condition: UNSTABLE_OR_BETTER property-file: variables.jenkins-trigger fail-on-missing: true - project: 'integration-sanity-test-{integration-test}' condition: FAILED trigger-with-no-params: true - project: 'packaging-build-rpm-master' condition: UNSTABLE_OR_BETTER predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL property-file: variables.jenkins-trigger fail-on-missing: true - opendaylight-infra-shiplogs: maven-version: 'mvn33' - job-template: name: 'autorelease-generate-release-notes-{stream}' project-type: freestyle node: centos7-java-builder-2c-8g properties: - opendaylight-infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - opendaylight-infra-parameters: os-cloud: '{os-cloud}' project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' 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 wrappers: - opendaylight-infra-wrappers: build-timeout: '30' triggers: - timed: '0 0 * * 0' 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 - maven-target: maven-version: 'mvn33' pom: '$WORKSPACE/scripts/release_notes_management/pom.xml' goals: | clean package -Dcheckstyle.skip=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-generate-release-notes publishers: - opendaylight-infra-sysstats - opendaylight-infra-shiplogs: maven-version: 'mvn33'