name: Translations

# yamllint disable-line rule:truthy
on:
  workflow_dispatch:
  schedule:
    - cron: "0 0 * * *"
  push:
    branches:
      - dev
    paths:
      - "**strings.json"

env:
  DEFAULT_PYTHON: 3.9

jobs:
  upload:
    name: Upload
    if: github.repository_owner == 'home-assistant'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout the repository
        uses: actions/checkout@v3.0.0

      - name: Set up Python ${{ env.DEFAULT_PYTHON }}
        uses: actions/setup-python@v3.0.0
        with:
          python-version: ${{ env.DEFAULT_PYTHON }}

      - name: Upload Translations
        run: |
          export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
          python3 -m script.translations upload

  download:
    name: Download
    needs: upload
    if: github.repository_owner == 'home-assistant' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
    runs-on: ubuntu-latest
    steps:
      - name: Checkout the repository
        uses: actions/checkout@v3.0.0

      - name: Set up Python ${{ env.DEFAULT_PYTHON }}
        uses: actions/setup-python@v3.0.0
        with:
          python-version: ${{ env.DEFAULT_PYTHON }}

      - name: Download Translations
        run: |
          export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
          python3 -m script.translations download

      - name: Initialize git
        uses: home-assistant/actions/helpers/git-init@master
        with:
          name: GitHub Action
          email: github-action@users.noreply.github.com

      - name: Update translation
        run: |
          git add homeassistant
          git commit -am "[ci skip] Translation update"
          git push
