需要在仓库 .github/workflows/ 目录下创建 .yml 文件,下面是一个自动更新私有仓库子模块的示例:
name: update-submodule
on:
schedule:
- cron: '0 1 * * *'
workflow_dispatch:
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.DOCS_TOKEN }}
submodules: 'true'
- name: pull sumbodule
run: |
git submodule update --init --remote
- name: push update
run: |
git config --global user.name 'immbot'
git config --global user.email 'bot@immwind.com'
git commit -am "auto updated submodule" || exit 0
git push
- cron:参数是标准的 cron 格式,时区是 UTC(没办法更改)
- token:即使是自己的私有仓库,仍然需要配置 Token 才能访问
- exit 0:避免在子仓库无更新的情况下出现报错