Regenerate stale files before every test that requires them.

These files get automatically updated as post-submit actions, and there's no reason to ever used the checked in versions.  Daily run staleness test verify that those don't go out of date.

PiperOrigin-RevId: 496800868
diff --git a/regenerate_stale_files.sh b/regenerate_stale_files.sh
new file mode 100755
index 0000000..df89061d
--- /dev/null
+++ b/regenerate_stale_files.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# This script runs the staleness tests and uses them to update any stale
+# generated files.
+
+set -ex
+
+# Cd to the repo root.
+cd $(dirname -- "$0")
+
+# Upgrade to a supported gcc version
+sudo add-apt-repository ppa:ubuntu-toolchain-r/test
+sudo apt-get -y update && \
+  sudo apt-get install -y \
+    gcc-7 g++-7
+sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100 --slave /usr/bin/g++ g++ /usr/bin/g++-7
+sudo update-alternatives --set gcc /usr/bin/gcc-7
+
+# Run and fix all staleness tests.
+bazel test //src:cmake_lists_staleness_test || ./bazel-bin/src/cmake_lists_staleness_test --fix
+bazel test //src/google/protobuf:well_known_types_staleness_test || ./bazel-bin/src/google/protobuf/well_known_types_staleness_test --fix