From 1be1364bdc4cc384d5199261df958a9ccc9a1383 Mon Sep 17 00:00:00 2001 From: Cakekritsanan <126095553+kritsanan1@users.noreply.github.com> Date: Thu, 27 Mar 2025 23:14:39 +0700 Subject: [PATCH] Update sync.yml --- .github/workflows/sync.yml | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index e04e30adb..739c9afb1 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -2,10 +2,11 @@ name: Upstream Sync permissions: contents: write + issues: write # เพิ่ม permission สำหรับสร้าง issue on: schedule: - - cron: "0 0 * * *" # every day + - cron: "0 0 * * 0" # ทุกวันอาทิตย์เท่านั้น workflow_dispatch: jobs: @@ -15,11 +16,9 @@ jobs: if: ${{ github.event.repository.fork }} steps: - # Step 1: run a standard checkout action - name: Checkout target repo uses: actions/checkout@v3 - # Step 2: run the sync action - name: Sync upstream changes id: sync uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 @@ -27,14 +26,26 @@ jobs: upstream_sync_repo: ChatGPTNextWeb/ChatGPT-Next-Web upstream_sync_branch: main target_sync_branch: main - target_repo_token: ${{ secrets.GITHUB_TOKEN }} # automatically generated, no need to set - - # Set test_mode true to run tests instead of the true action!! + target_repo_token: ${{ secrets.GITHUB_TOKEN }} test_mode: false - - name: Sync check - if: failure() + - name: Log sync result run: | - echo "[Error] 由于上游仓库的 workflow 文件变更,导致 GitHub 自动暂停了本次自动更新,你需要手动 Sync Fork 一次,详细教程请查看:https://github.com/Yidadaa/ChatGPT-Next-Web/blob/main/README_CN.md#%E6%89%93%E5%BC%80%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0" - echo "[Error] Due to a change in the workflow file of the upstream repository, GitHub has automatically suspended the scheduled automatic update. You need to manually sync your fork. Please refer to the detailed tutorial for instructions: https://github.com/Yidadaa/ChatGPT-Next-Web#enable-automatic-updates" - exit 1 + if [ "${{ steps.sync.outputs.has_new_commits }}" == "true" ]; then + echo "Sync successful: New commits were added." + else + echo "No new commits from upstream." + fi + + - name: Notify on failure + if: failure() + uses: actions/github-script@v6 + with: + script: | + await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: "Upstream Sync Failed", + body: "Sync failed due to upstream workflow changes. Please manually sync your fork: [Guide](https://github.com/Yidadaa/ChatGPT-Next-Web#enable-automatic-updates)" + }); + console.log("Issue created for sync failure.");