Khai Do ce6fc21a62 use buck from master branch
Buck is used to build Gerrit.  We needed an older version of it to build
Gerrit 2.8 that's why we needed to checkout a special revision of it.
Recently the Gerrit project was updated to dynamically load the correct
version of buck at build time therefore we don't need to checkout and build
that special version of buck anymore.  Now when you build Gerrit the correct
version of buck gets loaded before the Gerrit code gets built.

Change-Id: I4d5dc97571daf0e6d7a4c45cf16125aa9b0b65cb
2014-04-24 12:58:26 -07:00

418 lines
11 KiB
YAML

- builder:
name: gerrit-git-prep
builders:
- shell: "/usr/local/jenkins/slave_scripts/gerrit-git-prep.sh https://review.openstack.org git://git.openstack.org"
- builder:
name: branch-git-prep
builders:
- shell: |
#!/bin/bash
export BRANCH={branch}
/usr/local/jenkins/slave_scripts/gerrit-git-prep.sh https://review.openstack.org git://git.openstack.org
- builder:
name: revoke-sudo
builders:
- shell: |
#!/bin/bash
if [ -f /etc/sudoers.d/jenkins-sudo ] ; then
sudo rm /etc/sudoers.d/jenkins-sudo
fi
- builder:
name: coverage
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-cover.sh {github-org} {project}"
- builder:
name: docs
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-docs.sh {github-org} {project}"
- builder:
name: maven-test
builders:
- shell: "mvn test -B"
- builder:
name: maven-package
builders:
- shell: "mvn package -B"
- builder:
name: markdown-docbook
builders:
- shell: "/usr/local/jenkins/slave_scripts/markdown-docbook.sh {filename}"
- builder:
name: gerrit-package
builders:
- shell: "/usr/local/jenkins/slave_scripts/package-gerrit.sh"
- builder:
name: gerrit-preclean
builders:
- shell: |
#!/bin/bash -xe
rm -fr ~/.m2
rm -fr ~/.java
./tools/version.sh --release
- builder:
name: gerrit-postrun
builders:
- shell: "./tools/version.sh --reset"
- builder:
name: bash8
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-bash8.sh {github-org} {project}"
- builder:
name: pep8
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-pep8.sh {github-org} {project}"
- builder:
name: pylint
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-pylint.sh {github-org} {project}"
- builder:
name: puppet-lint
builders:
- shell: |
if [ -f Modulefile ]; then
MODULE=$(awk '/^name/ {print $NF}' Modulefile |tr -d \"\')
if [ -z "$MODULE" ]; then
echo "Module name not defined in Modulefile"
else
mkdir -p "$MODULE"
rsync -a --exclude="$MODULE" --exclude ".*" . "$MODULE"
cd "$MODULE"
fi
fi
if [ -f Gemfile ]; then
mkdir .bundled_gems
export GEM_HOME=`pwd`/.bundled_gems
bundle install
bundle exec rake lint 2>&1
else
rake lint 2>&1
fi
- builder:
name: puppet-syntax
builders:
- shell: |
find . -iname *.pp | xargs puppet parser validate --modulepath=`pwd`/modules
for f in `find . -iname *.erb` ; do
erb -x -T '-' $f | ruby -c
done
- builder:
name: chef-bundler-prep
builders:
- shell: |
mkdir -p .bundle
ruby1.9.1 /usr/bin/bundle install --path=.bundle
- builder:
name: chef-berkshelf-prep
builders:
- shell: |
mkdir -p .cookbooks
ruby1.9.1 /usr/bin/bundle exec berks install --path=.cookbooks
COOKBOOK=$(awk '/^name/ {print $NF}' metadata.rb |tr -d \"\')
if [ -z $COOKBOOK ]; then
echo "Cookbook name not defined in metadata.rb"
exit 1
fi
- builder:
name: chef-cookbook-rubocop
builders:
- shell: |
COOKBOOK=$(awk '/^name/ {print $NF}' metadata.rb |tr -d \"\')
ruby1.9.1 /usr/bin/bundle exec rubocop
- builder:
name: chef-cookbook-foodcritic
builders:
- shell: |
ruby1.9.1 /usr/bin/bundle exec foodcritic -f any -t ~FC003 -t ~FC023 .
- builder:
name: chef-cookbook-chefspec
builders:
- shell: |
COOKBOOK=$(awk '/^name/ {print $NF}' metadata.rb |tr -d \"\')
ruby1.9.1 /usr/bin/bundle exec rspec .cookbooks/$COOKBOOK/spec
- builder:
name: run-tests
builders:
- shell: "./run-tests.sh {github-org} {project}"
- builder:
name: selenium
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-selenium.sh {github-org} {project}"
- builder:
name: js-build
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-jsbuild.sh {command} {github-org} {project}"
- builder:
name: python26
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-unittests.sh 26 {github-org} {project}"
- builder:
name: python27
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-unittests.sh 27 {github-org} {project}"
- builder:
name: python33
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-unittests.sh 33 {github-org} {project}"
- builder:
name: pypy
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-unittests.sh py {github-org} {project}"
- builder:
name: tox
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-tox.sh {envlist} {github-org} {project}"
- builder:
name: assert-no-extra-files
builders:
- shell: |
#!/bin/bash
OUT=`git ls-files --other --exclude-standard --directory`
if [ -z "$OUT" ]; then
echo "No extra files created during test."
exit 0
else
echo "The following un-ignored files were created during the test:"
echo "$OUT"
exit 0 # TODO: change to 1 to fail tests.
fi
- builder:
name: tarball
builders:
- shell: "/usr/local/jenkins/slave_scripts/run-tarball.sh {github-org} {project}"
- builder:
name: devstack-checkout
builders:
- shell: |
#!/bin/bash -xe
if [[ ! -e devstack-gate ]]; then
git clone git://git.openstack.org/openstack-infra/devstack-gate
else
cd devstack-gate
git remote set-url origin git://git.openstack.org/openstack-infra/devstack-gate
git remote update
git reset --hard
if ! git clean -x -f ; then
sleep 1
git clean -x -f
fi
git checkout master
git reset --hard remotes/origin/master
if ! git clean -x -f ; then
sleep 1
git clean -x -f
fi
cd ..
fi
- builder:
name: experimental-devstack-checkout
builders:
- shell: |
#!/bin/bash -xe
if [[ ! -e devstack-gate ]]; then
git clone git://git.openstack.org/openstack-infra/devstack-gate
fi
cd devstack-gate
/usr/local/jenkins/slave_scripts/gerrit-git-prep.sh https://review.openstack.org git://git.openstack.org
cd ..
- builder:
name: link-logs
builders:
- shell: |
#!/bin/sh
echo "Detailed logs: http://logs.openstack.org/$LOG_PATH/"
- builder:
name: net-info
builders:
- shell: |
#!/bin/sh
export PATH=$PATH:/sbin
echo "Network interface addresses..."
ip address show
echo "Network routing tables..."
ip route show
ip -6 route show
echo "Network neighbors..."
ip neighbor show
- builder:
name: update-pypi-mirror
builders:
- shell: |
#!/bin/bash -xe
/usr/local/bin/run-mirror -c /home/jenkins/pypimirror/etc/pypi-mirror.yaml
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: |
#!/bin/bash -xe
if [[ ! -d "buck" ]]
then
git clone https://gerrit.googlesource.com/buck
cd buck
ant
fi
# ======================================================================
- publisher:
name: tarball
publishers:
- archive:
artifacts: 'dist/*.tar.gz'
- scp:
site: '{site}'
files:
- target: 'tarballs/{project}/'
source: 'dist/*.tar.gz'
- publisher:
name: war
publishers:
- archive:
artifacts: '{warfile}'
- scp:
site: '{site}'
files:
- target: '{target}'
source: '{warfile}'
- publisher:
name: console-log
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
copy-console: true
copy-after-failure: true
- publisher:
name: devstack-logs
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'logs/**'
keep-hierarchy: true
copy-after-failure: true
- publisher:
name: coverage-log
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'cover/**'
keep-hierarchy: true
copy-after-failure: true
- publisher:
name: test-results
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: '**/*nose_results.html'
keep-hierarchy: false
copy-after-failure: true
- target: 'logs/$LOG_PATH'
source: '**/*testr_results.html.gz'
keep-hierarchy: false
copy-after-failure: true
- target: 'logs/$LOG_PATH'
source: '.testrepository/tmp*'
keep-hierarchy: false
copy-after-failure: true
- target: 'logs/$LOG_PATH'
source: '**/*subunit_log.txt.gz'
keep-hierarchy: false
copy-after-failure: true
- publisher:
name: upload-sphinx-draft
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'docs-draft/$LOG_PATH'
source: 'doc/build/html/**'
keep-hierarchy: true
copy-after-failure: true
- publisher:
name: upload-docs-draft
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'docs-draft/$LOG_PATH/'
source: 'publish-docs/**'
keep-hierarchy: true
copy-after-failure: true
- publisher:
name: upload-to-docs-site
publishers:
- ftp:
site: docs.openstack.org
source: 'publish-docs/**'
target: '/'
remove-prefix: 'publish-docs/'
- publisher:
name: upload-doc-build-results
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'build-*.log.gz'
keep-hierarchy: false
copy-after-failure: true