Add ensure-genmanifest role

Change-Id: Ifebf9da8cd8eeaa9cec621e490064a0f935ddbe0
diff --git a/playbooks/test-ensure-genmanifest.yaml b/playbooks/test-ensure-genmanifest.yaml
new file mode 100644
index 0000000..3dbc5b8
--- /dev/null
+++ b/playbooks/test-ensure-genmanifest.yaml
@@ -0,0 +1,6 @@
+- hosts: all
+  roles:
+    - ensure-genmanifest
+  tasks:
+    - name: Print genmanifest help
+      command: $HOME/go/bin/genmanifest --help
diff --git a/roles/ensure-genmanifest/defaults/main.yaml b/roles/ensure-genmanifest/defaults/main.yaml
new file mode 100644
index 0000000..a17151d
--- /dev/null
+++ b/roles/ensure-genmanifest/defaults/main.yaml
@@ -0,0 +1,2 @@
+---
+genmanifest_version: latest
diff --git a/roles/ensure-genmanifest/tasks/main.yaml b/roles/ensure-genmanifest/tasks/main.yaml
new file mode 100644
index 0000000..2732814
--- /dev/null
+++ b/roles/ensure-genmanifest/tasks/main.yaml
@@ -0,0 +1,10 @@
+- name: Ensure Go is installed
+  include_role:
+    name: ensure-go
+  vars:
+    go_version: 1.16
+- name: Install genmanifest
+  include_role:
+    name: go
+  vars:
+    go_command: "install gomodules.avm99963.com/webext/genmanifest@{{ genmanifest_version }}"
diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index e4d7397..b1608d1 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -4,3 +4,4 @@
       jobs:
         - test-ensure-web-ext
         - test-install-build-essential
+        - test-ensure-genmanifest
diff --git a/zuul.d/test-jobs.yaml b/zuul.d/test-jobs.yaml
index b7d3a37..723283e 100644
--- a/zuul.d/test-jobs.yaml
+++ b/zuul.d/test-jobs.yaml
@@ -11,3 +11,9 @@
     run: playbooks/test-install-build-essential.yaml
     files:
       - roles/install-build-essential/.*
+
+- job:
+    name: test-ensure-genmanifest
+    run: playbooks/test-ensure-genmanifest.yaml
+    files:
+      - roles/ensure-genmanifest/.*