Add install-build-essential

Gerrit builds also need the autotools and zip.  Add a role to
install those.

Also use the install-nodejs role from upstream zuul-jobs to install
node 10.

Change-Id: Ifb0d485bf1ee577dd832341f6b487fc4fe4d534c
diff --git a/playbooks/gerrit-base/pre.yaml b/playbooks/gerrit-base/pre.yaml
index 09cf16c..71553d0 100644
--- a/playbooks/gerrit-base/pre.yaml
+++ b/playbooks/gerrit-base/pre.yaml
@@ -3,4 +3,7 @@
   roles:
     - ensure-bazelisk
     - ensure-java
+    - role: install-nodejs
+      node_version: 10
+    - install-build-essential
     - prepare-gerrit-repos
diff --git a/playbooks/test-install-build-essential.yaml b/playbooks/test-install-build-essential.yaml
new file mode 100644
index 0000000..21686e3
--- /dev/null
+++ b/playbooks/test-install-build-essential.yaml
@@ -0,0 +1,8 @@
+- hosts: all
+  roles:
+    - install-build-essential
+  tasks:
+    - name: Run gcc
+      command: gcc --version
+    - name: Run zip
+      command: zip
diff --git a/roles/install-build-essential/README.rst b/roles/install-build-essential/README.rst
new file mode 100644
index 0000000..47ba55b
--- /dev/null
+++ b/roles/install-build-essential/README.rst
@@ -0,0 +1,3 @@
+Install essential build packages
+
+This installs miscellaneous packages needed for building software.
diff --git a/roles/install-build-essential/tasks/main.yaml b/roles/install-build-essential/tasks/main.yaml
new file mode 100644
index 0000000..a83517c
--- /dev/null
+++ b/roles/install-build-essential/tasks/main.yaml
@@ -0,0 +1,7 @@
+- name: Install essential build packages
+  become: true
+  package:
+    name:
+      - build-essential
+      - zip
+    state: present
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 83cf94c..3645f44 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -4,3 +4,4 @@
         - test-ensure-bazelisk
         - test-ensure-java
         - test-gerrit-base
+        - test-install-build-essential
diff --git a/zuul.d/test-jobs.yaml b/zuul.d/test-jobs.yaml
index 8dfdea9..62211bc 100644
--- a/zuul.d/test-jobs.yaml
+++ b/zuul.d/test-jobs.yaml
@@ -24,6 +24,14 @@
       - playbooks/test-ensure-java.yaml
 
 - job:
+    name: test-install-build-essential
+    run: playbooks/test-install-build-essential.yaml
+    nodeset: temp-debian
+    files:
+      - roles/install-build-essential/.*
+      - playbooks/test-install-build-essential.yaml
+
+- job:
     name: test-gerrit-base
     parent: gerrit-base
     run: playbooks/test-gerrit-base.yaml
@@ -32,4 +40,5 @@
       - roles/ensure-bazelisk/.*
       - roles/ensure-java/.*
       - roles/prepare-gerrit-repos/.*
+      - roles/install-build-essential/.*
       - playbooks/test-gerrit-base.yaml