project-config/jenkins/jobs/python-jobs.yaml
Sachi King b2e4397ca4 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
2015-09-02 12:12:52 +00:00

364 lines
6.9 KiB
YAML

- job-template:
name: '{name}-coverage'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- revoke-sudo
- gerrit-git-prep
- coverage
publishers:
- zuul-swift-upload-logs-with-console:
upload_source: 'cover/'
node: '{node}'
- job-template:
name: 'gate-{name}-pep8'
builders:
- revoke-sudo
- gerrit-git-prep
- pep8
publishers:
- zuul-swift-upload-console-log
node: '{node}'
- job-template:
name: 'experimental-swift-logs-{name}-pep8-centos6'
node: 'bare-centos6'
builders:
- revoke-sudo
- gerrit-git-prep
- pep8:
- shell: purposefully_fail_me
publishers:
- zuul-swift-upload-logs-with-console:
upload_source: '.tox/pep8/log'
- job-template:
name: 'gate-{name}-pylint'
builders:
- revoke-sudo
- gerrit-git-prep
- pylint
publishers:
- zuul-swift-upload-console-log
node: '{node}'
- job-template:
name: 'gate-{name}-python26'
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- shell: |
#!/bin/bash -xe
if ! rpm -ql libffi-devel >/dev/null ; then
sudo yum install -y libffi-devel
fi
rpm -ql libffi-devel
- revoke-sudo
- gerrit-git-prep
- python26
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
node: bare-centos6
- job-template:
name: 'gate-{name}-python27'
wrappers:
- build-timeout:
timeout: 50
- timestamps
builders:
- revoke-sudo
- gerrit-git-prep
- python27
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
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'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- revoke-sudo
- gerrit-git-prep
- python34
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
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'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- revoke-sudo
- gerrit-git-prep
- pypy
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
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'
builders:
- revoke-sudo
- gerrit-git-prep
- docs
publishers:
- zuul-swift-upload-console-log
- upload-sphinx-draft
node: '{node}'
- job-template:
name: 'gate-{name}-tox-{envlist}'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- revoke-sudo
- gerrit-git-prep
- tox:
envlist: '{envlist}'
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
node: '{node}'
- job-template:
name: '{name}-tarball'
node: 'bare-precise || bare-trusty'
builders:
- gerrit-git-prep
# TODO(jeblair): Remove after
# https://review.openstack.org/195184 is merged and available on
# workers
- shell: |
#!/bin/bash -xe
sudo rm -rf /usr/zuul-env
- revoke-sudo
- tarball
publishers:
- tarball:
project: '{name}'
site: '{tarball-site}'
- wheel:
project: '{name}'
site: '{tarball-site}'
- console-log
- zuul-swift-upload-console-log
- job-template:
name: '{name}-branch-tarball'
node: 'bare-precise || bare-trusty'
builders:
- revoke-sudo
- gerrit-git-prep
- tarball
- shell: |
#!/bin/bash -xe
BRANCH=$ZUUL_REFNAME
BRANCH_PATH=`echo $BRANCH | tr / -`
mv dist/*.tar.gz dist/{name}-$BRANCH_PATH.tar.gz
publishers:
- tarball:
project: '{name}'
site: '{tarball-site}'
- console-log
- zuul-swift-upload-console-log
- job-template:
name: 'gate-{name}-requirements'
node: 'bare-precise || bare-trusty'
builders:
- revoke-sudo
- gerrit-git-prep
- shell: |
#!/bin/bash -xe
/usr/local/jenkins/slave_scripts/project-requirements-change.py $ZUUL_BRANCH
publishers:
- zuul-swift-upload-console-log
- job-template:
name: 'gate-{name}-pip-missing-reqs'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- revoke-sudo
- gerrit-git-prep
- tox:
envlist: 'pip-missing-reqs'
- assert-no-extra-files
publishers:
- test-results
- console-log
- zuul-swift-test-results-with-console
node: '{node}'
- job-group:
name: python-jobs
jobs:
- '{name}-coverage'
- 'gate-{name}-pep8'
- 'gate-{name}-python26'
- 'gate-{name}-python27'
- 'gate-{name}-python34'
- 'gate-{name}-pypy'
- 'gate-{name}-docs'
- 'gate-{name}-requirements'
- '{name}-tarball'
- '{name}-branch-tarball'
# pylint isn't standard
# 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'