summary refs log tree commit diff
path: root/scripts-dev/config-lint.sh
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2021-03-09 11:11:42 +0000
committerGitHub <noreply@github.com>2021-03-09 11:11:42 +0000
commit22db45bd4d567832d26f10ee2e104f1e886576b3 (patch)
tree63c5e4af28322bfb14935bace7c0619469cd0936 /scripts-dev/config-lint.sh
parentAdd logging to ObservableDeferred callbacks (#9523) (diff)
downloadsynapse-22db45bd4d567832d26f10ee2e104f1e886576b3.tar.xz
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.
Diffstat (limited to 'scripts-dev/config-lint.sh')
-rwxr-xr-xscripts-dev/config-lint.sh9
1 files changed, 7 insertions, 2 deletions
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