diff --git a/modules/jenkins/manifests/params.pp b/modules/jenkins/manifests/params.pp index c0357fca4c..5619b602a9 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' # PHP package, used for community portal @@ -86,6 +88,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' @@ -126,6 +129,7 @@ class jenkins::params { $sbcl_package = 'sbcl' $sqlite_package = 'sqlite3' $unzip_package = 'unzip' + $zip_package = 'zip' $xslt_package = 'xsltproc' $xvfb_package = 'xvfb' # PHP package, used for community portal diff --git a/modules/jenkins/manifests/slave.pp b/modules/jenkins/manifests/slave.pp index f2148c1711..4b7499713f 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 $::jenkins::params::php5_cli_package, # for community portal build 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 8c5584aeea..8ecba6c692 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 483aa05b38..0a5ef62e1f 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 66b3101df5..2520c65cf5 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -325,10 +325,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 @@ -2573,10 +2577,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: