summaryrefslogtreecommitdiff
path: root/.zuul.d
diff options
context:
space:
mode:
authorAkihiro Motoki <amotoki@gmail.com>2020-06-24 17:33:06 +0900
committerAkihiro Motoki <amotoki@gmail.com>2020-06-24 17:33:06 +0900
commitef1270167b1a35c19cee1009a3d07485d2681e8e (patch)
treeedee8571a64da9ddd468e77362c004b636d95f84 /.zuul.d
parent827365753886025dc62fbfbed179ef719d313711 (diff)
downloadhorizon-ef1270167b1a35c19cee1009a3d07485d2681e8e.tar.gz
zuul: break down config files into pieces
Our .zuul.yaml is long enough now. Let's split it into meaningful pieces for better readability. Change-Id: I53daefd95946d19d8f4f5845f0e83bf652c3a9aa
Diffstat (limited to '.zuul.d')
-rw-r--r--.zuul.d/base.yaml30
-rw-r--r--.zuul.d/django-jobs.yaml46
-rw-r--r--.zuul.d/nodejs-jobs.yaml51
-rw-r--r--.zuul.d/project.yaml29
-rw-r--r--.zuul.d/tempest-and-integrated.yaml69
-rw-r--r--.zuul.d/xstatic-master.yaml37
6 files changed, 262 insertions, 0 deletions
diff --git a/.zuul.d/base.yaml b/.zuul.d/base.yaml
new file mode 100644
index 000000000..f6aa71360
--- /dev/null
+++ b/.zuul.d/base.yaml
@@ -0,0 +1,30 @@
+- job:
+ name: horizon-openstack-tox-base
+ parent: openstack-tox
+ irrelevant-files:
+ - ^.*\.rst$
+ - ^doc/.*$
+ - ^releasenotes/.*$
+ - ^.*/locale/.*$
+
+- job:
+ name: horizon-selenium-headless
+ parent: horizon-openstack-tox-base
+ pre-run: playbooks/horizon-selenium-headless/pre.yaml
+ vars:
+ tox_envlist: selenium-headless
+
+- 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/.*$
diff --git a/.zuul.d/django-jobs.yaml b/.zuul.d/django-jobs.yaml
new file mode 100644
index 000000000..46391ba74
--- /dev/null
+++ b/.zuul.d/django-jobs.yaml
@@ -0,0 +1,46 @@
+- 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'
+
+- 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
diff --git a/.zuul.d/nodejs-jobs.yaml b/.zuul.d/nodejs-jobs.yaml
new file mode 100644
index 000000000..8c4abebb0
--- /dev/null
+++ b/.zuul.d/nodejs-jobs.yaml
@@ -0,0 +1,51 @@
+- 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
+ pre-run: playbooks/horizon-nodejs/pre.yaml
+ 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"
+ pre-run: playbooks/horizon-nodejs/pre.yaml
+ 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
+
+- 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
diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml
new file mode 100644
index 000000000..8b8572edd
--- /dev/null
+++ b/.zuul.d/project.yaml
@@ -0,0 +1,29 @@
+- 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
diff --git a/.zuul.d/tempest-and-integrated.yaml b/.zuul.d/tempest-and-integrated.yaml
new file mode 100644
index 000000000..5457094ee
--- /dev/null
+++ b/.zuul.d/tempest-and-integrated.yaml
@@ -0,0 +1,69 @@
+- 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
diff --git a/.zuul.d/xstatic-master.yaml b/.zuul.d/xstatic-master.yaml
new file mode 100644
index 000000000..47c366ea6
--- /dev/null
+++ b/.zuul.d/xstatic-master.yaml
@@ -0,0 +1,37 @@
+- 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