docs: Add repository mirroring guide and GitHub Actions

- Complete mirroring guide (GitHub ↔ Gitea)
- GitHub Actions workflow to sync to Gitea
- Mirror status check workflow
- SSH and token authentication methods
- Troubleshooting guide
This commit is contained in:
Alex
2026-02-16 19:44:25 +00:00
parent 4a4a0351aa
commit 708adecc16
3 changed files with 529 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
name: Mirror Status Check
on:
schedule:
- cron: '0 */6 * * *' # Every 6 hours
workflow_dispatch:
jobs:
check-sync:
runs-on: ubuntu-latest
steps:
- name: Check if repositories are in sync
run: |
# Get latest commit from GitHub
GITHUB_SHA=$(curl -s \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/terraphim/gitea-infrastructure/commits/main" | \
jq -r '.sha')
# Get latest commit from Gitea
GITEA_SHA=$(curl -s \
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
"https://git.terraphim.cloud/api/v1/repos/terraphim/gitea-infrastructure/commits/main" | \
jq -r '.sha')
echo "GitHub: ${GITHUB_SHA:0:7}"
echo "Gitea: ${GITEA_SHA:0:7}"
if [ "$GITHUB_SHA" == "$GITEA_SHA" ]; then
echo "✅ Repositories are in sync"
exit 0
else
echo "⚠️ Repositories are OUT OF SYNC"
exit 1
fi