project-config/jenkins/jobs/gerrit.yaml
Jeremy Stanley 53afd14162 Install ant and asciidoc in Gerrit build jobs
As a followup to I24eb057124c03bd856e256af4e5f9f5fda935b47 which
removed ant and asciidoc from the bindep fallback list, readd them
with a builder macro during Gerrit and Gerrit plugin building jobs.
Also combine the gerrit-plugin-jobs.yaml into gerrit.yaml for ease
of future maintenance.

Change-Id: Icd0db97963ea4ced2a069ec8c5860c2772f29c10
2017-06-21 16:57:57 +00:00

134 lines
3.9 KiB
YAML

- builder:
name: gerrit-buck-checkout
builders:
- shell: |
#!/bin/bash -xe
CLONEMAP=`mktemp`
function cleanup {
rm -f $CLONEMAP
}
trap cleanup EXIT
cat > $CLONEMAP << EOF
clonemap:
- name: openstack-infra/gerrit
dest: gerrit
EOF
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP \
--cache-dir /opt/git \
git://git.openstack.org openstack-infra/gerrit
# Slightly hacky, but this is a workaround for removal of ant and asciidoc
# from the bindep fallback list while avoiding gratuitously adding a
# bindep.txt file to our fork of the Gerrit repo.
- builder:
name: extra-gerrit-build-deps
builders:
- shell: |
#!/bin/bash -xe
sudo bash -c "echo -e 'ant\nasciidoc' >> /usr/local/jenkins/common_data/bindep-fallback.txt"
- job:
name: gate-gerrit-buck
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- extra-gerrit-build-deps
- install-distro-packages
- revoke-sudo
- install-buck
- gerrit-buck-checkout
- shell: |
#!/bin/bash -xe
export PATH=`pwd`/buck/bin:$PATH
cd gerrit
/usr/local/jenkins/slave_scripts/version-properties.sh
source version.properties
buck clean
buck test --all --exclude slow
buck build release
cp buck-out/gen/release/release.war buck-out/gen/gerrit-$PROJECT_VER.war
publishers:
- war:
warfile: 'gerrit/buck-out/gen/gerrit-*.war'
target: 'tarballs/ci/test'
- console-log
- job:
name: gerrit-package-buck
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- extra-gerrit-build-deps
- install-distro-packages
- revoke-sudo
- install-buck
- gerrit-buck-checkout
- shell: |
#!/bin/bash -xe
export PATH=`pwd`/buck/bin:$PATH
cd gerrit
/usr/local/jenkins/slave_scripts/version-properties.sh
source version.properties
buck clean
buck build release
cp buck-out/gen/release/release.war buck-out/gen/gerrit-$PROJECT_VER.war
publishers:
- war:
warfile: 'gerrit/buck-out/gen/gerrit-*.war'
target: 'tarballs/ci/gerrit'
- console-log
- job-template:
name: '{plugin-name}-gerrit-plugin-{plugin-branch}'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 30
- timestamps
builders:
- extra-gerrit-build-deps
- install-distro-packages
- revoke-sudo
- install-buck
- shell: |
#!/bin/bash -xe
export PATH=`pwd`/buck/bin:$PATH
rm -rf gerrit
git clone -b {gerrit-branch} {gerrit-project}
PLUGIN_PARENT_PROJECT={plugin-parent-project}
if [ -n "$PLUGIN_PARENT_PROJECT" ]; then
git clone -b {plugin-parent-branch} {plugin-parent-project} gerrit/plugins/{plugin-parent-name}
fi
git clone -b {plugin-branch} {plugin-project} gerrit/plugins/{plugin-name}
cd gerrit/plugins/{plugin-name}
/usr/local/jenkins/slave_scripts/version-properties.sh
source version.properties
cd $WORKSPACE/gerrit
buck clean
if [ -n "$PLUGIN_PARENT_PROJECT" ]; then
buck build plugins/{plugin-parent-name}:{plugin-parent-name}
fi
buck build plugins/{plugin-name}:{plugin-name}
cp ./buck-out/gen/plugins/{plugin-name}/{plugin-name}.jar ./buck-out/gen/plugins/{plugin-name}/{plugin-name}-$PROJECT_VER.jar
publishers:
- war:
warfile: 'gerrit/buck-out/gen/plugins/{plugin-name}/{plugin-name}-*.jar'
target: 'tarballs/ci/gerrit/plugins/{plugin-name}'
- console-log