Add //infra/config/PRESUBMIT.py.

This should catch problems with CLs where we've updated main.star
but not regenerated the actual LUCI config files.

Change-Id: Ib07c74ae584842ae6dc6aeea37835fe65aea96a0
Reviewed-on: https://chromium-review.googlesource.com/c/experimental/website/+/3258007
Reviewed-by: Struan Shrimpton <sshrimp@google.com>
Commit-Queue: Dirk Pranke <dpranke@google.com>
diff --git a/infra/config/PRESUBMIT.py b/infra/config/PRESUBMIT.py
new file mode 100644
index 0000000..122c2fa
--- /dev/null
+++ b/infra/config/PRESUBMIT.py
@@ -0,0 +1,22 @@
+# Copyright 2021 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Enforces generated //infra/config files are up to date.
+
+See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
+for more details on the presubmit API built into depot_tools.
+"""
+
+PRESUBMIT_VERSION = '2.0.0'
+USE_PYTHON3 = True
+
+
+def CheckLucicfgGenOutputMain(input_api, output_api):
+  return input_api.RunTests(input_api.canned_checks.CheckLucicfgGenOutput(
+      input_api, output_api, 'main.star'))
+
+
+def CheckChangedLUCIConfigs(input_api, output_api):
+  return input_api.canned_checks.CheckChangedLUCIConfigs(
+      input_api, output_api)