name: Sync Files

on:
  push:
    branches:
      - main
    paths:
      - "build.gradle"
      - "src/main/resources/messages_*.properties"
      - "scripts/translation_status.toml"

permissions:
  contents: write
  pull-requests: write

jobs:
  sync-versions:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4.1.1
      - name: Set up Python
        uses: actions/setup-python@v5.1.0
        with:
          python-version: "3.x"
      - name: Install dependencies
        run: pip install pyyaml
      - name: Sync versions
        run: python .github/scripts/gradle_to_chart.py
      - name: Set up git config
        run: |
          git config --global user.email "GitHub Action <action@github.com>"
          git config --global user.name "GitHub Action <action@github.com>"
      - name: Run git add
        run: |
          git add .
          git diff --staged --quiet || git commit -m ":floppy_disk: Sync Versions
          > Made via sync_files.yml" || echo "no changes"
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v6.0.1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          commit-message: Update files
          committer: GitHub Action <action@github.com>
          author: GitHub Action <action@github.com>
          signoff: true
          branch: sync_version
          title: ":floppy_disk: Update Version"
          body: |
            Auto-generated by [create-pull-request][1]

            [1]: https://github.com/peter-evans/create-pull-request
          draft: false
          delete-branch: true
  sync-readme:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4.1.1
      - name: Set up Python
        uses: actions/setup-python@v5.1.0
        with:
          python-version: "3.x"
      - name: Install dependencies
        run: pip install tomlkit
      - name: Sync README
        run: python scripts/counter_translation.py
      - name: Set up git config
        run: |
          git config --global user.email "GitHub Action <action@github.com>"
          git config --global user.name "GitHub Action <action@github.com>"
      - name: Run git add
        run: |
          git add .
          git diff --staged --quiet || git commit -m ":memo: Sync README
          > Made via sync_files.yml" || echo "no changes"
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v6.0.1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          commit-message: Update files
          committer: GitHub Action <action@github.com>
          author: GitHub Action <action@github.com>
          signoff: true
          branch: sync_readme
          title: ":memo: Update README: Translation Progress Table"
          body: |
            Auto-generated by [create-pull-request][1]

            [1]: https://github.com/peter-evans/create-pull-request
          draft: false
          delete-branch: true