X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Fautorelease-templates.yaml;h=766d13fa1860b03fa68a3387c75251457b6f4050;hb=21ccb05794a5743bc749d55c37b062984e37f7d3;hp=86225031b2d7dd7265ad9b48bac1d0131060dfee;hpb=6cb3a523ad6ec8d29a07f68f44728457d35129ec;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index 86225031b..766d13fa1 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -9,27 +9,25 @@ cron: 'H 0 * * *' # Default variable values + mvn-version: mvn33 extra-mvn-opts: '' properties: - - opendaylight-infra-properties: - build-days-to-keep: '30' + - lf-infra-properties: + build-days-to-keep: 30 parameters: - maven-exec: maven-version: 'mvn33' - - opendaylight-infra-parameters: - os-cloud: '{os-cloud}' + - lf-infra-parameters: project: '{project}' + stream: '{stream}' branch: '{branch}' - refspec: 'refs/heads/{branch}' - artifacts: '{archive-artifacts}' + lftools-version: '{lftools-version}' - distribution-karaf-version: karaf-version: '{karaf-version}' - autorelease-release-tag: release-tag: '{next-release-tag}' - - autorelease-release-branch: - release-branch: '{branch}' - string: name: EXTRA_MVN_OPTS default: '{extra-mvn-opts}' @@ -41,6 +39,10 @@ -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. scm: - git: @@ -49,7 +51,7 @@ refspec: '$GERRIT_REFSPEC' branches: - '$GERRIT_BRANCH' - choosing-strategy: 'gerrit' + choosing-strategy: default skip-tag: true submodule: recursive: true @@ -64,13 +66,8 @@ builders: # force jenkins install of maven version before any shell scripts use it - - maven-target: - maven-version: 'mvn33' - goals: '-version' - settings: 'autorelease-settings' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp + - lf-maven-install: + mvn-version: '{mvn-version}' - wipe-local-maven-repo - jacoco-nojava-workaround - shell: "./scripts/list-project-dependencies.sh" @@ -78,11 +75,11 @@ - autorelease-cfp: autorelease-settings: 'autorelease-settings' global-settings: 'odl-global-settings' - - autorelease-generate-taglist + - autorelease-generate-release-patches + - autorelease-generate-artifact-versions - autorelease-distribute-taglist - distribute-build-url: path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly' - - autorelease-generate-release-patches # In a perfect world projects should be releasing separately and we consume them # via a project that pulls the release bits from each project from Nexus. # Keep the patches compatible with that ideal, but apply an edit @@ -159,6 +156,7 @@ project: releng/builder branch: '{branch}' stream: '{stream}' + lftools-version: '{lftools-version}' scm: - lf-infra-gerrit-scm: @@ -218,6 +216,7 @@ branch: '{branch}' stream: '{stream}' refspec: 'refs/heads/{branch}' + lftools-version: '{lftools-version}' - string: name: RELEASE_TAG default: '{next-release-tag}' @@ -282,6 +281,7 @@ project: '{project}' branch: '{branch}' stream: '{stream}' + lftools-version: '{lftools-version}' scm: - lf-infra-gerrit-scm: @@ -317,3 +317,95 @@ publishers: - lf-infra-publish + +- job-template: + name: '{project-name}-validate-autorelease-{stream}' + disabled: false + + project-type: freestyle + node: '{build-node}' + concurrent: true + jdk: openjdk8 + + properties: + - lf-infra-properties: + build-days-to-keep: 7 + + parameters: + - lf-infra-parameters: + project: '{project}' + stream: '{stream}' + branch: '{branch}' + lftools-version: '{lftools-version}' + - autorelease-release-tag: + release-tag: validate + - string: + name: CLONE_URL + default: '{git-url}/releng/autorelease' + description: "Autorelease clone URL" + + scm: + - git: + url: '$CLONE_URL' + credentials-id: 'opendaylight-jenkins-ssh' + refspec: '' + branches: + - 'origin/{branch}' + skip-tag: true + submodule: + recursive: true + timeout: 60 + + wrappers: + - opendaylight-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-patch-submitted: + server: '{server-name}' + project: '{project}' + branch: '{branch}' + files: '**/*.xml' + + builders: + - jacoco-nojava-workaround + - autorelease-checkout-gerrit-patch + - autorelease-generate-release-patches + # In a perfect world projects should be releasing separately and we consume them + # via a project that pulls the release bits from each project from Nexus. + # 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: mvn33 + pom: validate-pom.xml + goals: | + clean install dependency:tree + -T1.5C + -Pq + {opendaylight-infra-mvn-opts} + java-opts: + - '-Xmx8g' + settings: autorelease-settings + settings-type: cfp + global-settings: global-settings + global-settings-type: cfp + - maven-target: + maven-version: mvn33 + pom: pom.xml + goals: | + clean validate + -Pq + {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 + + publishers: + - email-notification: + email-recipients: '{email-recipients}' + email-prefix: '[autorelease] [{project-name}]' + - lf-infra-publish