From 60692f56d264e352d71a50928486641ddad4a20e Mon Sep 17 00:00:00 2001 From: manchandavishal Date: Fri, 4 Mar 2022 17:30:07 +0530 Subject: [PATCH] Setup project template for nodejs v16 jobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch defines a project template "horizon-nodejs-jobs" for nodejs v16 jobs which is the next LTS version of nodejs[1] and also, the runtime for the Zed cycle[2]. Next step is to the horizon plugins use this template to run nodejs v16 jobs and once it's pass in all horizon plugins we can remove nodejs v14 jobs completely. This patch also do few cleaups: • remove nodejs v14 job to run on horizon gate because we don't need to run both nodejs v14 and nodejs v16 jobs for horizon. • replace nodejs v14 experimental xstatic job with nodejs v16 job. • replace horizon-nodejs14-run-test periodic job with nodejs v16. [1] https://nodejs.org/en/about/releases/ [2] https://governance.openstack.org/tc/reference/runtimes/zed.html#node-js-runtime-for-zed Depends-On: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/831912 Change-Id: Ic11f2c3bd7a6a09c8fa6fb7a457e83e889deed6b --- .zuul.d/nodejs-jobs.yaml | 46 +++++++++++++++++++++++++++++++++++++ .zuul.d/project.yaml | 6 ++--- .zuul.d/xstatic-master.yaml | 4 ++-- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/.zuul.d/nodejs-jobs.yaml b/.zuul.d/nodejs-jobs.yaml index f9f56b2f07..ab371c28f0 100644 --- a/.zuul.d/nodejs-jobs.yaml +++ b/.zuul.d/nodejs-jobs.yaml @@ -26,6 +26,34 @@ - openstack/horizon - openstack/requirements +- job: + name: horizon-nodejs16-run-lint + parent: nodejs-run-lint + description: | + Run lint using Node 16 for horizon plugins. + vars: + node_version: 16 + tox_constraints_file: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt" + nodeset: ubuntu-focal + pre-run: playbooks/horizon-nodejs/pre.yaml + required-projects: + - openstack/horizon + - openstack/requirements + +- job: + name: horizon-nodejs16-run-test + parent: nodejs-run-test-browser + description: | + Run test using Node 16 for horizon plugins. + vars: + node_version: 16 + 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-focal + required-projects: + - openstack/horizon + - openstack/requirements + - project-template: name: horizon-nodejs14-jobs description: | @@ -49,3 +77,21 @@ voting: false - horizon-nodejs14-run-test: voting: false + +- project-template: + name: horizon-nodejs-jobs + description: | + This project template is defined to run lint and test jobs using + Node LTS version (i.e. 16 now) for horizon plugins. horizon plugins + can use this template to run nodejs jobs. So if we want to update + nodejs version in horizon plugins we can update this template to use + the job with the latest node version and not many changes are required + in the horizon plugins side. + check: + jobs: + - horizon-nodejs16-run-lint + - horizon-nodejs16-run-test + gate: + jobs: + - horizon-nodejs16-run-lint + - horizon-nodejs16-run-test diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml index 8320597e03..dcbbed9083 100644 --- a/.zuul.d/project.yaml +++ b/.zuul.d/project.yaml @@ -2,7 +2,7 @@ templates: - check-requirements - horizon-cross-jobs - - horizon-nodejs14-jobs + - horizon-nodejs-jobs - horizon-non-primary-django-jobs - openstack-lower-constraints-jobs - openstack-python3-yoga-jobs @@ -27,8 +27,8 @@ jobs: - horizon-integration-tests-xstatic-master - horizon-tox-py36-xstatic-master - - horizon-nodejs14-run-test-xstatic-master + - horizon-nodejs16-run-test-xstatic-master periodic: jobs: - - horizon-nodejs14-run-test + - horizon-nodejs16-run-test - horizon-integration-tests diff --git a/.zuul.d/xstatic-master.yaml b/.zuul.d/xstatic-master.yaml index bf4e370009..0482fe88c0 100644 --- a/.zuul.d/xstatic-master.yaml +++ b/.zuul.d/xstatic-master.yaml @@ -31,7 +31,7 @@ required-projects: *xstatic-projects - job: - name: horizon-nodejs14-run-test-xstatic-master - parent: horizon-nodejs14-run-test + name: horizon-nodejs16-run-test-xstatic-master + parent: horizon-nodejs16-run-test required-projects: *xstatic-projects pre-run: playbooks/npm-test-xstatic-master/pre.yaml