horizon/.zuul.yaml
Akihiro Motoki dd32c9287b Skip integration tests for UT only changes
The integration tests job takes longest time in horizon jobs.
It is worth skipping it for UT only changes (including JS UT).
We already do the similar in the tempest job.

Irrevalent file list for tempest job is also updated
to ignoer JS UT changes.

Change-Id: Ie63e9a9361f2fd7111767864043eb8ad3084a900
2020-03-04 20:32:24 +09:00

259 lines
7.4 KiB
YAML

- job:
name: horizon-openstack-tox-base
parent: openstack-tox
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- ^.*/locale/.*$
- job:
name: horizon-tox-python3-django
abstract: true
parent: horizon-openstack-tox-base
description: |
Run tox with different Django version.
.. zuul:jobvar: tox_envlist
Which tox environment to run
.. zuul:jobvar: django_version
Django version to be used.
pip version specifier like ``>=1.11,<2.0`` should be passed.
pre-run: playbooks/horizon-tox-django/pre.yaml
run: playbooks/horizon-tox-django/run.yaml
vars:
tox_envlist: py36
required-projects:
- name: openstack/horizon
- job:
name: horizon-tox-python3-django22
parent: horizon-tox-python3-django
vars:
django_version: '>=2.2,<3.0'
- job:
name: horizon-selenium-headless
parent: horizon-openstack-tox-base
pre-run: playbooks/horizon-selenium-headless/pre.yaml
vars:
tox_envlist: selenium-headless
- job:
name: horizon-integration-tests
parent: devstack
pre-run: playbooks/horizon-devstack-integration/pre.yaml
run: playbooks/horizon-devstack-integration/run.yaml
post-run: playbooks/horizon-devstack-integration/post.yaml
roles:
- zuul: openstack-infra/devstack
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- ^.*/locale/.*$
# Unit tests are not related to the integration tests
- ^horizon/test/unit/.*$
- ^openstack_auth/tests/unit/.*$
- ^openstack_dashboard/test/unit/.*$
- ^openstack_dashboard/contrib/.*/tests.py$
- ^openstack_dashboard/dashboards/.*/tests.py$
# JavaScript unit tests are not related to the integration tests
- ^openstack_dashboard/.*/[^/]*\.spec\.js$
- ^horizon/static/.*/[^/]*\.spec\.js$
vars:
devstack_services:
horizon: true
tox_envlist: integration
- job:
name: horizon-dsvm-tempest-plugin
parent: devstack-tempest
required-projects: &base_required_projects
- name: openstack/horizon
- name: openstack/tempest
- name: openstack/tempest-horizon
irrelevant-files: &base_irrelevant_files
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- ^.*/locale/.*$
# Test codes are not related to tempest tests
# as tempest is defined in a separete repository
- ^horizon/test/.*$
- ^openstack_auth/tests/.*$
- ^openstack_dashboard/test/.*$
- ^openstack_dashboard/contrib/.*/tests.py$
- ^openstack_dashboard/dashboards/.*/tests.py$
# JavaScript unit tests are not related to tempest tests
- ^openstack_dashboard/.*/[^/]*\.spec\.js$
- ^horizon/static/.*/[^/]*\.spec\.js$
vars: &base_vars
devstack_localrc:
TEMPEST_PLUGINS: "{{ ansible_user_dir }}/src/opendev.org/openstack/tempest-horizon"
USE_PYTHON3: true
devstack_services:
horizon: true
tempest: true
tempest_concurrency: 2
tempest_test_regex: horizon
tox_envlist: all
- job:
name: horizon-tempest-plugin-ipv6
parent: devstack-tempest-ipv6
required-projects: *base_required_projects
irrelevant-files: *base_irrelevant_files
vars: *base_vars
- job:
# Security testing for known issues
name: horizon-tox-bandit-baseline
parent: openstack-tox
timeout: 2400
vars:
tox_envlist: bandit-baseline
irrelevant-files:
- ^.*\.rst$
- ^.*/locale/.*$
- ^doc/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- job:
name: nodejs10-npm-run-lint
parent: nodejs-npm-run-lint
description: |
Run lint using Node 10 for horizon plugins.
vars:
node_version: 10
nodeset: ubuntu-bionic
required-projects:
openstack/horizon
- job:
name: nodejs10-npm-run-test
parent: nodejs-npm-run-test
description: |
Run test using Node 10 for horizon plugins.
vars:
node_version: 10
nodeset: ubuntu-bionic
required-projects:
openstack/horizon
- project-template:
name: horizon-nodejs10-jobs
description: |
Run lint and test jobs using Node 10 (LTS) for horizon plugins.
check:
jobs:
- nodejs10-npm-run-lint
- nodejs10-npm-run-test
gate:
jobs:
- nodejs10-npm-run-lint
- nodejs10-npm-run-test
- job:
name: horizon-integration-tests-xstatic-master
parent: horizon-integration-tests
required-projects: &xstatic-projects
- openstack/horizon
- openstack/xstatic-angular
- openstack/xstatic-angular-bootstrap
- openstack/xstatic-angular-gettext
- openstack/xstatic-angular-lrdragndrop
- openstack/xstatic-angular-smart-table
- openstack/xstatic-bootstrap-datepicker
- openstack/xstatic-bootstrap-scss
- openstack/xstatic-bootswatch
- openstack/xstatic-d3
- openstack/xstatic-font-awesome
- openstack/xstatic-hogan
- openstack/xstatic-jasmine
- openstack/xstatic-jquery-migrate
- openstack/xstatic-jquery.quicksearch
- openstack/xstatic-jquery.tablesorter
- openstack/xstatic-jsencrypt
- openstack/xstatic-mdi
- openstack/xstatic-rickshaw
- openstack/xstatic-roboto-fontface
- openstack/xstatic-spin
- x/xstatic-angular-fileupload
- job:
name: horizon-tox-py36-xstatic-master
parent: openstack-tox-py36
required-projects: *xstatic-projects
- job:
name: horizon-nodejs10-npm-run-test-xstatic-master
parent: nodejs10-npm-run-test
required-projects: *xstatic-projects
pre-run: playbooks/npm-test-xstatic-master/pre.yaml
- project-template:
name: horizon-nodejs10-jobs-nonvoting
description: |
Run lint and test jobs using Node 10 (LTS) for horizon plugins.
check:
jobs:
- nodejs10-npm-run-lint:
voting: false
- nodejs10-npm-run-test:
voting: false
- project-template:
name: horizon-non-primary-django-jobs
description: |
Run unit tests with non-primary Django versions.
check:
jobs:
# Currently we only support Django 2.2, so there is no need
# to run tests with different versions of Django.
# We specify a job in openstack-python3-ussuri-jobs(-horizon)
# to keep this project template as it is used in horizon plugins.
- openstack-tox-py37
# NOTE: We keep it as a template even though it is not used now.
# - horizon-tox-python3-django22
gate:
jobs:
- openstack-tox-py37
# - horizon-tox-python3-django22
- project:
templates:
- check-requirements
- horizon-nodejs10-jobs
- horizon-non-primary-django-jobs
- openstack-lower-constraints-jobs
- openstack-python3-ussuri-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
check:
jobs:
- horizon-selenium-headless
- horizon-integration-tests
- horizon-dsvm-tempest-plugin
- horizon-tox-bandit-baseline
- horizon-tempest-plugin-ipv6
gate:
queue: horizon
jobs:
- horizon-dsvm-tempest-plugin
- horizon-selenium-headless
- horizon-integration-tests
- horizon-tempest-plugin-ipv6
experimental:
jobs:
- horizon-integration-tests-xstatic-master
- horizon-tox-py36-xstatic-master
- horizon-nodejs10-npm-run-test-xstatic-master