name: Update i18n

on:
  workflow_dispatch: # Allows you to run this workflow manually from the Actions tab
  schedule:
    - cron: 0 0 * * * # daily at midnight UTC = 7-8pm US Eastern

concurrency:
  group: '${{ github.workflow }}'
  cancel-in-progress: true

permissions:
  contents: write

jobs:
  update-tx:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
        with:
            ref: 'develop'
      - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
        with:
          cache: 'npm'
          node-version-file: '.nvmrc'
      - name: Info
        run: |
          cat <<EOF
          Node version: $(node --version)
          NPM version: $(npm --version)
          GitHub ref: ${{ github.ref }}
          GitHub head ref: ${{ github.head_ref }}
          EOF
      - name: Setup
        run: npm --production=false ci
      - name: Extract translations
        run: npm run i18n:src
      - name: Push translations
        env:
          TX_TOKEN: ${{ secrets.TX_TOKEN }}
        run: npm run i18n:push
