-
Notifications
You must be signed in to change notification settings - Fork 0
159 lines (151 loc) · 5.39 KB
/
github-action-mirror-sync.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
name: Sync repository to mirrors
on:
push:
tags-ignore:
- '*'
branches:
- '*'
jobs:
bitbucket:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync up to Bitbucket
id: sync
run: |
env
mkdir -p ~/.ssh
git gc --aggressive --prune=now
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519
chmod 700 ~/.ssh/id_ed25519
echo "${{ secrets.SSH_KEY_PUBLIC }}" > ~/.ssh/id_ed25519.pub
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
git remote add mirror [email protected]:the_archival_one/brs-psp-research-initiative.git
git push --tags --force --prune mirror 'refs/remotes/origin/*:refs/heads/*'
codeberg:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync up to Codeberg
id: sync
run: |
env
mkdir -p ~/.ssh
git gc --aggressive --prune=now
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519
chmod 700 ~/.ssh/id_ed25519
echo "${{ secrets.SSH_KEY_PUBLIC }}" > ~/.ssh/id_ed25519.pub
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
git remote add mirror [email protected]:thearchivalone/BRS-PSP-Research-Initiative.git
git push --tags --force --prune mirror 'refs/remotes/origin/*:refs/heads/*'
beanstalk:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync up to Beanstalk
id: sync
run: |
env
git gc --aggressive --prune=now
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_rsa
chmod 700 ~/.ssh/id_rsa
echo "${{ secrets.SSH_KEY_PUBLIC }}" > ~/.ssh/id_ed25519.pub
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
- uses: yesolutions/mirror-action@master
with:
REMOTE: '[email protected]:/the-archival-one/brs-psp-research-initiative.git'
GIT_SSH_PRIVATE_KEY: ${{ secrets.SSH_KEY_PRIVATE }}
GIT_SSH_NO_VERIFY_HOST: "true" # This is a secondary backup and not a main one; not verifying it's the correct host won't be a huge problem if the rest all are good
gitgud:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync up to GitGud
id: sync
run: |
env
git gc --aggressive --prune=now
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519
chmod 700 ~/.ssh/id_ed25519
echo "${{ secrets.SSH_KEY_PUBLIC }}" > ~/.ssh/id_ed25519.pub
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
git remote add mirror [email protected]:thearchivalone/brs-psp-research-initiative.git
git push --tags --force --prune mirror 'refs/remotes/origin/*:refs/heads/*'
gitlab:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync up to GitLab
id: sync
run: |
env
git gc --aggressive --prune=now
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519
chmod 700 ~/.ssh/id_ed25519
echo "${{ secrets.SSH_KEY_PUBLIC }}" > ~/.ssh/id_ed25519.pub
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
git remote add mirror [email protected]:thearchivalone1/BRS-PSP-Research-Initiative.git
git push --tags --force --prune mirror 'refs/remotes/origin/*:refs/heads/*'
sourceforge:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Sync up to Sourceforge
id: sync
run: |
env
git gc --aggressive --prune=now
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KEY_PRIVATE }}" > ~/.ssh/id_ed25519
chmod 700 ~/.ssh/id_ed25519
echo "${{ secrets.SSH_KEY_PUBLIC }}" > ~/.ssh/id_ed25519.pub
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
git remote add mirror ssh://[email protected]/p/brs-psp-research-initiative-1/code
git push --tags --force --prune mirror 'refs/remotes/origin/*:refs/heads/*'
archive:
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Compress Repository
id: compress
run:
git archive --format=tar.gz -o Backup.tar.gz --prefix=$(basename $PWD)/ main
- name: Sync up to Internet Archive
id: ia_sync
uses: qoijjj/internet-archive-upload@v7
with:
access-key: ${{ secrets.IA_ACCESS_KEY }}
secret-key: ${{ secrets.IA_SECRET_KEY }}
identifier: BRS-Research-Initiative-Current
files: Backup.tar.gz