X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-templates.yaml;h=710ee05f64d5f06e16b4a788da9e9654900af343;hb=b38ad5801939766c6b0656487e3eaa113a7d4054;hp=d1e3ec70601c75bfb0e6ddfe46fa82e2dc78198c;hpb=277e6f6ee3df23e731f87b1850e8329bb69e324d;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index d1e3ec706..710ee05f6 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -3,15 +3,24 @@ - job-template: name: 'autorelease-release-{stream}' - project-type: freestyle - node: centos7-autorelease-4c-16g - jdk: '{jdk}' - cron: 'H 0 * * *' + ############ + # Defaults # + ############ - # Default variable values + build-node: centos7-autorelease-8c-16g + java-version: openjdk8 mvn-version: mvn33 extra-mvn-opts: '' + ##################### + # Job Configuration # + ##################### + + project-type: freestyle + node: '{build-node}' + jdk: '{java-version}' + cron: 'H 0 * * *' + properties: - lf-infra-properties: build-days-to-keep: 30 @@ -23,6 +32,7 @@ project: '{project}' stream: '{stream}' branch: '{branch}' + lftools-version: '{lftools-version}' - distribution-karaf-version: karaf-version: '{karaf-version}' - autorelease-release-tag: @@ -42,12 +52,6 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. - - bool: - name: TRIGGER_DOWNSTREAM_JOBS - default: true - description: | - Used by the post-build-script step to determine if downstream - jobs should be triggered for this run or not. scm: - git: @@ -81,6 +85,7 @@ autorelease-settings: 'autorelease-settings' global-settings: 'odl-global-settings' - autorelease-generate-release-patches + - autorelease-generate-artifact-versions - autorelease-distribute-taglist - distribute-build-url: path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly' @@ -100,7 +105,7 @@ -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage {opendaylight-infra-mvn-opts} java-opts: - - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' + - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: 'autorelease-settings' settings-type: cfp global-settings: 'global-settings' @@ -119,45 +124,37 @@ publishers: - opendaylight-infra-notify-status - - postbuildscript: - builders: - - conditional-step: - condition-kind: boolean-expression - condition-expression: $TRIGGER_DOWNSTREAM_JOBS - steps: - - trigger-builds: - - 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-{stream}' - condition: UNSTABLE_OR_BETTER - predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL - property-file: variables.jenkins-trigger - fail-on-missing: true - - project: 'packaging-build-deb-{stream}' - condition: UNSTABLE_OR_BETTER - predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL - property-file: variables.jenkins-trigger - fail-on-missing: true - script-only-if-succeeded: false - script-only-if-failed: false + - trigger-parameterized-builds: + - 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-{stream}' + condition: UNSTABLE_OR_BETTER + predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL + property-file: variables.jenkins-trigger + fail-on-missing: true + - project: 'packaging-build-deb-{stream}' + condition: UNSTABLE_OR_BETTER + predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL + property-file: variables.jenkins-trigger + fail-on-missing: true - lf-infra-publish - job-template: name: autorelease-update-validate-jobs-{stream} project-type: freestyle - node: centos7-java-builder-2c-4g + node: centos7-builder-2c-8g properties: - lf-infra-properties: @@ -168,6 +165,7 @@ project: releng/builder branch: '{branch}' stream: '{stream}' + lftools-version: '{lftools-version}' scm: - lf-infra-gerrit-scm: @@ -201,8 +199,7 @@ jenkins-ssh-credential: opendaylight-jenkins-ssh builders: - - shell: !include-raw-escape: - - update-validate-autorelease-projects.sh + - autorelease-update-validate-projects - opendaylight-infra-push-gerrit-patch: project: 'releng/builder' gerrit-topic: 'autorelease-update-validate-jobs-{stream}' @@ -215,7 +212,7 @@ - job-template: name: autorelease-version-bump-{stream} project-type: freestyle - node: centos7-autorelease-4c-16g + node: centos7-builder-4c-16g properties: - opendaylight-infra-properties: @@ -227,6 +224,7 @@ branch: '{branch}' stream: '{stream}' refspec: 'refs/heads/{branch}' + lftools-version: '{lftools-version}' - string: name: RELEASE_TAG default: '{next-release-tag}' @@ -252,7 +250,7 @@ wrappers: - lf-infra-wrappers: - build-timeout: 240 + build-timeout: 480 jenkins-ssh-credential: opendaylight-jenkins-ssh builders: @@ -270,17 +268,25 @@ - version-bump.sh publishers: - - trigger-parameterized-builds: - - project: 'autorelease-generate-release-notes-{stream}' - condition: UNSTABLE_OR_BETTER - trigger-with-no-params: true - lf-infra-publish - job-template: name: 'autorelease-generate-release-notes-{stream}' + ###################### + # Default parameters # + ###################### + + gerrit_merge_triggers: + - comment-added-contains-event: + comment-contains-value: generate-release-notes .+$ + + ##################### + # Job Configuration # + ##################### + project-type: freestyle - node: centos7-java-builder-2c-4g + node: centos7-builder-2c-8g properties: - lf-infra-properties: @@ -291,12 +297,16 @@ project: '{project}' branch: '{branch}' stream: '{stream}' + lftools-version: '{lftools-version}' + - string: + name: RELEASE + description: Release to generate release notes for. scm: - lf-infra-gerrit-scm: git-url: '$GIT_URL/$GERRIT_PROJECT' - branch: '{branch}' - refspec: 'refs/heads/{branch}' + branch: '$GERRIT_BRANCH' + refspec: '$GERRIT_REFSPEC' jenkins-ssh-credential: opendaylight-jenkins-ssh submodule-recursive: true choosing-strategy: default @@ -307,21 +317,17 @@ jenkins-ssh-credential: opendaylight-jenkins-ssh triggers: - - timed: '0 0 * * 0' + - gerrit: + server-name: '{gerrit-server-name}' + trigger-on: '{obj:gerrit_merge_triggers}' + projects: + - project-compare-type: ANT + project-pattern: '{project}' + branches: + - branch-compare-type: ANT + branch-pattern: '**/{branch}' builders: - - lf-maven-install: - mvn-version: mvn33 - - maven-target: - maven-version: mvn33 - pom: '$WORKSPACE/scripts/release_notes_management/pom.xml' - goals: | - clean package - {opendaylight-infra-mvn-opts} - settings: autorelease-settings - settings-type: cfp - global-settings: global-settings - global-settings-type: cfp - autorelease-generate-release-notes publishers: @@ -329,12 +335,22 @@ - job-template: name: '{project-name}-validate-autorelease-{stream}' - disabled: false + ############ + # Defaults # + ############ + + java-version: openjdk8 + + ##################### + # Job Configuration # + ##################### + + disabled: false project-type: freestyle node: '{build-node}' concurrent: true - jdk: openjdk8 + jdk: '{java-version}' properties: - lf-infra-properties: @@ -345,6 +361,7 @@ project: '{project}' stream: '{stream}' branch: '{branch}' + lftools-version: '{lftools-version}' - autorelease-release-tag: release-tag: validate - string: @@ -370,14 +387,16 @@ triggers: - gerrit-trigger-patch-submitted: - server: '{server-name}' + gerrit-server-name: '{gerrit-server-name}' project: '{project}' branch: '{branch}' files: '**/*.xml' builders: - - jacoco-nojava-workaround - autorelease-checkout-gerrit-patch + - jacoco-nojava-workaround + - shell: "./scripts/list-project-dependencies.sh" + - autorelease-determine-merge-order - 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. @@ -398,6 +417,8 @@ settings-type: cfp global-settings: global-settings global-settings-type: cfp + # Hack to workaround the duplicate-finder plugin in odlparent breaking validate-autorelease + - shell: sed -i 's/validate/none/' /tmp/r/org/opendaylight/odlparent/odlparent/3.0.2/odlparent-3.0.2.pom - maven-target: maven-version: mvn33 pom: pom.xml @@ -411,6 +432,9 @@ settings-type: cfp global-settings: global-settings global-settings-type: cfp + - shell: | + mkdir -p archives/ + cp *.log $_ publishers: - email-notification: