Add constraints jobs to Jenkins

This adds the required jobs to jenkins to allow jenkins to call tox with
the 'constraints' factor added.  This will allow a reasonable way to
test running unit-tests against a virtual environment installed with
constraints on upper-constraints.txt

Change-Id: I17ac389f78af241917b6da7f049085f2b13d30f2
Implements Blueprint: Requirements-Management
This commit is contained in:
Sachi King 2015-07-29 16:18:35 +10:00 committed by Jeremy Stanley
parent fa4e655f64
commit b2e4397ca4
3 changed files with 98 additions and 0 deletions

View File

@ -107,6 +107,28 @@
node: '{node}'
- job-template:
name: 'gate-{name}-python27-constraints'
wrappers:
- build-timeout:
timeout: 50
- timestamps
builders:
- revoke-sudo
- zuul-git-prep-upper-constraints
- tox:
envlist: py27-constraints
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
node: '{node}'
- job-template:
name: 'gate-{name}-python34'
@ -128,6 +150,28 @@
node: '{node}'
- job-template:
name: 'gate-{name}-python34-constraints'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- revoke-sudo
- zuul-git-prep-upper-constraints
- tox:
envlist: py34-constraints
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
node: '{node}'
- job-template:
name: 'gate-{name}-pypy'
@ -149,6 +193,28 @@
node: '{node}'
- job-template:
name: 'gate-{name}-pypy-constraints'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- revoke-sudo
- zuul-git-prep-upper-constraints
- tox:
envlist: pypy-constraints
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
node: '{node}'
- job-template:
name: 'gate-{name}-docs'
@ -288,3 +354,10 @@
# pip-missing-reqs isn't standard
# gate-{name}-tox-{envlist} also isn't standard, but is reserved for
# projects that want to run specific jobs via tox
- job-group:
name: python-constraints-jobs
jobs:
- 'gate-{name}-python27-constraints'
- 'gate-{name}-python34-constraints'
- 'gate-{name}-pypy-constraints'

View File

@ -118,6 +118,7 @@ export NOSE_WITH_XUNIT=1
export NOSE_WITH_HTML_OUTPUT=1
export NOSE_HTML_OUT_FILE='nose_results.html'
export TMPDIR=$(/bin/mktemp -d)
export UPPER_CONSTRAINTS_FILE=$(pwd)/upper-constraints.txt
trap "rm -rf $TMPDIR" EXIT
cat /etc/image-hostname.txt

View File

@ -257,6 +257,12 @@ project-templates:
post:
- '{name}-branch-tarball'
- name: python-constraints-jobs
check:
- 'gate-{name}-python27-constraints'
gate:
- 'gate-{name}-python27-constraints'
- name: grenade
check:
- 'gate-grenade-dsvm'
@ -310,6 +316,12 @@ project-templates:
gate:
- 'gate-{name}-python34'
- name: python3-constraints-jobs
check:
- 'gate-{name}-python34-constraints'
gate:
- 'gate-{name}-python34-constraints'
# Python 2.6 is deprecated, these jobs will be removed once no
# OpenStack projects needs it (once Juno is retired).
- name: python26-jobs
@ -326,6 +338,12 @@ project-templates:
# gate:
# - 'gate-{name}-pypy'
- name: pypy-constraints-jobs
check:
- 'gate-{name}-pypy-constraints'
gate:
- 'gate-{name}-pypy-constraints'
- name: openstack-server-publish-jobs
post:
- '{name}-docs'
@ -1717,6 +1735,12 @@ jobs:
- name: gate-tempest-dsvm-neutron-large-ops-liberty
branch: master
# Constraints Jobs
- name: ^gate-.*-py(?:thon\d\d|py)-constraints$
branch: ^(?!stable/(?:juno|kilo)).*$
# End Constraints Jobs
# The project list is grouped by type of project, and within each
# group, projects are sorted (mostly) alphabetically.
projects: