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}' 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: - job-template:
name: 'gate-{name}-python34' name: 'gate-{name}-python34'
@@ -128,6 +150,28 @@
node: '{node}' 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: - job-template:
name: 'gate-{name}-pypy' name: 'gate-{name}-pypy'
@@ -149,6 +193,28 @@
node: '{node}' 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: - job-template:
name: 'gate-{name}-docs' name: 'gate-{name}-docs'
@@ -288,3 +354,10 @@
# pip-missing-reqs isn't standard # pip-missing-reqs isn't standard
# gate-{name}-tox-{envlist} also isn't standard, but is reserved for # gate-{name}-tox-{envlist} also isn't standard, but is reserved for
# projects that want to run specific jobs via tox # 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_WITH_HTML_OUTPUT=1
export NOSE_HTML_OUT_FILE='nose_results.html' export NOSE_HTML_OUT_FILE='nose_results.html'
export TMPDIR=$(/bin/mktemp -d) export TMPDIR=$(/bin/mktemp -d)
export UPPER_CONSTRAINTS_FILE=$(pwd)/upper-constraints.txt
trap "rm -rf $TMPDIR" EXIT trap "rm -rf $TMPDIR" EXIT
cat /etc/image-hostname.txt cat /etc/image-hostname.txt

View File

@@ -257,6 +257,12 @@ project-templates:
post: post:
- '{name}-branch-tarball' - '{name}-branch-tarball'
- name: python-constraints-jobs
check:
- 'gate-{name}-python27-constraints'
gate:
- 'gate-{name}-python27-constraints'
- name: grenade - name: grenade
check: check:
- 'gate-grenade-dsvm' - 'gate-grenade-dsvm'
@@ -310,6 +316,12 @@ project-templates:
gate: gate:
- 'gate-{name}-python34' - '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 # Python 2.6 is deprecated, these jobs will be removed once no
# OpenStack projects needs it (once Juno is retired). # OpenStack projects needs it (once Juno is retired).
- name: python26-jobs - name: python26-jobs
@@ -326,6 +338,12 @@ project-templates:
# gate: # gate:
# - 'gate-{name}-pypy' # - 'gate-{name}-pypy'
- name: pypy-constraints-jobs
check:
- 'gate-{name}-pypy-constraints'
gate:
- 'gate-{name}-pypy-constraints'
- name: openstack-server-publish-jobs - name: openstack-server-publish-jobs
post: post:
- '{name}-docs' - '{name}-docs'
@@ -1717,6 +1735,12 @@ jobs:
- name: gate-tempest-dsvm-neutron-large-ops-liberty - name: gate-tempest-dsvm-neutron-large-ops-liberty
branch: master 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 # The project list is grouped by type of project, and within each
# group, projects are sorted (mostly) alphabetically. # group, projects are sorted (mostly) alphabetically.
projects: projects: