name: Check and Update override_all

on:
  push:
    paths:
      - 'config-template.py'
  pull_request:
    types:
      - closed
    branches:
      - master
    paths:
      - 'config-template.py'

jobs:
  update-override-all:
    name: check and update
    if: github.event.pull_request.merged == true || github.event_name == 'push'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.x

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          # 在此处添加您的项目所需的其他依赖

      - name: Copy Scripts
        run: |
          cp res/scripts/generate_override_all.py .

      - name: Run generate_override_all.py
        run: python3 generate_override_all.py

      - name: Check for changes in override-all.json
        id: check_changes
        run: |
          git diff --exit-code override-all.json || echo "::set-output name=changes_detected::true"

      - name: Commit and push changes
        if: steps.check_changes.outputs.changes_detected == 'true'
        run: |
          git config --global user.email "github-actions[bot]@users.noreply.github.com"
          git config --global user.name "GitHub Actions"
          git add override-all.json
          git commit -m "Update override-all.json"
          git push
