48 lines
1.4 KiB
YAML
48 lines
1.4 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: 'addons'
|
||
|
|
||
|
- name: Get changed files
|
||
|
id: changes
|
||
|
uses: jitterbit/get-changed-files@v1
|
||
|
|
||
|
- name: Run Xgettext for each changed addon
|
||
|
run: |
|
||
|
find_result="$(${{ steps.changes.outputs.all }} | 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 addons/
|
||
|
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
|