--- name: Translations Upload # yamllint disable-line rule:truthy on: workflow_dispatch: workflow_run: workflows: ["Repository Updater"] branches: [master] types: - completed jobs: upload: name: Upload Translations runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v2.3.4 - name: ๐Ÿ— Set up yq uses: frenck/action-setup-yq@v1.0.0 - name: ๐Ÿ— Set up the Lokalise CLI uses: frenck/action-setup-lokalise@v1.0.0 - name: ๐Ÿš€ Combine translations run: | addons=$(yq e '.addons | keys | .[]' .addons.yml) mkdir -p .translations while read addon; do if [[ -f "${addon}/translations/en.yaml" ]]; then echo "Prepping translation upload for $addon..." ADDON="${addon}" \ yq e '{env(ADDON): .}' "${addon}/translations/en.yaml" \ > ".translations/${addon}.yaml" fi done <<<"${addons}" echo "Combining translation files..." yq ea '. as $item ireduce ({}; . * $item)' ./.translations/*.yaml > translations.yaml - name: ๐Ÿš€ Upload translations run: | echo "Uploading translations to lokalise" lokalise2 file upload \ --apply-tm \ --lang-iso en \ --poll \ --token "${LOKALISE_TOKEN}" \ --project-id "${LOKALISE_PROJECT}" \ --file translations.yaml env: LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }} LOKALISE_PROJECT: ${{ secrets.LOKALISE_PROJECT }}