Add ensure-cws-upload role

Change-Id: Ic01afc6ff0200b6cef873fb81a805bfb8454f0a8
diff --git a/playbooks/test-ensure-cws-upload.yaml b/playbooks/test-ensure-cws-upload.yaml
new file mode 100644
index 0000000..9fc12a5
--- /dev/null
+++ b/playbooks/test-ensure-cws-upload.yaml
@@ -0,0 +1,6 @@
+- hosts: all
+  roles:
+    - ensure-cws-upload
+  tasks:
+    - name: Print chrome-webstore-upload help
+      command: chrome-webstore-upload --help
diff --git a/roles/ensure-cws-upload/defaults/main.yaml b/roles/ensure-cws-upload/defaults/main.yaml
new file mode 100644
index 0000000..8b7c362
--- /dev/null
+++ b/roles/ensure-cws-upload/defaults/main.yaml
@@ -0,0 +1 @@
+version: latest
diff --git a/roles/ensure-cws-upload/tasks/main.yaml b/roles/ensure-cws-upload/tasks/main.yaml
new file mode 100644
index 0000000..bf99440
--- /dev/null
+++ b/roles/ensure-cws-upload/tasks/main.yaml
@@ -0,0 +1,7 @@
+- name: Ensure NodeJS is installed
+  include_role:
+    name: ensure-nodejs
+  vars:
+    node_version: 16
+- name: Install chrome-webstore-upload-cli
+  command: "npm install --global chrome-webstore-upload-cli@{{ version }}"
diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index b1608d1..6f0b989 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -5,3 +5,4 @@
         - test-ensure-web-ext
         - test-install-build-essential
         - test-ensure-genmanifest
+        - test-ensure-cws-upload
diff --git a/zuul.d/test-jobs.yaml b/zuul.d/test-jobs.yaml
index 723283e..4221995 100644
--- a/zuul.d/test-jobs.yaml
+++ b/zuul.d/test-jobs.yaml
@@ -17,3 +17,9 @@
     run: playbooks/test-ensure-genmanifest.yaml
     files:
       - roles/ensure-genmanifest/.*
+
+- job:
+    name: test-ensure-cws-upload
+    run: playbooks/test-ensure-cws-upload.yaml
+    files:
+      - roles/ensure-cws-upload/.*