build: update to Fedora 31 and Bazel 2.2.0

Test Plan: CI

X-Origin-Diff: phab/D432
GitOrigin-RevId: 8b9173313e3d7970399e17305b61e3cfd0851a41
diff --git a/WORKSPACE b/WORKSPACE
index f825a90..ddc1af8 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -22,7 +22,7 @@
 
 load("@bazel_skylib//lib:versions.bzl", "versions")
 
-versions.check(minimum_bazel_version = "2.0.0")
+versions.check(minimum_bazel_version = "2.2.0")
 
 # Go and Gazelle
 
diff --git a/build/Dockerfile b/build/Dockerfile
index 7332d90..3be9db4 100644
--- a/build/Dockerfile
+++ b/build/Dockerfile
@@ -3,7 +3,7 @@
 # Do not reference any external files, since modifications to them won't trigger a rebuild.
 #
 
-FROM fedora:30
+FROM fedora:31
 
 RUN dnf -y upgrade && \
     dnf -y install \
@@ -35,15 +35,10 @@
 	nc \
 	python-unversioned-command
 
-# Workaround for a binutils bugs in F30, which generates invalid ELF binaries
-# when linking statically with musl.
-RUN dnf -y install fedora-repos-rawhide && \
-	dnf -y --disablerepo=* --enablerepo=rawhide --releasever=32 upgrade binutils
-
 # Install Bazel binary
 RUN curl -o /usr/local/bin/bazel \
-    https://releases.bazel.build/2.0.0/release/bazel-2.0.0-linux-x86_64 && \
-    echo '4df79462c6c3ecdeeee7af99fc269b52ab1aa4828ef3bc359c1837d3fafeeee7  /usr/local/bin/bazel' | sha256sum --check && \
+    https://releases.bazel.build/2.2.0/release/bazel-2.2.0-linux-x86_64 && \
+    echo 'b2f002ea0e6194a181af6ac84cd94bd8dc797722eb2354690bebac92dda233ff  /usr/local/bin/bazel' | sha256sum --check && \
     chmod +x /usr/local/bin/bazel
 
 # Use a shared Go module cache for gazelle