X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-templates.yaml;h=b7f06d9f953f480e5d9ead29105051bb5d002077;hb=93db3a3bd3a1fcf666cac50f85e34fc4a2b43995;hp=50a23191e5080fa7f000a29415e6238eb7447310;hpb=116b2011e32d3105577cbb702edf9ccdfa3ba3f1;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index 50a23191e..b7f06d9f9 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -37,6 +37,7 @@ branch: master refspec: 'refs/heads/master' jenkins-ssh-credential: opendaylight-jenkins-ssh + submodule-disable: false submodule-recursive: true submodule-timeout: 10 choosing-strategy: default @@ -53,7 +54,7 @@ - lf-infra-publish - job-template: - name: 'autorelease-release-{stream}' + name: 'autorelease-release-{stream}-{mvn-version}-{java-version}' ###################### # Default parameters # @@ -61,9 +62,17 @@ build-node: '{build-node}' cron: 'H 0 * * *' - java-version: openjdk8 + java-version: '{java-version}' + mvn-global-settings: global-settings + mvn-goals: clean deploy + mvn-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' + mvn-params: '' + mvn-settings: autorelease-settings mvn-version: mvn35 - extra-mvn-opts: '' + sign-artifacts: true + mvn-central: true + ossrh-profile-id: 6386ebbbf3a563 + disable-job: 'false' ##################### # Job Configuration # @@ -71,39 +80,34 @@ project-type: freestyle node: '{build-node}' - jdk: '{java-version}' + disabled: '{disable-job}' properties: - lf-infra-properties: build-days-to-keep: 30 parameters: - - maven-exec: - maven-version: '{mvn-version}' - lf-infra-parameters: project: '{project}' stream: '{stream}' branch: '{branch}' lftools-version: '{lftools-version}' + - lf-infra-maven-parameters: + mvn-opts: '{mvn-opts}' + mvn-params: '{mvn-params}' + mvn-version: '{mvn-version}' - distribution-karaf-version: karaf-version: '{karaf-version}' - autorelease-release-tag: release-tag: '{stream}' - - 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 - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - string: + name: STAGING_PROFILE_ID + default: '{staging-profile-id}' + description: Nexus staging profile ID. scm: - git: @@ -134,11 +138,13 @@ - lf-jacoco-nojava-workaround - shell: "./scripts/list-project-dependencies.sh" - autorelease-determine-merge-order - - autorelease-cfp: - autorelease-settings: 'autorelease-settings' - global-settings: 'odl-global-settings' + - lf-provide-maven-settings: + global-settings-file: '{mvn-global-settings}' + settings-file: '{mvn-settings}' - autorelease-generate-release-patches - autorelease-generate-artifact-versions + - lf-update-java-alternatives: + java-version: '{java-version}' - autorelease-distribute-taglist - distribute-build-url: path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly' @@ -147,29 +153,27 @@ # 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: '{mvn-version}' - pom: 'pom.xml' - goals: | - clean deploy - $EXTRA_MVN_OPTS - -Pintegrationtests,repoBuild - -Dcheckstyle.skip=true - -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage - {opendaylight-infra-mvn-opts} - java-opts: - - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' - settings: 'autorelease-settings' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - autorelease-maven-deploy + - lf-maven-build: + mvn-goals: '{mvn-goals}' + - lf-sigul-sign-dir: + sign-artifacts: '{sign-artifacts}' + sign-dir: '$WORKSPACE/m2repo' + sign-mode: serial + - lf-maven-stage: + mvn-global-settings: '{mvn-global-settings}' + mvn-settings: '{mvn-settings}' + mvn-staging-id: '{mvn-staging-id}' + - lf-maven-central: + mvn-central: '{mvn-central}' + mvn-global-settings: '{mvn-global-settings}' + mvn-settings: '{mvn-settings}' + ossrh-profile-id: '{ossrh-profile-id}' - autorelease-get-integration-test-variables - autorelease-maven-sources: opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}' maven-version: '{mvn-version}' - settings: 'autorelease-settings' - global-settings: 'global-settings' + settings: '{mvn-settings}' + global-settings: '{mvn-global-settings}' - shell: | mkdir -p archives/ cp *.log *.prop $_ @@ -213,6 +217,7 @@ ###################### cron: 'H 0 * * *' + disable-job: 'false' ##################### # Job configuration # @@ -220,6 +225,7 @@ project-type: freestyle node: centos7-builder-2c-2g + disabled: '{disable-job}' properties: - lf-infra-properties: @@ -239,6 +245,7 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' jenkins-ssh-credential: opendaylight-jenkins-ssh + submodule-disable: false submodule-recursive: true submodule-timeout: 10 choosing-strategy: default @@ -277,6 +284,7 @@ ###################### cron: '@weekly' + disable-job: 'false' ##################### # Job configuration # @@ -284,6 +292,7 @@ project-type: freestyle node: centos7-builder-2c-1g + disabled: '{disable-job}' properties: - lf-infra-properties: @@ -302,6 +311,7 @@ branch: master refspec: 'refs/heads/master' jenkins-ssh-credential: opendaylight-jenkins-ssh + submodule-disable: false submodule-recursive: true submodule-timeout: 10 choosing-strategy: default @@ -347,8 +357,23 @@ - job-template: name: autorelease-version-bump-{stream} + + ##################### + # Default variables # + ##################### + + mvn-global-settings: global-settings + mvn-settings: autorelease-settings + mvn-version: mvn35 + disable-job: 'false' + + ##################### + # Job configuration # + ##################### + project-type: freestyle node: '{build-node}' + disabled: '{disable-job}' properties: - opendaylight-infra-properties: @@ -382,7 +407,7 @@ and artifacts are not pushed to Nexus. Instead the build will be performed using the goals "clean install". - maven-exec: - maven-version: mvn35 + maven-version: '{mvn-version}' scm: - lf-infra-gerrit-scm: @@ -390,6 +415,7 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' jenkins-ssh-credential: opendaylight-jenkins-ssh + submodule-disable: false submodule-recursive: true submodule-timeout: 10 choosing-strategy: default @@ -402,14 +428,11 @@ builders: - lf-infra-pre-build # force jenkins install of maven version before any shell scripts use it - - maven-target: - maven-version: mvn35 - goals: '-version' - settings: autorelease-settings - settings-type: cfp - global-settings: global-settings - global-settings-type: cfp - - autorelease-cfp + - lf-maven-install: + mvn-version: '{mvn-version}' + - lf-provide-maven-settings: + global-settings-file: '{mvn-global-settings}' + settings-file: '{mvn-settings}' - shell: !include-raw-escape: - version-bump.sh @@ -422,6 +445,7 @@ ###################### # Default parameters # ###################### + disable-job: 'false' gerrit_merge_triggers: - comment-added-contains-event: @@ -433,6 +457,7 @@ project-type: freestyle node: centos7-builder-2c-8g + disabled: '{disable-job}' properties: - lf-infra-properties: @@ -446,14 +471,16 @@ lftools-version: '{lftools-version}' - string: name: RELEASE - description: Release to generate release notes for. - + description: | + Release to generate release notes for. + Eg. Neon-SR1, Fluorine-SR2... scm: - lf-infra-gerrit-scm: git-url: '$GIT_URL/$GERRIT_PROJECT' branch: '$GERRIT_BRANCH' refspec: '$GERRIT_REFSPEC' jenkins-ssh-credential: opendaylight-jenkins-ssh + submodule-disable: false submodule-recursive: true submodule-timeout: 10 choosing-strategy: default @@ -484,23 +511,27 @@ - job-template: name: '{project-name}-validate-autorelease-{stream}' - ############ - # Defaults # - ############ + ##################### + # Default variables # + ##################### java-version: openjdk8 + mvn-global-settings: global-settings + mvn-settings: autorelease-settings + mvn-version: mvn35 + disable-job: 'false' ##################### # Job Configuration # ##################### - disabled: false project-type: freestyle # 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}' + disabled: '{disable-job}' properties: - lf-infra-properties: @@ -557,7 +588,7 @@ # to enable building in a single maven reactor afterwards. - autorelease-fix-relative-paths - maven-target: - maven-version: mvn35 + maven-version: '{mvn-version}' pom: validate-pom.xml goals: | clean install dependency:tree @@ -566,12 +597,12 @@ {opendaylight-infra-mvn-opts} java-opts: - '-Xmx8g' - settings: autorelease-settings + settings: '{mvn-settings}' settings-type: cfp - global-settings: global-settings + global-settings: '{mvn-global-settings}' global-settings-type: cfp - maven-target: - maven-version: mvn35 + maven-version: '{mvn-version}' pom: pom.xml goals: | clean validate @@ -579,9 +610,9 @@ {opendaylight-infra-mvn-opts} java-opts: - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' - settings: autorelease-settings + settings: '{mvn-settings}' settings-type: cfp - global-settings: global-settings + global-settings: '{mvn-global-settings}' global-settings-type: cfp - shell: | mkdir -p archives/