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 - console-log
node: ubuntu-trusty 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: - builder:
name: install-distro-packages name: install-distro-packages
builders:
- shell: /usr/local/jenkins/slave_scripts/install-distro-packages.sh
- builder:
name: install-distro-packages-fallback-test
builders: builders:
- shell: | - shell: |
#!/bin/bash -xe #!/bin/bash -xe
if [ -e other-requirements.txt ] ; then if [ "$ZUUL_PROJECT" == "openstack-infra/bindep" ] ; then
export DISTRO_PACKAGES=other-requirements.txt # if testing a change to bindep, use its entrypoint
else virtualenv bindep-env
mkdir -p .test bindep-env/bin/pip install -U .
pushd .test export BINDEP=bindep-env/bin/bindep
/usr/zuul-env/bin/zuul-cloner --cache-dir /opt/git \ elif [ "$ZUUL_PROJECT" == "openstack-infra/project-config" ] ; then
git://git.openstack.org openstack-infra/project-config # if testing a change to project-config, use its fallback list
popd export PACKAGES=jenkins/data/bindep-fallback.txt
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`
fi fi
/usr/local/jenkins/slave_scripts/install-distro-packages.sh
- builder: - builder:
name: mysql-prep name: mysql-prep

View File

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

View File

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