Update sync.yml

This commit is contained in:
Cakekritsanan 2025-03-27 23:14:39 +07:00 committed by GitHub
parent 48469bd8ca
commit 1be1364bdc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,10 +2,11 @@ name: Upstream Sync
permissions: permissions:
contents: write contents: write
issues: write # เพิ่ม permission สำหรับสร้าง issue
on: on:
schedule: schedule:
- cron: "0 0 * * *" # every day - cron: "0 0 * * 0" # ทุกวันอาทิตย์เท่านั้น
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@ -15,11 +16,9 @@ jobs:
if: ${{ github.event.repository.fork }} if: ${{ github.event.repository.fork }}
steps: steps:
# Step 1: run a standard checkout action
- name: Checkout target repo - name: Checkout target repo
uses: actions/checkout@v3 uses: actions/checkout@v3
# Step 2: run the sync action
- name: Sync upstream changes - name: Sync upstream changes
id: sync id: sync
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 uses: aormsby/Fork-Sync-With-Upstream-action@v3.4
@ -27,14 +26,26 @@ jobs:
upstream_sync_repo: ChatGPTNextWeb/ChatGPT-Next-Web upstream_sync_repo: ChatGPTNextWeb/ChatGPT-Next-Web
upstream_sync_branch: main upstream_sync_branch: main
target_sync_branch: main target_sync_branch: main
target_repo_token: ${{ secrets.GITHUB_TOKEN }} # automatically generated, no need to set target_repo_token: ${{ secrets.GITHUB_TOKEN }}
# Set test_mode true to run tests instead of the true action!!
test_mode: false test_mode: false
- name: Sync check - name: Log sync result
if: failure()
run: | 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" if [ "${{ steps.sync.outputs.has_new_commits }}" == "true" ]; then
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" echo "Sync successful: New commits were added."
exit 1 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.");