mirror of
https://github.com/Luzifer/ots.git
synced 2024-12-18 03:54:38 -05:00
Add tool to update translations in PRs
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
8d29e5f6ed
commit
ce5a61d69e
65
ci/pr-regen-translations.sh
Executable file
65
ci/pr-regen-translations.sh
Executable file
@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
files=(
|
||||||
|
i18n.yaml
|
||||||
|
src/langs/langs.js
|
||||||
|
)
|
||||||
|
translation_branch=upd-translate
|
||||||
|
|
||||||
|
function log() {
|
||||||
|
echo "$@" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
PR_REMOTE_URL=${1:-}
|
||||||
|
[[ -n $PR_REMOTE_URL ]] || {
|
||||||
|
log "Usage: $(basename $0) <github branch URL i.e. https://github.com/Luzifer/ots/tree/translate-de>"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
remote="$(cut -d '/' -f 1-5 <<<"${PR_REMOTE_URL}").git"
|
||||||
|
branch=$(cut -d '/' -f 7 <<<"${PR_REMOTE_URL}")
|
||||||
|
|
||||||
|
git diff --exit-code >/dev/null || {
|
||||||
|
log "FATAL: Local changes detected, stopping now."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
switch_back_branch=$(git branch --show-current)
|
||||||
|
trap "git switch ${switch_back_branch}" EXIT
|
||||||
|
|
||||||
|
log "Updating branch '${branch}' of remote '${remote}'..."
|
||||||
|
|
||||||
|
log "+ Fetching remote..."
|
||||||
|
git fetch "${remote}" "${branch}"
|
||||||
|
|
||||||
|
log "+ Creating work-branch..."
|
||||||
|
if git branch | grep -q ${translation_branch}; then
|
||||||
|
git branch -D ${translation_branch}
|
||||||
|
fi
|
||||||
|
git branch ${translation_branch} FETCH_HEAD
|
||||||
|
|
||||||
|
log "+ Switching to work-branch..."
|
||||||
|
git switch ${translation_branch}
|
||||||
|
|
||||||
|
log "+ Updating translations..."
|
||||||
|
make translate
|
||||||
|
|
||||||
|
if git diff --exit-code "${files[@]}" >/dev/null; then
|
||||||
|
log "No changed introduced, stopping now."
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "+ Committing changes..."
|
||||||
|
git add "${files[@]}"
|
||||||
|
git commit -m 'CI: Update embedded translations'
|
||||||
|
|
||||||
|
log "+ Please review these changes:"
|
||||||
|
git show
|
||||||
|
|
||||||
|
log "[Enter] to continue, [Ctrl+C] to cancel..."
|
||||||
|
read
|
||||||
|
|
||||||
|
log "+ Updating remote branch..."
|
||||||
|
git push ${remote} ${translation_branch}:${branch}
|
||||||
|
|
||||||
|
log "Updated remote PR, switching back to previous branch..."
|
Loading…
Reference in New Issue
Block a user