X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=jjb%2Fautorelease%2Fautorelease-templates.yaml;h=a17b29adc5cb40ab436b00d27218239081d53ae9;hb=fb8aea9c9c29651f761019b325dee04957b3d293;hp=bd5d84cf37493563ee2a55c0e26a74bf619d1726;hpb=465f22e1934bd1c93c322fc8a609a46e97d32ac3;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index bd5d84cf3..a17b29adc 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -38,6 +38,7 @@ refspec: 'refs/heads/master' jenkins-ssh-credential: opendaylight-jenkins-ssh submodule-recursive: true + submodule-timeout: 10 choosing-strategy: default wrappers: @@ -61,6 +62,8 @@ build-node: '{build-node}' cron: 'H 0 * * *' java-version: openjdk8 + mvn-global-settings: global-settings + mvn-settings: autorelease-settings mvn-version: mvn35 extra-mvn-opts: '' @@ -78,7 +81,7 @@ parameters: - maven-exec: - maven-version: 'mvn35' + maven-version: '{mvn-version}' - lf-infra-parameters: project: '{project}' stream: '{stream}' @@ -103,6 +106,10 @@ 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: @@ -125,16 +132,19 @@ - timed: '{cron}' builders: + - lf-infra-pre-build # force jenkins install of maven version before any shell scripts use it - lf-maven-install: mvn-version: '{mvn-version}' - wipe-local-maven-repo - - jacoco-nojava-workaround + - 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}' + - lf-infra-create-netrc: + server-id: '{mvn-staging-id}' - autorelease-generate-release-patches - autorelease-generate-artifact-versions - autorelease-distribute-taglist @@ -146,29 +156,28 @@ # to enable building in a single maven reactor afterwards. - autorelease-fix-relative-paths - maven-target: - maven-version: 'mvn35' + maven-version: '{mvn-version}' pom: 'pom.xml' goals: | clean deploy $EXTRA_MVN_OPTS - -Pintegrationtests,docs,repoBuild + -Pintegrationtests,repoBuild -Dcheckstyle.skip=true - -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage + -DaltDeploymentRepository=staging::default::file:"$WORKSPACE"/m2repo {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 - - autorelease-maven-deploy + - lf-maven-stage - autorelease-get-integration-test-variables - autorelease-maven-sources: opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}' - maven-version: 'mvn35' - settings: 'autorelease-settings' - global-settings: 'global-settings' - - autorelease-maven-sources-post-process + maven-version: '{mvn-version}' + settings: '{mvn-settings}' + global-settings: '{mvn-global-settings}' - shell: | mkdir -p archives/ cp *.log *.prop $_ @@ -183,13 +192,6 @@ - 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 @@ -211,6 +213,70 @@ mark-unstable-if-failed: false - lf-infra-publish +- job-template: + name: 'autorelease-update-submodules-{stream}' + + ###################### + # Default parameters # + ###################### + + cron: 'H 0 * * *' + + ##################### + # Job configuration # + ##################### + + project-type: freestyle + node: centos7-builder-2c-2g + + properties: + - lf-infra-properties: + build-days-to-keep: 7 + + parameters: + - lf-infra-parameters: + project: releng/autorelease + branch: '{branch}' + stream: '{stream}' + refspec: 'refs/heads/{branch}' + lftools-version: '{lftools-version}' + + scm: + - lf-infra-gerrit-scm: + git-url: '$GIT_URL/$GERRIT_PROJECT' + branch: '{branch}' + refspec: 'refs/heads/{branch}' + jenkins-ssh-credential: opendaylight-jenkins-ssh + submodule-recursive: true + submodule-timeout: 10 + choosing-strategy: default + + wrappers: + - lf-infra-wrappers: + build-timeout: 10 + jenkins-ssh-credential: opendaylight-jenkins-ssh + + triggers: + - timed: '{obj:cron}' + + builders: + - lf-infra-pre-build + # Fetch latest head of branch + - shell: | + git checkout $GERRIT_BRANCH + git submodule update --remote + git add . + - lf-infra-push-gerrit-patch: + project: '{project}' + gerrit-user: 'jenkins-$SILO' + gerrit-host: 'git.opendaylight.org' + gerrit-topic: 'autorelease-update-submodules' + gerrit-commit-message: 'Update submodules to latest HEAD of branch' + reviewers-email: '' + + publishers: + - lf-infra-publish + - job-template: name: autorelease-update-validate-jobs-{stream} @@ -245,6 +311,7 @@ refspec: 'refs/heads/master' jenkins-ssh-credential: opendaylight-jenkins-ssh submodule-recursive: true + submodule-timeout: 10 choosing-strategy: default triggers: @@ -271,19 +338,36 @@ jenkins-ssh-credential: opendaylight-jenkins-ssh builders: + - lf-infra-pre-build - autorelease-update-project-views - autorelease-update-validate-projects - - opendaylight-infra-push-gerrit-patch: - project: 'releng/builder' + - lf-infra-push-gerrit-patch: + project: '{project}' + gerrit-user: 'jenkins-$SILO' + gerrit-host: 'git.opendaylight.org' gerrit-topic: 'autorelease-update-validate-jobs-{stream}' gerrit-commit-message: | - Update validate autorelease projects for {stream} + 'Update validate autorelease projects for {stream}' + reviewers-email: 'jenkins-releng@opendaylight.org' publishers: - lf-infra-publish - job-template: name: autorelease-version-bump-{stream} + + ##################### + # Default variables # + ##################### + + mvn-global-settings: global-settings + mvn-settings: autorelease-settings + mvn-version: mvn35 + + ##################### + # Job configuration # + ##################### + project-type: freestyle node: '{build-node}' @@ -319,7 +403,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: @@ -328,6 +412,7 @@ refspec: 'refs/heads/{branch}' jenkins-ssh-credential: opendaylight-jenkins-ssh submodule-recursive: true + submodule-timeout: 10 choosing-strategy: default wrappers: @@ -336,17 +421,14 @@ jenkins-ssh-credential: opendaylight-jenkins-ssh 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: - - ../global-jjb/shell/lftools-install.sh - version-bump.sh publishers: @@ -382,8 +464,9 @@ lftools-version: '{lftools-version}' - string: name: RELEASE - description: Release to generate release notes for. - + description: | + Release to generate release notes for. + Eg. Oxygen-SR1, Fluorine-SR2... scm: - lf-infra-gerrit-scm: git-url: '$GIT_URL/$GERRIT_PROJECT' @@ -391,6 +474,7 @@ refspec: '$GERRIT_REFSPEC' jenkins-ssh-credential: opendaylight-jenkins-ssh submodule-recursive: true + submodule-timeout: 10 choosing-strategy: default wrappers: @@ -410,6 +494,7 @@ branch-pattern: '**/{branch}' builders: + - lf-infra-pre-build - autorelease-generate-release-notes publishers: @@ -418,11 +503,14 @@ - 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 ##################### # Job Configuration # @@ -475,11 +563,13 @@ project: '{project}' branch: '{branch}' files: '**/*.xml' + forbidden-files: '' builders: + - lf-infra-pre-build - autorelease-checkout-gerrit-patch - autorelease-compare-projects - - jacoco-nojava-workaround + - lf-jacoco-nojava-workaround - shell: "./scripts/list-project-dependencies.sh" - autorelease-determine-merge-order - autorelease-generate-release-patches @@ -489,7 +579,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 @@ -498,14 +588,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 - # 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: mvn35 + maven-version: '{mvn-version}' pom: pom.xml goals: | clean validate @@ -513,9 +601,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/