59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
name: Translation job
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'web/i18n/en/translation.json'
|
|
- 'web/**/*.tsx'
|
|
- 'web/**/*.js'
|
|
- 'crowdin.yml'
|
|
- '.github/workflows/translations.yml'
|
|
- 'web/i18next-parser.config.mjs'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
generate-translations:
|
|
defaults:
|
|
run:
|
|
working-directory: ./web
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
if: ${{ github.actor != 'renovate[bot]' && github.actor != 'renovate' }}
|
|
run: npm install
|
|
|
|
- name: Generate translation files
|
|
run: npm run translate
|
|
|
|
- name: Crowdin upload sources/download translations
|
|
uses: crowdin/github-action@v1
|
|
with:
|
|
upload_sources: true
|
|
download_translations: false
|
|
create_pull_request: true
|
|
pull_request_title: 'New Translations'
|
|
localization_branch_name: translations
|
|
pull_request_base_branch_name: 'develop'
|
|
config: crowdin.yml
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
|
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
|
|
|
- name: Commit changes
|
|
uses: EndBug/add-and-commit@v9
|
|
with:
|
|
author_name: Owncast
|
|
author_email: owncast@owncast.online
|
|
message: 'Commit updated translations'
|
|
add: 'web/i18n/**'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|