]> git.mxchange.org Git - friendica-addons.git/blob - workflows/transifex.yml
Merge branch '3.6-release'
[friendica-addons.git] / workflows / transifex.yml
1 name: Transifex
2 on: [pull_request]
3
4 jobs:
5   messages:
6     name: Check messages.po changes
7     runs-on: ubuntu-latest
8     steps:
9       - name: Install gettext
10         run: sudo apt-get install gettext
11
12       - name: Checkout Friendica Base
13         uses: actions/checkout@v2
14         with:
15           repository: 'friendica/friendica'
16           ref: ${{ github.base_ref }}
17
18       - name: Checkout current Friendica Addons
19         uses: actions/checkout@v2
20         with:
21           path: 'addon'
22
23       - name: Get changed files
24         id: changes
25         uses: jitterbit/get-changed-files@v1
26
27       - name: Run Xgettext for each changed addon
28         run: |
29           addon_files=(${{ steps.changes.outputs.all }})
30           find_result=$(printf "%s\n" "${addon_files[@]}" | sed '/^\./d' | cut -d "/" -f1 | uniq)
31           for addon in $find_result
32           do
33             ./bin/run_xgettext.sh --addon $addon
34           done
35
36       - name: Check if messages.po needs an update
37         run: |
38           echo "::group::Check messages.po"
39           # Skip all lines of the git diff starting with "@@" or comments or starting "POT-Creation-Date"
40           cd addon/
41           if [[ $(git diff -U0 "**/messages.po" | awk '!/index|diff|\-\-\-|\+\+\+|@@|\-"POT-Creation-Date|\+"POT-Creation-Date|\+#|\-#/{print }' | wc -l) > 0 ]]; then
42             echo "::error file=messages.po::messages.po is out of date"
43             exit 1
44           else
45             echo "Nothing to update"
46           fi
47           echo "::endgroup::"
48         shell: bash