diff --git a/.github/workflows/keep active.yml b/.github/workflows/keep active.yml new file mode 100644 index 0000000..4a61af4 --- /dev/null +++ b/.github/workflows/keep active.yml @@ -0,0 +1,20 @@ +name: Keep Workflow Active + +on: + schedule: + - cron: '0 0 15 * *' # 每月15日午夜(UTC时间)执行 + workflow_dispatch: + +jobs: + commit-empty: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Commit empty changes + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git commit --allow-empty -m "Keep workflow active" + git push diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml new file mode 100644 index 0000000..596dc24 --- /dev/null +++ b/.github/workflows/sync.yml @@ -0,0 +1,42 @@ +name: Upstream Sync + +permissions: + contents: write + +on: + schedule: + - cron: "0 0 * * *" # every day + workflow_dispatch: + watch: + types: started + +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 + with: + upstream_sync_repo: yllhwa/FileWorker + 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!! + test_mode: false + + - name: Sync check + if: failure() + run: | + echo "[Error] 由于上游仓库的 workflow 文件变更,导致 GitHub 自动暂停了本次自动更新,你需要手动 Sync Fork 一次." + 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