project-config/jenkins/jobs/python-jobs.yaml
Clark Boylan 6da143d2cd Stop uploading to job logs to swift
We have some headroom on the logs filesystem and this allows us to go
back to more reliable methods of grabbing logs. Specifically we are not
required to have http access back to the jenkins master from every job
that runs into order to get the console logs then upload them to swift.

Change-Id: Ie8479c224b2fd3c3efca4e1bf4157656540eccff
2016-04-15 10:20:25 -07:00

529 lines
12 KiB
YAML

- job-template:
name: '{name}-coverage'
wrappers:
- build-timeout:
timeout: 40
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- gerrit-git-prep
- install-distro-packages
- revoke-sudo
- coverage:
env: cover
publishers:
- console-log
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'cover/**'
keep-hierarchy: true
copy-after-failure: true
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}"
- gerrit-git-prep
- 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:
- console-log
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'cover/**'
keep-hierarchy: true
copy-after-failure: true
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}-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-trusty
- 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-trusty
- 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:
- console-log
- upload-sphinx-draft
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-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: '{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: python-jobs
jobs:
- '{name}-coverage'
- 'gate-{name}-pep8'
- 'gate-{name}-python27'
- 'gate-{name}-python34'
- 'gate-{name}-pypy'
- 'gate-{name}-docs'
- 'gate-{name}-requirements'
- '{name}-tarball'
- '{name}-branch-tarball'
- '{name}-announce-release'
# pylint 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:
- '{name}-coverage-db'
- 'gate-{name}-pep8'
- 'gate-{name}-python27-db'
- 'gate-{name}-python34-db'
- 'gate-{name}-pypy-db'
- 'gate-{name}-docs'
- 'gate-{name}-requirements'
- '{name}-tarball'
- '{name}-branch-tarball'
- '{name}-announce-release'
# pylint 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:
- '{name}-coverage'
- 'gate-{name}-pep8'
- 'gate-{name}-python27-searchlight'
- 'gate-{name}-python34-searchlight'
- 'gate-{name}-pypy'
- 'gate-{name}-docs'
- 'gate-{name}-requirements'
- '{name}-tarball'
- '{name}-branch-tarball'
- '{name}-announce-release'
# pylint isn't standard
# gate-{name}-tox-{envlist} also isn't standard, but is reserved for
# projects that want to run specific jobs via tox