X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-templates.yaml;h=560f30a362a3eb9be8444947c65a47bd7202d3ee;hb=e6799acf36e906176115b0cc4a1a47b2dbd5c891;hp=37e0c02b2db82251645ac29ed669be8b7015fc36;hpb=94dbade4c5d33fda5ce90eaceb527fc3c4b197e6;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index 37e0c02b2..560f30a36 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -1,5 +1,56 @@ --- # 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}' @@ -7,6 +58,7 @@ # Defaults # ############ + build-node: '{build-node}' java-version: openjdk8 mvn-version: mvn33 extra-mvn-opts: '' @@ -16,7 +68,7 @@ ##################### project-type: freestyle - node: centos7-autorelease-4c-16g + node: '{build-node}' jdk: '{java-version}' cron: 'H 0 * * *' @@ -101,6 +153,7 @@ $EXTRA_MVN_OPTS -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true + -Dkaraf.keep.unpack=true -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage {opendaylight-infra-mvn-opts} java-opts: @@ -120,6 +173,11 @@ - shell: | mkdir -p archives/ cp *.log *.prop $_ + for file in $(find . -name karaf.log); do + module="${{file%%/target/*}}" + module="${{module##*/}}" + cp "$file" "archives/${{module}}-karaf.log" + done publishers: - opendaylight-infra-notify-status @@ -153,7 +211,7 @@ - job-template: name: autorelease-update-validate-jobs-{stream} project-type: freestyle - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-1g properties: - lf-infra-properties: @@ -198,8 +256,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 +269,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 +288,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 +352,7 @@ ##################### project-type: freestyle - node: centos7-java-builder-1c-4g + node: centos7-builder-2c-8g properties: - lf-infra-properties: @@ -348,7 +414,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 +462,7 @@ builders: - autorelease-checkout-gerrit-patch + - autorelease-compare-projects - jacoco-nojava-workaround - shell: "./scripts/list-project-dependencies.sh" - autorelease-determine-merge-order @@ -417,12 +486,15 @@ 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 goals: | clean validate -Pq + -Dkaraf.keep.unpack=true {opendaylight-infra-mvn-opts} java-opts: - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' @@ -433,6 +505,11 @@ - shell: | mkdir -p archives/ cp *.log $_ + for file in $(find . -name karaf.log); do + module="${{file%%/target/*}}" + module="${{module##*/}}" + cp "$file" "archives/${{module}}-karaf.log" + done publishers: - email-notification: