Add a gate-bindep-fallback-ubuntu-trusty job

Add an experimental gate-bindep-fallback-ubuntu-trusty job to test
that the bindep fallback list works on this platform with the
version of bindep currently installed on our workers, and to test
that changes to bindep itself work with the version of the fallback
list currently installed on our workers. Also switch the
install-distro-packages builder to use the
install-distro-packages.sh script installed on worker images rather
than baking that logic into the job configuration, and add a new
install-distro-packages-fallback-test builder to do the logical
overrides needed for the two new fallback-file-specific jobs.

Change-Id: I4cc858011941cc56505c6d49f5201ecb008ef95f
This commit is contained in:
Jeremy Stanley 2015-12-10 22:42:21 +00:00 committed by Ian Wienand
parent d9cd7b4e6a
commit 066cd9ac42
4 changed files with 39 additions and 19 deletions

View File

@ -24,3 +24,19 @@
- console-log
node: ubuntu-trusty
- job-template:
name: gate-bindep-fallback-{node}
wrappers:
- timestamps
builders:
- zuul-git-prep
- install-distro-packages-fallback-test
publishers:
- test-results
- console-log
node: '{node}'

View File

@ -564,29 +564,24 @@
- builder:
name: install-distro-packages
builders:
- shell: /usr/local/jenkins/slave_scripts/install-distro-packages.sh
- builder:
name: install-distro-packages-fallback-test
builders:
- shell: |
#!/bin/bash -xe
if [ -e other-requirements.txt ] ; then
export DISTRO_PACKAGES=other-requirements.txt
else
mkdir -p .test
pushd .test
/usr/zuul-env/bin/zuul-cloner --cache-dir /opt/git \
git://git.openstack.org openstack-infra/project-config
popd
export DISTRO_PACKAGES=.test/openstack-infra/project-config/jenkins/data/bindep-fallback.txt
fi
if apt-get -v >/dev/null ; then
sudo apt-get update
sudo PATH=/usr/sbin:/sbin:$PATH DEBIAN_FRONTEND=noninteractive \
apt-get --option "Dpkg::Options::=--force-confold" \
--assume-yes install \
`/usr/bindep-env/bin/bindep -b -f $DISTRO_PACKAGES || true`
else
sudo PATH=/usr/sbin:/sbin:$PATH yum install -y \
`/usr/bindep-env/bin/bindep -b -f $DISTRO_PACKAGES || true`
if [ "$ZUUL_PROJECT" == "openstack-infra/bindep" ] ; then
# if testing a change to bindep, use its entrypoint
virtualenv bindep-env
bindep-env/bin/pip install -U .
export BINDEP=bindep-env/bin/bindep
elif [ "$ZUUL_PROJECT" == "openstack-infra/project-config" ] ; then
# if testing a change to project-config, use its fallback list
export PACKAGES=jenkins/data/bindep-fallback.txt
fi
/usr/local/jenkins/slave_scripts/install-distro-packages.sh
- builder:
name: mysql-prep

View File

@ -4422,6 +4422,9 @@
- gate-{name}-pep8
- gate-{name}-bashate
- generate-specs-site-jobs
- gate-bindep-fallback-{node}:
node:
- ubuntu-trusty
- project:
name: project-config-example

View File

@ -271,6 +271,10 @@ project-templates:
gate:
- 'gate-{name}-dsvm-functional-centos7'
- name: bindep-fallback
experimental:
- gate-bindep-fallback-ubuntu-trusty
- name: python-jobs
check:
- 'gate-{name}-pep8'
@ -2298,6 +2302,7 @@ projects:
- name: openstack-infra/bindep
template:
- name: bindep-fallback
- name: merge-check
- name: publish-to-pypi
- name: pypy-jobs
@ -2631,6 +2636,7 @@ projects:
- name: openstack-infra/project-config
template:
- name: bindep-fallback
- name: merge-check
check:
- gate-project-config-compare-xml