GITHUB_TOKEN cannot push commits that contain changes to .github/workflows/ files (GitHub security restriction). Use a Classic PAT with 'repo' + 'workflow' scopes instead. Also add explicit checkout with fetch-depth:0 and ref:master so the Fork-Sync action has full history for merging.
56 lines
2.1 KiB
YAML
56 lines
2.1 KiB
YAML
name: Upstream Sync
|
|
|
|
permissions:
|
|
contents: write
|
|
issues: write
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 */6 * * *"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
sync_latest_from_upstream:
|
|
name: Sync latest commits from upstream repo
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event.repository.fork }}
|
|
|
|
steps:
|
|
# Checkout with UPSTREAM_TOKEN (Classic PAT with repo + workflow scope)
|
|
# GITHUB_TOKEN cannot push commits that modify .github/workflows/ files
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: master
|
|
fetch-depth: 0
|
|
token: ${{ secrets.UPSTREAM_TOKEN }}
|
|
persist-credentials: true
|
|
|
|
- name: Clean issue notice
|
|
uses: actions-cool/issues-helper@e361abf610221f09495ad510cb1e69328d839e1c # v3.7.6
|
|
with:
|
|
actions: "close-issues"
|
|
labels: "🚨 Sync Fail"
|
|
|
|
- name: Sync upstream changes
|
|
id: sync
|
|
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4
|
|
with:
|
|
upstream_sync_repo: alexta69/metube
|
|
upstream_sync_branch: master
|
|
target_sync_branch: master
|
|
target_repo_token: ${{ secrets.UPSTREAM_TOKEN }}
|
|
test_mode: false
|
|
|
|
- name: Sync check
|
|
if: failure()
|
|
uses: actions-cool/issues-helper@e361abf610221f09495ad510cb1e69328d839e1c # v3.7.6
|
|
with:
|
|
actions: "create-issue"
|
|
title: "🚨 同步失败 | Sync Fail"
|
|
labels: "🚨 Sync Fail"
|
|
body: |
|
|
Due to a change in the workflow file of the [alexta69/metube](https://github.com/alexta69/metube) upstream repository, GitHub has automatically suspended the scheduled automatic update. You need to manually sync your fork. Please go to your fork page and click "Sync fork → Update branch".
|
|
|
|
由于 [alexta69/metube](https://github.com/alexta69/metube) 上游仓库的 workflow 文件变更,导致 GitHub 自动暂停了本次自动更新,你需要手动 Sync Fork 一次。
|
|
|
|

|