name: generate

on:
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:

jobs:
  generate:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4
        with:
          ref: 'bot'

      - name: Generate and encode
        run: |
          curl -Ls https://raw.githubusercontent.com/KOWX712/keyboxGenerator/main/keyboxGenerator_v2.0.py | python3
          base64 -w 0 "keybox.xml" | xxd -p | tr -d '\n' > .device

      - name: Commit changes
        run: |
          git config --global user.name "github-actions[bot]"
          git config --global user.email "github-actions[bot]@users.noreply.github.com"
          git add .device
          LAST_COMMIT_MSG=$(git log -1 --pretty=%B)
          if [[ "$LAST_COMMIT_MSG" == "Update .device" ]]; then
            git commit --amend --no-edit
            git push --force
          else
            git commit -m "Update .device"
            git push
          fi
