forked from friendica/friendica-addons
49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
name: Transifex
|
|
on: [pull_request]
|
|
|
|
jobs:
|
|
messages:
|
|
name: Check messages.po changes
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install gettext
|
|
run: sudo apt-get install gettext
|
|
|
|
- name: Checkout Friendica Base
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: 'friendica/friendica'
|
|
ref: ${{ github.base_ref }}
|
|
|
|
- name: Checkout current Friendica Addons
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: 'addon'
|
|
|
|
- name: Get changed files
|
|
id: changes
|
|
uses: jitterbit/get-changed-files@v1
|
|
|
|
- name: Run Xgettext for each changed addon
|
|
run: |
|
|
addon_files=(${{ steps.changes.outputs.all }})
|
|
find_result=$(printf "%s\n" "${addon_files[@]}" | sed '/^\./d' | cut -d "/" -f1 | uniq)
|
|
for addon in $find_result
|
|
do
|
|
./bin/run_xgettext.sh --addon $addon
|
|
done
|
|
|
|
- name: Check if messages.po needs an update
|
|
run: |
|
|
echo "::group::Check messages.po"
|
|
# Skip all lines of the git diff starting with "@@" or comments or starting "POT-Creation-Date"
|
|
cd addon/
|
|
if [[ $(git diff -U0 "**/messages.po" | awk '!/index|diff|\-\-\-|\+\+\+|@@|\-"POT-Creation-Date|\+"POT-Creation-Date|\+#|\-#/{print }' | wc -l) > 0 ]]; then
|
|
echo "::error file=messages.po::messages.po is out of date"
|
|
exit 1
|
|
else
|
|
echo "Nothing to update"
|
|
fi
|
|
echo "::endgroup::"
|
|
shell: bash
|