46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: Upstream Sync
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 */6 * * *' # run every 6 hours
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
actions: write
|
|
|
|
jobs:
|
|
sync_latest_from_upstream:
|
|
name: Sync latest commits from upstream repo
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event.repository.fork }}
|
|
|
|
steps:
|
|
# Step 1: run a standard checkout action
|
|
- name: Checkout target repo
|
|
uses: actions/checkout@v4
|
|
|
|
# Step 2: run the sync action
|
|
- name: Sync upstream changes
|
|
id: sync
|
|
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4.1
|
|
with:
|
|
upstream_sync_repo: senshinya/MoonTV
|
|
upstream_sync_branch: main
|
|
target_sync_branch: main
|
|
target_repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Sync check
|
|
if: failure()
|
|
run: |
|
|
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."
|
|
exit 1
|
|
|
|
- name: Delete workflow runs
|
|
uses: Mattraks/delete-workflow-runs@main
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
repository: ${{ github.repository }}
|
|
retain_days: 0
|
|
keep_minimum_runs: 2
|