- 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}-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-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-{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 - 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 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}'