project-config/jenkins/jobs/python-jobs.yaml
Mehdi Abaakouk a8024e3fd4 Fix Gnocchi py35 gate
This change allows to run custom tox target on ubuntu xenial

The Gnocchi jobs run some py35 jobs that are currently running on
trusty. But because it lacks of python3.5 we move them to xenial.

This fixes this Gnocchi gate issue:
http://logs.openstack.org/06/341606/5/check/gate-gnocchi-tox-db-py35-mysql/efda919/

Change-Id: I682b92a6baea6222d4e717b695f44c6ce8ff543e
2016-07-19 15:55:50 +02:00

652 lines
15 KiB
YAML

- job-template:
name: '{name}-coverage'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- coverage:
env: cover
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'cover/**'
keep-hierarchy: true
copy-after-failure: true
- console-log
node: ubuntu-trusty
- job-template:
name: '{name}-coverage-db'
description: 'Same job as {name}-coverage but sets up databases.'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- coverage:
env: cover
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'cover/**'
keep-hierarchy: true
copy-after-failure: true
- console-log
node: ubuntu-trusty
- job-template:
name: 'gate-{name}-pep8'
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- pep8:
env: pep8
publishers:
- console-log
node: ubuntu-trusty
- job-template:
name: 'gate-{name}-pylint'
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- pylint:
env: pylint
publishers:
- console-log
node: ubuntu-trusty
- job-template:
name: 'gate-{name}-python27'
wrappers:
- build-timeout:
timeout: 50
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- python27
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-trusty
- job-template:
name: 'gate-{name}-python27-db'
description: 'Same job as gate-{name}-python27 but sets up databases.'
wrappers:
- build-timeout:
timeout: 50
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- python27
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-trusty
- job-template:
name: 'periodic-{name}-{python}-with-oslo-master'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 50
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-branch-prep-upper-constraints:
branch: master
- install-distro-packages
# The job runs with different repositories and invokes unittests, some
# of these repositories need a database set up.
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- shell: "/usr/local/jenkins/slave_scripts/run-tox-with-oslo-master.sh {python}"
- assert-no-extra-files
publishers:
- test-results
- console-log
- job-template:
name: 'gate-{name}-python34'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- python34
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-trusty
- job-template:
name: 'gate-{name}-python34-db'
description: 'Same job as gate-{name}-python34 but sets up databases.'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- python34
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-trusty
- job-template:
name: 'gate-{name}-python35{suffix}'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- python35
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-xenial
- job-template:
name: 'gate-{name}-python35-db{suffix}'
description: 'Same job as gate-{name}-python35{suffix} but sets up databases.'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- python35
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-xenial
- job-template:
name: 'gate-{name}-pypy'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- pypy
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-xenial
- job-template:
name: 'gate-{name}-pypy-db'
description: 'Same job as gate-{name}-pypy but sets up databases.'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- pypy
- assert-no-extra-files
publishers:
- test-results
- console-log
node: ubuntu-xenial
- job-template:
name: 'gate-{name}-docs'
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- docs
publishers:
- upload-sphinx-draft
- console-log
node: ubuntu-trusty
- job-template:
name: 'gate-{name}-tox-{envlist}'
description: 'Runs tox, does not set up any databases.'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- revoke-sudo
- tox:
envlist: '{envlist}'
- assert-no-extra-files
publishers:
- test-results
- console-log
- job-template:
name: 'gate-{name}-tox-with-sudo-{envlist}'
description: 'Same job as gate-{name}-tox-{envlist}, allows sudo access.'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- tox:
envlist: '{envlist}'
- assert-no-extra-files
publishers:
- test-results
- console-log
- job-template:
name: 'gate-{name}-tox-db-{envlist}'
description: 'Same job as gate-{name}-tox-{envlist} but sets up databases.'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- tox:
envlist: '{envlist}'
- assert-no-extra-files
publishers:
- test-results
- console-log
- job-template:
name: 'gate-{name}-tox-db-{envlist}-{node}'
description: 'Same job as gate-{name}-tox-db-{envlist} but on node {node}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- zuul-git-prep-upper-constraints
- install-distro-packages
- mysql-prep
- pgsql-prep
- mysql-db:
db_name: openstack_citest
- pgsql-db:
db_name: openstack_citest
- revoke-sudo
- tox:
envlist: '{envlist}'
- assert-no-extra-files
publishers:
- test-results
- console-log
- job-template:
name: '{name}-tarball'
node: ubuntu-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- gerrit-git-prep
- install-distro-packages
- revoke-sudo
- tarball:
env: venv
publishers:
- tarball:
project: '{name}'
site: '{tarball-site}'
- wheel:
project: '{name}'
site: '{tarball-site}'
- console-log
- job-template:
name: '{name}-branch-tarball'
node: ubuntu-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- gerrit-git-prep
- install-distro-packages
- revoke-sudo
- tarball:
env: venv
- 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
- job-template:
name: 'gate-{name}-requirements'
node: ubuntu-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- gerrit-git-prep
- install-distro-packages
- revoke-sudo
- shell: |
#!/bin/bash -xe
/usr/local/jenkins/slave_scripts/project-requirements-change.py $ZUUL_BRANCH
publishers:
- console-log
- job-template:
name: '{name}-announce-release'
node: ubuntu-trusty
builders:
- print-template-name:
template-name: "{template-name}"
- gerrit-git-prep
- install-distro-packages
- revoke-sudo
- shell: |
#!/bin/bash
set -x
# Report on the ZUUL settings.
env | grep '^ZUUL_'
# Save the version that was just tagged by parsing
# ref/tags/VALUE to get VALUE.
VERSION=$(echo $ZUUL_REF | cut -f3 -d/)
# Check out the release-tools, ignoring any other ZUUL
# variables that might confuse the cloner and cause it to
# try to check out anything like the commit that was just
# tagged or to look for a branch (we always want the master
# version of the tools).
for v in $(env | grep '^ZUUL_' | cut -f1 -d=); do
unset $v
done
TOOLS_TMP=$(mktemp -d)
/usr/zuul-env/bin/zuul-cloner \
--cache-dir /opt/git \
--workspace $TOOLS_TMP \
git://git.openstack.org \
openstack-infra/release-tools
TOOLS_DIR=$TOOLS_TMP/openstack-infra/release-tools
# Run the announce script.
$TOOLS_DIR/announce.sh $WORKSPACE $VERSION
publishers:
- console-log
- job-group:
name: periodic-python-jobs-with-oslo-master
jobs:
- 'periodic-{name}-{python}-with-oslo-master':
python:
- py27
- py34
- job-group:
name: periodic-python-jobs-with-neutron-lib-master
jobs:
- 'periodic-{name}-{python}-with-neutron-lib-master':
python:
- py34
- job-group:
name: python-jobs
jobs:
- 'gate-{name}-pep8'
- 'gate-{name}-python27'
- 'gate-{name}-python34'
- 'gate-{name}-docs'
- 'gate-{name}-requirements'
- '{name}-branch-tarball'
# pylint isn't standard
# pypy 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-db-jobs
jobs:
- 'gate-{name}-pep8'
- 'gate-{name}-python27-db'
- 'gate-{name}-python34-db'
- 'gate-{name}-docs'
- 'gate-{name}-requirements'
- '{name}-branch-tarball'
# pylint isn't standard
# pypy 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-jobs-searchlight
jobs:
- 'gate-{name}-pep8'
- 'gate-{name}-python27-searchlight'
- 'gate-{name}-python27-searchlight-es1'
- 'gate-{name}-python34-searchlight'
- 'gate-{name}-docs'
- 'gate-{name}-requirements'
- '{name}-branch-tarball'
# pylint isn't standard
# pypy 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: openstack-server-release-jobs
jobs:
- '{name}-announce-release'
- '{name}-tarball'
- job-group:
name: coverage-jobs
jobs:
- '{name}-coverage'
- job-group:
name: coverage-db-jobs
jobs:
- '{name}-coverage-db'