mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
[MM-17703] Diff config files (#11898)
This commit is contained in:
committed by
Ben Schumacher
parent
6aa7442e43
commit
782375f5c7
53
scripts/diff-config.sh
Executable file
53
scripts/diff-config.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
jq_cmd=jq
|
||||
[[ $(type -P "$jq_cmd") ]] || {
|
||||
echo "'$jq_cmd' command line JSON processor not found";
|
||||
echo "Please install on linux with 'sudo apt-get install jq'"
|
||||
echo "Please install on mac with 'brew install jq'"
|
||||
exit 1;
|
||||
}
|
||||
|
||||
if [ -z "$FROM" ]
|
||||
then
|
||||
echo "Missing FROM version. Usage: make diff-config FROM=1.1.1 TO=2.2.2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$TO" ]
|
||||
then
|
||||
echo "Missing TO version. Usage: make diff-config FROM=1.1.1 TO=2.2.2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Returns the config file for a specific release
|
||||
fetch_config() {
|
||||
local url="https://releases.mattermost.com/$1/mattermost-$1-linux-amd64.tar.gz"
|
||||
curl -sf "$url" | tar -xzOf - mattermost/config/config.json | jq -S .
|
||||
}
|
||||
|
||||
echo Fetching config files
|
||||
from_config="$(fetch_config "$FROM")"
|
||||
if [ -z "$from_config" ]
|
||||
then
|
||||
echo Invalid version "$FROM"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
to_config=$(fetch_config "$TO")
|
||||
if [ -z "$to_config" ]
|
||||
then
|
||||
echo Invalid version "$TO"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo Comparing config files
|
||||
diff -y <(echo "$from_config") <(echo "$to_config")
|
||||
|
||||
# We ignore exits with 1 since it just means there's a difference, which is fine for us.
|
||||
diff_exit=$?
|
||||
if [ $diff_exit -eq 1 ]; then
|
||||
exit 0
|
||||
else
|
||||
exit $diff_exit
|
||||
fi
|
||||
Reference in New Issue
Block a user