name: Crowdin Upload

on:
  push:
    branches:
      - main

jobs:
  synchronize-with-crowdin:
    name: Upload sources to Crowdin
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - uses: actions/setup-node@v3
        with:
          node-version: 14
          registry-url: https://registry.npmjs.org
          cache: 'yarn'

      - uses: actions/cache@v3
        id: install-cache
        with:
          path: node_modules/
          key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}

      - if: steps.install-cache.outputs.cache-hit != 'true'
        run: yarn install --frozen-lockfile --ignore-scripts

      - run: yarn i18n:extract

      - name: Upload Crowdin sources
        uses: crowdin/github-action@1.1.0
        with:
          upload_sources: true
          download_translations: false
          project_id: 458284
          token: ${{ secrets.CROWDIN_PERSONAL_TOKEN_SECRET }}
          source: 'src/locales/en-US.po'
          translation: 'src/locales/%locale%.po'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
