X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-templates.yaml;h=7e5138f08f15b3032967a02ffc3b32c5ad125e0e;hb=806dabf5b55fcf3d57721ff54aab477cd4bcda40;hp=588d9053cde5b5706adcddb2eeb48e2af952d05e;hpb=cd1924fa52bc2d1e4e8b881993cfdbca1b8be152;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index 588d9053c..7e5138f08 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -1,15 +1,67 @@ --- # 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: centos7-autorelease-8c-16g + build-node: '{build-node}' + cron: 'H 0 * * *' java-version: openjdk8 - mvn-version: mvn33 + mvn-version: mvn35 extra-mvn-opts: '' ##################### @@ -19,7 +71,6 @@ project-type: freestyle node: '{build-node}' jdk: '{java-version}' - cron: 'H 0 * * *' properties: - lf-infra-properties: @@ -27,7 +78,7 @@ parameters: - maven-exec: - maven-version: 'mvn33' + maven-version: 'mvn35' - lf-infra-parameters: project: '{project}' stream: '{stream}' @@ -95,7 +146,7 @@ # to enable building in a single maven reactor afterwards. - autorelease-fix-relative-paths - maven-target: - maven-version: 'mvn33' + maven-version: 'mvn35' pom: 'pom.xml' goals: | clean deploy @@ -114,7 +165,7 @@ - autorelease-get-integration-test-variables - autorelease-maven-sources: opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}' - maven-version: 'mvn33' + maven-version: 'mvn35' settings: 'autorelease-settings' global-settings: 'global-settings' - autorelease-maven-sources-post-process @@ -149,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-builder-2c-8g + node: centos7-builder-2c-1g properties: - lf-infra-properties: @@ -177,6 +248,7 @@ choosing-strategy: default triggers: + - timed: '{cron}' - gerrit: server-name: '{gerrit-server-name}' trigger-on: @@ -199,8 +271,8 @@ jenkins-ssh-credential: opendaylight-jenkins-ssh builders: - - shell: !include-raw-escape: - - update-validate-autorelease-projects.sh + - autorelease-update-project-views + - autorelease-update-validate-projects - opendaylight-infra-push-gerrit-patch: project: 'releng/builder' gerrit-topic: 'autorelease-update-validate-jobs-{stream}' @@ -213,7 +285,7 @@ - job-template: name: autorelease-version-bump-{stream} project-type: freestyle - node: centos7-builder-4c-16g + node: '{build-node}' properties: - opendaylight-infra-properties: @@ -232,13 +304,22 @@ 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 + maven-version: mvn35 scm: - lf-infra-gerrit-scm: @@ -257,7 +338,7 @@ builders: # force jenkins install of maven version before any shell scripts use it - maven-target: - maven-version: mvn33 + maven-version: mvn35 goals: '-version' settings: autorelease-settings settings-type: cfp @@ -349,7 +430,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}' @@ -395,6 +478,7 @@ builders: - autorelease-checkout-gerrit-patch + - autorelease-compare-projects - jacoco-nojava-workaround - shell: "./scripts/list-project-dependencies.sh" - autorelease-determine-merge-order @@ -405,7 +489,7 @@ # to enable building in a single maven reactor afterwards. - autorelease-fix-relative-paths - maven-target: - maven-version: mvn33 + maven-version: mvn35 pom: validate-pom.xml goals: | clean install dependency:tree @@ -418,8 +502,10 @@ 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 + maven-version: mvn35 pom: pom.xml goals: | clean validate