Added check for release notes
[osm/RO.git] / devops-stages / stage-test.sh
index 69d1fff..9d76107 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-for tox_file in `ls */tox.ini` ; do
-    [ "$tox_file" = "RO-client/tox.ini" ] || [ "$tox_file" = "RO-VIM-vmware/tox.ini" ] ||
-    [ "$tox_file" = "RO-VIM-openvim/tox.ini" ] || [ "$tox_file" = "build/tox.ini" ] && continue
-    echo
-    echo launching "$tox_file"
-    tox -c "$tox_file" --recreate || exit 1
-done
+echo "Launching tox"
+tox --parallel=auto
+
+echo "Checking the presence of release notes ..."
+
+nb_rn=$(git diff --diff-filter=A --name-only HEAD~1 |grep "releasenotes\/notes" |wc -l)
+if [ "${nb_rn}" -lt 1 ]; then
+    echo "The commit needs release notes"
+    echo "Run the following command to generate release notes: tox -e release_notes '<release_note_title>'"
+    echo "Please read README.md for more details"
+    exit 1
+elif [ "${nb_rn}" -gt 1 ]; then
+    echo "Only one release notes file should be added in a commit"
+    exit 1
+fi
+
+echo "OK. Release notes present in commit"