diff --git a/modules/jenkins/manifests/params.pp b/modules/jenkins/manifests/params.pp index 9b00532544..b19ee0fc4c 100644 --- a/modules/jenkins/manifests/params.pp +++ b/modules/jenkins/manifests/params.pp @@ -11,6 +11,7 @@ class jenkins::params { $ccache_package = 'ccache' $python_netaddr_package = 'python-netaddr' # packages needed by slaves + $ant_package = 'ant' $asciidoc_package = 'asciidoc' $curl_package = 'curl' $docbook_xml_package = 'docbook-style-xsl' @@ -48,6 +49,7 @@ class jenkins::params { $sbcl_package = 'sbcl' $sqlite_package = 'sqlite' $unzip_package = 'unzip' + $zip_package = 'zip' $xslt_package = 'libxslt' $xvfb_package = 'xorg-x11-server-Xvfb' # For Tooz unit tests @@ -84,6 +86,7 @@ class jenkins::params { $ccache_package = 'ccache' $python_netaddr_package = 'python-netaddr' # packages needed by slaves + $ant_package = 'ant' $asciidoc_package = 'asciidoc' $curl_package = 'curl' $docbook_xml_package = 'docbook-xml' @@ -124,6 +127,7 @@ class jenkins::params { $sbcl_package = 'sbcl' $sqlite_package = 'sqlite3' $unzip_package = 'unzip' + $zip_package = 'zip' $xslt_package = 'xsltproc' $xvfb_package = 'xvfb' # For [tooz, taskflow, nova] using zookeeper in unit tests diff --git a/modules/jenkins/manifests/slave.pp b/modules/jenkins/manifests/slave.pp index 8299d68a10..8d7aceeee0 100644 --- a/modules/jenkins/manifests/slave.pp +++ b/modules/jenkins/manifests/slave.pp @@ -29,6 +29,7 @@ class jenkins::slave( # Packages that most jenkins slaves (eg, unit test runners) need $standard_packages = [ + $::jenkins::params::ant_package, # for building buck $::jenkins::params::asciidoc_package, # for building gerrit/building openstack docs $::jenkins::params::curl_package, $::jenkins::params::docbook_xml_package, # for building openstack docs @@ -61,6 +62,7 @@ class jenkins::slave( $::jenkins::params::sbcl_package, # cl-openstack-client testing $::jenkins::params::sqlite_package, $::jenkins::params::unzip_package, + $::jenkins::params::zip_package, $::jenkins::params::xslt_package, # for building openstack docs $::jenkins::params::xvfb_package, # for selenium tests ] diff --git a/modules/openstack_project/files/jenkins_job_builder/config/gerrit.yaml b/modules/openstack_project/files/jenkins_job_builder/config/gerrit.yaml index adac724208..e25ba883c5 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/gerrit.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/gerrit.yaml @@ -88,5 +88,127 @@ - war: site: 'tarballs.openstack.org' warfile: 'gerrit-war/target/gerrit*.war' - target: 'tarballs/ci/' + target: 'tarballs/ci/gerrit' + - console-log + +- job: + name: check-gerrit-buck + node: precise + + wrappers: + - timeout: + timeout: 40 + fail: true + - timestamps + + builders: + - shell: | + #!/bin/bash -xe + if [[ ! -d "gerrit"]] + then + mkdir gerrit + fi + cd gerrit + /usr/local/jenkins/slave_scripts/gerrit-git-prep.sh https://review.openstack.org http://zuul.openstack.org git://git.openstack.org + - shell: | + #!/bin/bash -xe + cd gerrit + /usr/local/jenkins/slave_scripts/maven-properties.sh + - inject: + properties-file: gerrit/maven.properties + - install-buck + - shell: | + #!/bin/bash -xe + export PATH=`pwd`/buck/bin:$PATH + cd gerrit + buck clean + buck build release + buck test --all + - shell: "cp gerrit/buck-out/gen/release.war gerrit/buck-out/gen/gerrit-$PROJECT_VER.war" + + publishers: + - war: + site: 'tarballs.openstack.org' + warfile: 'gerrit/buck-out/gen/gerrit-${{PROJECT_VER}}.war' + target: 'tarballs/ci/test' + - console-log + +- job: + name: gate-gerrit-buck + node: precise + + wrappers: + - timeout: + timeout: 40 + fail: true + - timestamps + + builders: + - shell: | + #!/bin/bash -xe + if [[ ! -d "gerrit"]] + then + mkdir gerrit + fi + cd gerrit + /usr/local/jenkins/slave_scripts/gerrit-git-prep.sh https://review.openstack.org http://zuul.openstack.org git://git.openstack.org + - shell: | + #!/bin/bash -xe + cd gerrit + /usr/local/jenkins/slave_scripts/maven-properties.sh + - inject: + properties-file: gerrit/maven.properties + - install-buck + - shell: | + #!/bin/bash -xe + export PATH=`pwd`/buck/bin:$PATH + cd gerrit + buck clean + buck build release + buck test --all + - shell: "cp gerrit/buck-out/gen/release.war gerrit/buck-out/gen/gerrit-$PROJECT_VER.war" + + publishers: + - console-log + +- job: + name: gerrit-package-buck + node: precise + + wrappers: + - timeout: + timeout: 40 + fail: true + - timestamps + + builders: + - shell: | + #!/bin/bash -xe + if [[ ! -d "gerrit"]] + then + mkdir gerrit + fi + cd gerrit + /usr/local/jenkins/slave_scripts/gerrit-git-prep.sh https://review.openstack.org http://zuul.openstack.org git://git.openstack.org + - shell: | + #!/bin/bash -xe + cd gerrit + /usr/local/jenkins/slave_scripts/maven-properties.sh + - inject: + properties-file: gerrit/maven.properties + - install-buck + - shell: | + #!/bin/bash -xe + export PATH=`pwd`/buck/bin:$PATH + cd gerrit + buck clean + buck build release + buck test --all + - shell: "cp gerrit/buck-out/gen/release.war gerrit/buck-out/gen/gerrit-$PROJECT_VER.war" + + publishers: + - war: + site: 'tarballs.openstack.org' + warfile: 'gerrit/buck-out/gen/gerrit-${{PROJECT_VER}}.war' + target: 'tarballs/ci/gerrit' - console-log diff --git a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml index 9677b19c68..feb1b0ae07 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml @@ -240,6 +240,18 @@ find /home/jenkins/pypimirror/mirror/ \( -name index.html -or -name full.html \) -delete rsync -a --ignore-existing --itemize-changes /home/jenkins/pypimirror/mirror/ jenkins@static.openstack.org:/srv/static/pypi/ +- builder: + name: install-buck + builders: + - shell: | + if [[ ! -d "buck"]] + then + git clone https://gerrit.googlesource.com/buck + cd buck + git checkout 274acb17e9b6dc9ee60bc1371c47a7f49640c24c + ant + fi + # ====================================================================== diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index 57eed276d6..14963d4541 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -307,10 +307,14 @@ jobs: voting: false - name: check-tempest-dsvm-cells-full voting: false +# For Gerrit ver 2.4.x (using maven) - name: ^(gate|check)-gerrit-unittests$ - branch: ^openstack/.*$ + branch: ^openstack/2\.4.*$ - name: gerrit-package - branch: ^openstack/.*$ + branch: ^openstack/2\.4.*$ +# For Gerrit ver 2.8.x and later (using buck) + - name: ^.*gerrit.*buck$ + branch: ^openstack/(?!2\.4).*$ - name: gate-nova-pylint voting: false - name: gate-cinder-pylint @@ -2531,10 +2535,13 @@ projects: - name: openstack-infra/gerrit check: - check-gerrit-unittests + - check-gerrit-buck gate: - gate-gerrit-unittests + - gate-gerrit-buck post: - gerrit-package + - gerrit-package-buck - name: openstack-infra/gerritbot check: