mirror of
https://github.com/azlux/botamusique
synced 2024-11-23 13:56:17 +00:00
60 lines
2.0 KiB
Bash
Executable File
60 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
git remote set-url origin https://azlux:$GITHUB_API@github.com/azlux/botamusique/
|
|
git pull origin master
|
|
|
|
echo "=> Checking if translations in this commit differ from the server..."
|
|
|
|
git branch testing-translation master
|
|
git checkout testing-translation
|
|
$SOURCE_DIR/scripts/sync_translation.py --lang-dir $SOURCE_DIR/lang/ --client $TRADUORA_R_CLIENT --secret $TRADUORA_R_SECRET --fetch
|
|
|
|
if [ -z "$(git diff)" ]; then
|
|
echo "==> No difference found."
|
|
exit 0
|
|
fi
|
|
|
|
echo "==> Modifications found."
|
|
echo "=> Check if the modifications are based on the translations on the server..."
|
|
|
|
n=1
|
|
COMMON_FOUND=false
|
|
|
|
while [ $n -le 20 ]; do
|
|
echo "==> Comparing server's translations with master~$n ($(git show --oneline --quiet master~$n))"
|
|
CHANGED_LANG_FILE=$(git diff --name-only master~$n | grep "lang/" || true)
|
|
if [ -z "$CHANGED_LANG_FILE" ]; then
|
|
COMMON_FOUND=true
|
|
break
|
|
else
|
|
echo "==> Modified lang files: $CHANGED_LANG_FILE"
|
|
fi
|
|
(( n++ ))
|
|
done
|
|
|
|
if (! $COMMON_FOUND); then
|
|
echo "==> CONFLICTS: Previous commits doesn't share the same translations with the server."
|
|
echo " There are unmerged translation updates on the server."
|
|
echo " Please manually update these changes or wait for the pull request"
|
|
echo " created by the translation bot get merged."
|
|
exit 1
|
|
fi
|
|
|
|
echo "==> master~$n ($(git show --oneline --quiet master~$n)) shares the same translations with the server."
|
|
|
|
echo "=> Preparing to push local translation updates to the server..."
|
|
git checkout -f master
|
|
$SOURCE_DIR/scripts/sync_translation.py --lang-dir $SOURCE_DIR/lang/ --client $TRADUORA_W_CLIENT --secret $TRADUORA_W_SECRET --push
|
|
|
|
echo "=> Fix translation format..."
|
|
$SOURCE_DIR/scripts/sync_translation.py --lang-dir $SOURCE_DIR/lang/ --client $TRADUORA_R_CLIENT --secret $TRADUORA_R_SECRET --fetch
|
|
git add lang/*
|
|
git status
|
|
if GIT_COMMITTER_NAME='Traduora Bot' GIT_COMMITTER_EMAIL='noreply@azlux.fr' git commit -m 'Bot: Reformat translation'; then
|
|
git push origin master
|
|
fi
|
|
|
|
exit 0
|