X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-templates.yaml;h=e0733cb4fb04e2fd83e0659605818896cf54d48e;hb=2c77946b1b415d9c82f82b0a06d3ab5717a844ae;hp=37e0c02b2db82251645ac29ed669be8b7015fc36;hpb=f63efd2b7c5e453af225a64b158e03e5a9bdbc28;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index 37e0c02b2..e0733cb4f 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -1,12 +1,65 @@ --- # Autorelease build jobs +- job-template: + name: autorelease-branch-cut + + ##################### + # Job Configuration # + ##################### + + project-type: freestyle + node: centos7-builder-2c-2g + + properties: + - opendaylight-infra-properties: + build-days-to-keep: 7 + + parameters: + - lf-infra-parameters: + project: releng/autorelease + branch: master + stream: master + lftools-version: '{lftools-version}' + - string: + name: RELEASE + description: | + Release name to branch cut. + Eg. Lithium, Beryllium, Boron, Carbon... + - bool: + name: DRY_RUN + default: true + description: | + If DRY_RUN is enabled modifications are not published to Gerrit. + + scm: + - lf-infra-gerrit-scm: + git-url: '$GIT_URL/$GERRIT_PROJECT' + branch: master + refspec: 'refs/heads/master' + jenkins-ssh-credential: opendaylight-jenkins-ssh + submodule-recursive: true + choosing-strategy: default + + wrappers: + - lf-infra-wrappers: + build-timeout: 10 + jenkins-ssh-credential: opendaylight-jenkins-ssh + + builders: + - shell: !include-raw-escape: branch-cut.sh + + publishers: + - lf-infra-publish + - job-template: name: 'autorelease-release-{stream}' - ############ - # Defaults # - ############ + ###################### + # Default parameters # + ###################### + build-node: '{build-node}' + cron: 'H 0 * * *' java-version: openjdk8 mvn-version: mvn33 extra-mvn-opts: '' @@ -16,9 +69,8 @@ ##################### project-type: freestyle - node: centos7-autorelease-4c-16g + node: '{build-node}' jdk: '{java-version}' - cron: 'H 0 * * *' properties: - lf-infra-properties: @@ -148,12 +200,32 @@ predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL property-file: variables.jenkins-trigger fail-on-missing: true + # Critical component of the OpenDaylight community + - postbuildscript: + builders: + - role: BOTH + build-on: + - SUCCESS + build-steps: + - shell: echo '#topic cookies' + mark-unstable-if-failed: false - lf-infra-publish - job-template: name: autorelease-update-validate-jobs-{stream} + + ###################### + # Default parameters # + ###################### + + cron: '@weekly' + + ##################### + # Job configuration # + ##################### + project-type: freestyle - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-1g properties: - lf-infra-properties: @@ -176,6 +248,7 @@ choosing-strategy: default triggers: + - timed: '{cron}' - gerrit: server-name: '{gerrit-server-name}' trigger-on: @@ -198,8 +271,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}' @@ -212,7 +284,7 @@ - job-template: name: autorelease-version-bump-{stream} project-type: freestyle - node: centos7-autorelease-4c-16g + node: '{build-node}' properties: - opendaylight-infra-properties: @@ -231,11 +303,20 @@ description: | Release that is being version bumped. Eg. Lithium, Beryllium, Boron, Carbon, Carbon-SR1, Carbon-SR2... + - bool: + name: BRANCH_CUT + default: false + description: | + If BRANCH_CUT is enabled, perform version bump for branch cutting + workflow, else perform version bump for simultaneous release + workflow (detault). - bool: name: DRY_RUN default: true description: | - If DRY_RUN is enabled modifications are not published to Gerrit. + If DRY_RUN is enabled modifications are not published to Gerrit + and artifacts are not pushed to Nexus. Instead the build will be + performed using the goals "clean install". - maven-exec: maven-version: mvn33 @@ -286,7 +367,7 @@ ##################### project-type: freestyle - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-8g properties: - lf-infra-properties: @@ -348,7 +429,9 @@ disabled: false project-type: freestyle - node: '{build-node}' + # Note: This NEEDS to be hardcoded as projects should NOT be allowed to + # override the build node. + node: centos7-builder-2c-8g concurrent: true jdk: '{java-version}' @@ -394,6 +477,7 @@ builders: - autorelease-checkout-gerrit-patch + - autorelease-compare-projects - jacoco-nojava-workaround - shell: "./scripts/list-project-dependencies.sh" - autorelease-determine-merge-order @@ -417,6 +501,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 || true - maven-target: maven-version: mvn33 pom: pom.xml