#
# Copyright (C) 2022 Ing <https://github.com/wjz304>
# 
# This is free software, licensed under the MIT License.
# See /LICENSE for more information.
#

name: Update

on:
  workflow_dispatch:
    inputs:
      push: 
        description: 'push'
        default: false
        type: boolean
      config: 
        description: 'update configs'
        default: true
        type: boolean
      rss: 
        description: 'update rss'
        default: true
        type: boolean
jobs:
  configs:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@main

      - name: Set up Python 3
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'

      - name: Initialization environment
        run : |
          git config --global user.email "github-actions[bot]@users.noreply.github.com"
          git config --global user.name "github-actions[bot]"
          sudo timedatectl set-timezone "Asia/Shanghai"
          
          sudo apt update
          sudo apt install -y libxml2-utils
          pip install requests BeautifulSoup4 pyyaml

      - name: update pats
        run: |
          python rssupdate.py ${{ inputs.config }} ${{ inputs.rss }}

      - name: Upload artifact
        uses: actions/upload-artifact@v3
        with:
          name: configs
          path: |
            files/board/arpl/overlayfs/opt/arpl/model-configs
            rss.json
            rss.xml

      - name: Check and Push
        if: success() && inputs.push == true
        run: |
          git pull
          status=$(git status -s | grep -E 'model-configs|rss' | awk '{printf " %s", $2}')
          if [ -n "${status}" ]; then
            git add ${status}
            git commit -m "update $(date +%Y-%m-%d" "%H:%M:%S)"
            git push -f
          fi
