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.
pull/9567/head
Andrew Morgan 2021-03-09 11:11:42 +00:00 committed by GitHub
parent 9898470e7d
commit 22db45bd4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

1
changelog.d/9562.misc Normal file
View File

@ -0,0 +1 @@
Fix spurious errors reported by the `config-lint.sh` script.

View File

@ -2,9 +2,14 @@
# Find linting errors in Synapse's default config file. # Find linting errors in Synapse's default config file.
# Exits with 0 if there are no problems, or another code otherwise. # 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 # Fix non-lowercase true/false values
sed -i.bak -E "s/: +True/: true/g; s/: +False/: false/g;" docs/sample_config.yaml 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 # Check if anything changed
git diff --exit-code docs/sample_config.yaml diff docs/sample_config.yaml docs/sample_config.yaml.bak