diff options
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/hc2vpp/hc2vpp.yaml | 282 | ||||
-rw-r--r-- | jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh | 37 |
2 files changed, 319 insertions, 0 deletions
diff --git a/jjb/hc2vpp/hc2vpp.yaml b/jjb/hc2vpp/hc2vpp.yaml new file mode 100644 index 000000000..8d55063bb --- /dev/null +++ b/jjb/hc2vpp/hc2vpp.yaml @@ -0,0 +1,282 @@ +- project: + name: hc2vpp + jobs: + - 'hc2vpp-verify-{stream}-{os}' + - 'hc2vpp-merge-{stream}-{os}' + - 'hc2vpp-integration-{stream}-{os}' + - 'hc2vpp-verify-image-{stream}-{os}' + project: 'hc2vpp' + os: + - ubuntu1404: + repo-os-part: 'ubuntu.trusty.main' + skip-site: 'false' + - ubuntu1604: + repo-os-part: 'ubuntu.xenial.main' + skip-site: 'true' + - centos7: + repo-os-part: 'centos7' + skip-site: 'true' + stream: + - master: + branch: 'master' + repo-stream-part: 'master' + +- job-template: + name: 'hc2vpp-verify-{stream}-{os}' + project-type: maven + node: verify-{os} + concurrent: true + jdk: openjdk8-{os} + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: '{os}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-patch-submitted: + name: 'hc2vpp' + branch: '{branch}' + + prebuilders: + - shell: | + if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi + maven: + maven-name: 'mvn33' + root-pom: 'pom.xml' + goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dkaraf.keep.unpack=true site' + maven-opts: '-Xmx2048m -Dmaven.compile.fork=true' + settings: 'hc2vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + + publishers: + - email-notification: + email-prefix: '[hc2vpp]' + +- job-template: + name: 'hc2vpp-verify-image-{stream}-{os}' + project-type: maven + node: 'verify-image-{os}' + concurrent: true + jdk: openjdk8-{os} + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: '{os}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'verify-images' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + + prebuilders: + - shell: | + if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi + maven: + maven-name: 'mvn33' + root-pom: 'pom.xml' + goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dkaraf.keep.unpack=true' + maven-opts: '-Xmx2048m -Dmaven.compile.fork=true' + settings: 'hc2vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + + publishers: + - email-notification: + email-prefix: '[hc2vpp]' + +- job-template: + name: 'hc2vpp-merge-{stream}-{os}' + project-type: maven + node: merge-{os} + jdk: openjdk8-{os} + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - os-parameter: + os: '{os}' + - maven-project-parameter: + maven: 'mvn33' + - repo-name-parameter: + repo-name: '{repo-stream-part}.{repo-os-part}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '' + choosing-strategy: 'default' + + wrappers: + - ssh-agent-credentials: + users: + - 'jenkins-gerrit-credentials' + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-patch-merged: + name: 'hc2vpp' + branch: '{branch}' + + maven: + maven-name: 'mvn33' + root-pom: 'pom.xml' + goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dkaraf.keep.unpack=true -Dsonar -Dmaven.site.skip={skip-site} site -Dmaven.site.deploy.skip={skip-site} site:deploy' + maven-opts: '-Xmx2048m -Dmaven.compile.fork=true' + settings: 'hc2vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + + reporters: + - findbugs + + publishers: + - sonar: + jdk: 'openjdk8-{os}' + language: 'java' + branch: '{stream}' + - email-notification: + email-prefix: '[hc2vpp]' + +- job-template: + name: 'hc2vpp-integration-{stream}-{os}' + project-type: maven + node: merge-{os} + jdk: openjdk8-{os} + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - os-parameter: + os: '{os}' + - maven-project-parameter: + maven: 'mvn33' + - repo-name-parameter: + repo-name: '{repo-stream-part}.{repo-os-part}' + + scm: + - git-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '' + branch: '{branch}' + + wrappers: + - ssh-agent-credentials: + users: + - 'jenkins-gerrit-credentials' + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - reverse: + jobs: 'vpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}' + result: 'success' + + prebuilders: + - shell: | + if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi + + maven: + maven-name: 'mvn33' + root-pom: 'pom.xml' + goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge -Dkaraf.keep.unpack=true' + maven-opts: '-Xmx2048m -Dmaven.compile.fork=true' + settings: 'hc2vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + + postbuilders: + - maven-target: + maven-version: 'mvn33' + goals: '--version' + settings: 'hc2vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - provide-maven-settings: + settings-file: 'hc2vpp-settings' + global-settings-file: 'global-settings' + - shell: + !include-raw-escape: + - ../scripts/maven_push_functions.sh + - include-raw-hc2vpp-pkg-push.sh + reporters: + - findbugs + + publishers: + - email-notification: + email-prefix: '[hc2vpp]' + - maven-deploy: + id: '' + unique-version: true + deploy-unstable: false diff --git a/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh b/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh new file mode 100644 index 000000000..db10e19dc --- /dev/null +++ b/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh @@ -0,0 +1,37 @@ +#!/bin/bash +if [ "${OS}" == "centos7" ]; then + + # Build the rpms + ./packaging/rpm/rpmbuild.sh + + # Find the files + RPMS=$(find . -type f -iname '*.rpm') + SRPMS=$(find . -type f -iname '*.srpm') + SRCRPMS=$(find . -type f -name '*.src.rpm') + for i in $RPMS $SRPMS $SRCRPMS + do + push_rpm "$i" + done +elif [ "${OS}" == "ubuntu1404" ]; then + + # Build the debs + ./packaging/deb/trusty/debuild.sh + + # Find the files + DEBS=$(find . -type f -iname '*.deb') + for i in $DEBS + do + push_deb "$i" + done +elif [ "${OS}" == "ubuntu1604" ]; then + + # Build the debs + ./packaging/deb/xenial/debuild.sh + + # Find the files + DEBS=$(find . -type f -iname '*.deb') + for i in $DEBS + do + push_deb "$i" + done +fi |