From 22db45bd4d567832d26f10ee2e104f1e886576b3 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Date: Tue, 9 Mar 2021 11:11:42 +0000 Subject: [PATCH] Prevent the config-lint script erroring out on any sample_config changes (#9562) I noticed that I'd occasionally have `scripts-dev/lint.sh` fail when messing about with config options in my PR. The script calls `scripts-dev/config-lint.sh`, which attempts some validation on the sample config. It does this by using `sed` to edit the sample_config, and then seeing if the file changed using `git diff`. The problem is: if you changed the sample_config as part of your commit, this script will error regardless. This PR attempts to change the check so that existing, unstaged changes to the sample_config will not cause the script to report an invalid file. --- changelog.d/9562.misc | 1 + scripts-dev/config-lint.sh | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 changelog.d/9562.misc diff --git a/changelog.d/9562.misc b/changelog.d/9562.misc new file mode 100644 index 0000000000..2f0133bff0 --- /dev/null +++ b/changelog.d/9562.misc @@ -0,0 +1 @@ +Fix spurious errors reported by the `config-lint.sh` script. \ No newline at end of file diff --git a/scripts-dev/config-lint.sh b/scripts-dev/config-lint.sh index 189ca66535..9132160463 100755 --- a/scripts-dev/config-lint.sh +++ b/scripts-dev/config-lint.sh @@ -2,9 +2,14 @@ # Find linting errors in Synapse's default config file. # Exits with 0 if there are no problems, or another code otherwise. +# cd to the root of the repository +cd `dirname $0`/.. + +# Restore backup of sample config upon script exit +trap "mv docs/sample_config.yaml.bak docs/sample_config.yaml" EXIT + # Fix non-lowercase true/false values sed -i.bak -E "s/: +True/: true/g; s/: +False/: false/g;" docs/sample_config.yaml -rm docs/sample_config.yaml.bak # Check if anything changed -git diff --exit-code docs/sample_config.yaml +diff docs/sample_config.yaml docs/sample_config.yaml.bak