horizon/.zuul.yaml
Andreas Jaeger a8ff4c3761 Switch to new javascript jobs
Change I8013228ca05607a69f390a9bb75991fc6543f865 introduces new
javascript jobs that better handle npm or yarn, update the jobs here to
use it.

Change the job names to start with horizon to follow the Zuul job naming
policy.

Depends-On: https://review.opendev.org/727231
Change-Id: I86a56afcd2cde3a088abcc66c0294424cd03546f
2020-05-13 11:28:17 +00:00

266 lines
7.9 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
required-projects:
- openstack/horizon
- openstack/requirements
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
tox_constraints_file: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt"
- 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_services:
horizon: true
tempest: true
tempest_concurrency: 2
tempest_test_regex: horizon
tempest_plugins:
- tempest-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: horizon-nodejs10-run-lint
parent: nodejs-run-lint
description: |
Run lint using Node 10 for horizon plugins.
vars:
node_version: 10
tox_constraints_file: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt"
nodeset: ubuntu-bionic
required-projects:
- openstack/horizon
- openstack/requirements
- job:
name: horizon-nodejs10-run-test
parent: nodejs-run-test-browser
description: |
Run test using Node 10 for horizon plugins.
vars:
node_version: 10
tox_constraints_file: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt"
nodeset: ubuntu-bionic
required-projects:
- openstack/horizon
- openstack/requirements
- project-template:
name: horizon-nodejs10-jobs
description: |
Run lint and test jobs using Node 10 (LTS) for horizon plugins.
check:
jobs:
- horizon-nodejs10-run-lint
- horizon-nodejs10-run-test
gate:
jobs:
- horizon-nodejs10-run-lint
- horizon-nodejs10-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-run-test-xstatic-master
parent: horizon-nodejs10-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:
- horizon-nodejs10-run-lint:
voting: false
- horizon-nodejs10-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-victoria-jobs(-horizon)
# to keep this project template as it is used in horizon plugins.
- openstack-tox-py38
# NOTE: We keep it as a template even though it is not used now.
# - horizon-tox-python3-django22
gate:
jobs:
- openstack-tox-py38
# - horizon-tox-python3-django22
- project:
templates:
- check-requirements
- horizon-nodejs10-jobs
- horizon-non-primary-django-jobs
- openstack-lower-constraints-jobs
- openstack-python3-victoria-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-run-test-xstatic-master