Zuul: Run small tasks on small build VMs

An extra job for f31 coverage is needed because it refers to specific
job names -- and these hardcode platform on our system.

Change-Id: I9446685122c8e4d2d1d7060719a55e65dce50362
diff --git a/zuul.yaml b/zuul.yaml
index 937f8bb..2db7a78 100644
--- a/zuul.yaml
+++ b/zuul.yaml
@@ -91,6 +91,33 @@
       coverage_job_name_previous: f29-gcc-cover-previous
       coverage_job_name_current: f29-gcc-cover
 
+# TODO: this should be renamed and replace cpp-coverage-diff once we no longer have Fedora 29
+- job:
+    name: f31-cpp-coverage-diff
+    description: |
+      Report how coverage changed compared to the previous state of the repo.
+    nodeset:
+      nodes:
+        - name: w
+          label: f31-small
+    timeout: 120
+    pre-run: playbooks/coverage-diff/prepare.yaml
+    run: playbooks/coverage-diff/generate.yaml
+    post-run: playbooks/coverage-diff/upload-diff.yaml
+    success-url: coverage-diff.html
+    failure-url: coverage-diff.html
+    requires:
+      - coverage-f31-gcc-old
+      - coverage-f31-gcc-new
+    dependencies:
+      - f31-gcc-cover
+      - f31-gcc-cover-previous
+    vars:
+      previous_source_prefix: "{{ ansible_user_dir }}/previous-src"
+      coverage_xml_dir: "{{ zuul.project.src_dir }}/cover"
+      coverage_job_name_previous: f31-gcc-cover-previous
+      coverage_job_name_current: f31-gcc-cover
+
 - job:
     name: f29-gcc-asan
     description: |
@@ -135,8 +162,8 @@
     failure-url: git-clang-format.patch
     nodeset:
       nodes:
-        - name: w
-          label: f29
+        - name: bld
+          label: f31-small
     timeout: 120
 
 - job: