friendica-addons/.github/workflows/transifex.yml

48 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