🐛 fix(ci): isolate thirdparty updater trigger
This commit is contained in:
@@ -1,15 +1,11 @@
|
||||
name: ♻️ 更新第三方 Skills
|
||||
|
||||
on:
|
||||
# Gitea 1.27 不会从 schedule 触发的 Prepare 继续派生 workflow_run。
|
||||
# 定时刷新因此由 updater 直接拥有;push / PR 仍在 Prepare 成功后进入。
|
||||
# updater 是独立维护任务,不随普通 push / PR 自动运行。
|
||||
schedule:
|
||||
# 北京时间(UTC+8)每日 06:00。
|
||||
- cron: "0 22 * * *"
|
||||
workflow_run:
|
||||
workflows: ["🧰 准备环境"]
|
||||
types:
|
||||
- completed
|
||||
# 北京时间(UTC+8)每日 05:00。
|
||||
- cron: "0 21 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: update-thirdparty-${{ github.repository }}
|
||||
@@ -27,8 +23,7 @@ env:
|
||||
|
||||
jobs:
|
||||
update_and_sync:
|
||||
# schedule 直接进入;workflow_run 需要 Prepare 成功且来自主分支。
|
||||
if: ${{ github.event_name == 'schedule' || (github.event.workflow_run.conclusion == 'success' && (github.event.workflow_run.head_branch == 'main' || github.event.workflow_run.head_branch == 'master')) }}
|
||||
# 仅由定时任务或主分支上的手动运行进入。
|
||||
name: 📥 更新快照并同步 main
|
||||
runs-on: standard-ubuntu-22
|
||||
permissions:
|
||||
@@ -43,14 +38,27 @@ jobs:
|
||||
echo "❌ 未配置 WORKFLOW secret,无法 fetch/push" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ "$GITHUB_EVENT_NAME" = "schedule" ]; then
|
||||
SOURCE_BRANCH="$GITHUB_REF_NAME"
|
||||
SOURCE_SHA="$GITHUB_SHA"
|
||||
echo "🌟 定时运行;目标分支: $SOURCE_BRANCH,提交: $SOURCE_SHA"
|
||||
else
|
||||
SOURCE_BRANCH="${{ github.event.workflow_run.head_branch }}"
|
||||
SOURCE_SHA="${{ github.event.workflow_run.head_sha }}"
|
||||
fi
|
||||
SOURCE_BRANCH="$GITHUB_REF_NAME"
|
||||
SOURCE_SHA="$GITHUB_SHA"
|
||||
case "$SOURCE_BRANCH" in
|
||||
main|master) ;;
|
||||
*)
|
||||
echo "仅允许在主分支运行 thirdparty updater: $SOURCE_BRANCH" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
case "$GITHUB_EVENT_NAME" in
|
||||
schedule)
|
||||
echo "🌟 定时运行;目标分支: $SOURCE_BRANCH,提交: $SOURCE_SHA"
|
||||
;;
|
||||
workflow_dispatch)
|
||||
echo "👆 手动运行;目标分支: $SOURCE_BRANCH,提交: $SOURCE_SHA"
|
||||
;;
|
||||
*)
|
||||
echo "不支持的触发事件: $GITHUB_EVENT_NAME" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
echo "SOURCE_BRANCH=$SOURCE_BRANCH" >> "$GITHUB_ENV"
|
||||
echo "SOURCE_SHA=$SOURCE_SHA" >> "$GITHUB_ENV"
|
||||
echo "✅ Token 已配置"
|
||||
|
||||
Reference in New Issue
Block a user