-
Notifications
You must be signed in to change notification settings - Fork 0
39 lines (33 loc) · 1.14 KB
/
sync-to-gitee.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: Sync to Gitee
on:
schedule:
- cron: '0 1 * * *' # 每天凌晨1点运行
workflow_dispatch: # 允许手动触发
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up SSH
run: |
mkdir -p ~/.ssh
echo "$GITEE_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan gitee.com >> ~/.ssh/known_hosts
- name: Read settings.json
id: read-settings
run: cat settings.json
shell: bash
- name: Sync repositories
run: |
echo "${{ steps.read-settings.outputs.result }}" | jq -c '.repositories[]' | while read -r repo; do
src=$(echo $repo | jq -r '.src')
dst=$(echo $repo | jq -r '.dst')
echo "Syncing $src to $dst"
docker run --rm -v ~/.ssh:/root/.ssh yikun/hub-mirror-action:latest \
--src "$src" --dst "gitee.com/$dst" \
--dst-key "${{ secrets.GITEE_PRIVATE_KEY }}" \
--dst-token "${{ secrets.GITEE_TOKEN }}" \
--force-update
done