diff options
-rw-r--r-- | .gitlab-ci.yml | 16 | ||||
-rwxr-xr-x | tools/check-for-json-errors-in-doc.sh | 20 |
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} |