9afb668a6b
The networking-cisco project has a tox "cover" target that is tied to the coverage job. This tox target does a coverage check of baseline code, and then coverage check of the change-set. The reports are compared to determine if coverage is better or worse for a pass/fail decision for the job. This job has been timing out on some commits. After discussion with infra [1], a new coverage job (compare-cover) is being proposed, and will use a 75 minute timeout. We may be able to reduce this in the future, based on run results. Made the job template with gate-{name}-compare-coverage-{node}, so that it can be used on other projects. For networking-cisco, which is now branchless, the job gate-networking-cisco-compare-coverage-ubuntu-xenial will be used. Commits for networking-cisco will be on master, and will use the ubuntu-xenial node. Note: networking-cisco tox.ini has been modified, under [2], to associate the target compare-cover, with the script that performs this comparison based coverage test. [1] https://goo.gl/J3Y7YV [2] https://review.openstack.org/#/c/385575 Change-Id: Ifcc754055d8d1749fd24e707232948ca731980e6
744 lines
17 KiB
YAML
744 lines
17 KiB
YAML
- job-template:
|
|
name: '{name}-coverage-{node}'
|
|
|
|
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
|
|
- test-results
|
|
- console-log
|
|
|
|
node: '{node}'
|
|
|
|
- job-template:
|
|
name: '{name}-coverage-db-{node}'
|
|
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
|
|
- test-results
|
|
- console-log
|
|
|
|
node: '{node}'
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-compare-coverage-{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 75
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- zuul-git-prep-upper-constraints
|
|
- install-distro-packages
|
|
- revoke-sudo
|
|
- coverage:
|
|
env: compare-cover
|
|
|
|
publishers:
|
|
- scp:
|
|
site: 'static.openstack.org'
|
|
files:
|
|
- target: 'logs/$LOG_PATH'
|
|
source: 'cover/**'
|
|
keep-hierarchy: true
|
|
copy-after-failure: true
|
|
- test-results
|
|
- console-log
|
|
|
|
node: '{node}'
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-pep8-{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- zuul-git-prep-upper-constraints
|
|
- install-distro-packages
|
|
- revoke-sudo
|
|
- pep8:
|
|
env: pep8
|
|
|
|
publishers:
|
|
- test-results
|
|
- console-log
|
|
|
|
node: '{node}'
|
|
|
|
- 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:
|
|
- test-results
|
|
- console-log
|
|
|
|
node: ubuntu-trusty
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-python27-{node}'
|
|
|
|
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: '{node}'
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-python27-db-{node}'
|
|
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: '{node}'
|
|
|
|
- job-template:
|
|
name: 'gate-cross-{name}-python27-{node}'
|
|
description: 'Same job as gate-{name}-python27 but clones {name}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 50
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- zuul-git-prep-upper-constraints-cross:
|
|
project: openstack/{name}
|
|
- install-distro-packages
|
|
- revoke-sudo
|
|
- python27
|
|
- assert-no-extra-files
|
|
|
|
publishers:
|
|
- test-results
|
|
- console-log
|
|
|
|
node: '{node}'
|
|
|
|
- job-template:
|
|
name: 'gate-cross-{name}-python27-db-{node}'
|
|
description: 'Same job as gate-cross-{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-cross:
|
|
project: openstack/{name}
|
|
- 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: '{node}'
|
|
|
|
- job-template:
|
|
name: 'periodic-{name}-{python}-with-oslo-master'
|
|
node: ubuntu-xenial
|
|
|
|
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-{node}'
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- zuul-git-prep-upper-constraints
|
|
- install-distro-packages
|
|
- revoke-sudo
|
|
- docs
|
|
|
|
publishers:
|
|
- upload-sphinx-draft
|
|
- test-results
|
|
- console-log
|
|
|
|
node: '{node}'
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-tox-{envlist}-{node}'
|
|
description: 'Runs tox, does not set up any databases.'
|
|
node: '{node}'
|
|
|
|
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}-{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-xenial
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- zuul-release-git-prep-upper-constraints
|
|
- install-distro-packages
|
|
- revoke-sudo
|
|
- tarball:
|
|
env: venv
|
|
|
|
publishers:
|
|
- tarball:
|
|
project: '{name}'
|
|
site: '{tarball-site}'
|
|
- wheel:
|
|
project: '{name}'
|
|
site: '{tarball-site}'
|
|
- test-results
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{name}-branch-tarball'
|
|
node: ubuntu-xenial
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- zuul-git-prep-upper-constraints
|
|
- 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}'
|
|
- test-results
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: 'gate-{name}-requirements'
|
|
node: ubuntu-xenial
|
|
|
|
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:
|
|
- test-results
|
|
- 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:
|
|
- test-results
|
|
- console-log
|
|
|
|
- job-group:
|
|
name: periodic-python-jobs-with-oslo-master
|
|
jobs:
|
|
- 'periodic-{name}-{python}-with-oslo-master':
|
|
python:
|
|
- py27
|
|
- py35
|
|
|
|
- job-group:
|
|
name: periodic-python-jobs-with-neutron-lib-master
|
|
jobs:
|
|
- 'periodic-{name}-{python}-with-neutron-lib-master':
|
|
python:
|
|
- py35
|
|
|
|
- job-group:
|
|
name: python-jobs
|
|
node:
|
|
- ubuntu-trusty
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- 'gate-{name}-pep8-{node}'
|
|
- 'gate-{name}-python27-{node}'
|
|
- 'gate-{name}-python34'
|
|
- 'gate-{name}-docs-{node}'
|
|
- '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: cross-python-jobs
|
|
node:
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- 'gate-cross-{name}-python27-{node}'
|
|
|
|
- job-group:
|
|
name: python-db-jobs
|
|
node:
|
|
- ubuntu-trusty
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- 'gate-{name}-pep8-{node}'
|
|
- 'gate-{name}-python27-db-{node}'
|
|
- 'gate-{name}-python34-db'
|
|
- 'gate-{name}-docs-{node}'
|
|
- '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: cross-python-db-jobs
|
|
node:
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- 'gate-cross-{name}-python27-db-{node}'
|
|
|
|
- job-group:
|
|
name: python-jobs-searchlight
|
|
node:
|
|
- ubuntu-trusty
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- 'gate-{name}-pep8-{node}'
|
|
- 'gate-{name}-python27-searchlight'
|
|
- 'gate-{name}-python27-searchlight-es1'
|
|
- 'gate-{name}-python34-searchlight'
|
|
- 'gate-{name}-docs-{node}'
|
|
- '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'
|
|
- '{name}-tarball-signing'
|
|
|
|
- job-group:
|
|
name: coverage-jobs
|
|
node:
|
|
- ubuntu-trusty
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- '{name}-coverage-{node}'
|
|
|
|
- job-group:
|
|
name: coverage-db-jobs
|
|
node:
|
|
- ubuntu-trusty
|
|
- ubuntu-xenial
|
|
jobs:
|
|
- '{name}-coverage-db-{node}'
|