]> granicus.if.org Git - esp-idf/commitdiff
Introduced a CI check if folders with localized documentation are in sync, i.e. if...
authorkrzychb <krzychb@gazeta.pl>
Fri, 16 Mar 2018 06:54:58 +0000 (07:54 +0100)
committerkrzychb <krzychb@gazeta.pl>
Fri, 16 Mar 2018 06:54:58 +0000 (07:54 +0100)
.gitlab-ci.yml
docs/check_lang_folder_sync.sh [new file with mode: 0755]

index ea4323ac194b319f3bfd741d56d2cd925fb1a57f..f98f2b9707919af007d9811c31374363d18ea9d9 100644 (file)
@@ -208,7 +208,9 @@ build_docs:
       - docs/zh_CN/_build/html
     expire_in: 1 mos
   script:
-    - cd docs/en
+    - cd docs
+    - ./check_lang_folder_sync.sh
+    - cd en
     - make gh-linkcheck
     - make html
     - ../check_doc_warnings.sh
diff --git a/docs/check_lang_folder_sync.sh b/docs/check_lang_folder_sync.sh
new file mode 100755 (executable)
index 0000000..96de999
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Check if folders with localized documentation are in sync
+#
+# 1. Traverse each folder with language version and generate a sorted list
+#    of all the files inside
+# 2. Compare the sorted lists of files and flag differences
+#
+# Note:
+# All differences between folders with language versions should be resolved
+# before releasing documentation
+#
+
+RESULT=0
+STARS='***************************************************'
+
+find en -type f | cut -d/ -f2- | sort > file_list_en
+find zh_CN -type f | cut -d/ -f2- | sort > file_list_zh_CN
+
+# format is to display new or different filenames
+DIFF_FORMAT="--unchanged-line-format= --old-line-format=[en]:%L --new-line-format=[zh_CN]:%L"
+
+FOLDER_DIFFERENCES=$(diff $DIFF_FORMAT file_list_en file_list_zh_CN)
+if ! [ -z "$FOLDER_DIFFERENCES" ]; then
+    echo "$STARS"
+    echo "Build failed due to the following differences in 'en' and 'zh_CN' folders:"
+    echo "$FOLDER_DIFFERENCES"
+    echo "$STARS"
+    echo "Please synchronize contents of 'en' and 'zh_CN' folders to contain files with identical names"
+    RESULT=1
+fi
+
+# remove temporary files
+rm file_list_en file_list_zh_CN
+
+exit $RESULT