summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml16
-rwxr-xr-xtools/check-for-json-errors-in-doc.sh20
2 files changed, 28 insertions, 8 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ccf25abb41..80d6b963fc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -112,6 +112,16 @@ shellcheck:
- SCRIPTS+="tools/tests_in_valgrind.sh "
- shellcheck ${SCRIPTS} ${SHELLCHECK_OPTS}
+are-database-scripts-in-sync:
+ stage: test
+ script:
+ - ./src/share/database/scripts/utils/are-scripts-in-sync.py
+
+check-for-json-errors-in-doc:
+ stage: test
+ script:
+ - ./tools/check-for-json-errors-in-doc.sh
+
danger:
stage: test
before_script:
@@ -122,12 +132,6 @@ danger:
script:
- danger --fail-on-errors=true --new-comment
-dhcpdb_create-upgrade-consistency:
- allow_failure: false
- stage: test
- script:
- - ./src/share/database/scripts/utils/are-scripts-in-sync.py
-
duplicate-includes:
stage: test
script:
diff --git a/tools/check-for-json-errors-in-doc.sh b/tools/check-for-json-errors-in-doc.sh
index b8c96a4984..a748cfb07d 100755
--- a/tools/check-for-json-errors-in-doc.sh
+++ b/tools/check-for-json-errors-in-doc.sh
@@ -1,14 +1,26 @@
#!/bin/bash
+
+# Usage:
+# check-for-json-errors-in-doc.sh [--all] [<file1>, <file2>, ...]
+
# Change directory to the root of the repository.
script_path=$(cd "$(dirname "${0}")" && pwd)
cd "${script_path}/.."
+
# Parse parameters.
if test ${#} -gt 0; then
- files="${*}"
+ if test "${1}" = '--all'; then
+ files='doc src'
+ else
+ files="${*}"
+ fi
else
- files='doc src'
+ # By default, check only modified files.
+ files=$(git diff --name-only $(git merge-base origin/master HEAD))
fi
+exit_code=0
+
# Get the files.
files=$(find ${files} -type f \( -name '*.rst' -or -name '*.json' \) -and -not -path '*/_build/*' -and -not -path '*/man/*' | sort)
work_file=$(mktemp)
@@ -48,6 +60,7 @@ for file in $files; do
echo "===start of JSON block==="
cat $work_file
echo "====end of JSON block===="
+ exit_code=1
fi
fi
if [ $comment -eq 0 -a $json -eq 1 ]; then
@@ -86,7 +99,10 @@ for file in $files; do
echo "===start of JSON block==="
cat $work_file
echo "====end of JSON block===="
+ exit_code=1
fi
fi
done
rm $work_file
+
+exit ${exit_code}