From ef7b6545db6de6147135ccfa69fa0db066a598b6 Mon Sep 17 00:00:00 2001 From: Shikhar Pandya Date: Tue, 28 Oct 2025 00:46:32 +0530 Subject: [PATCH] [Added a script for auto syncing forks of parent repository] Beta #2 --- .gitea/workflows/test_image_build_push.yml | 27 ++++------------------ 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/.gitea/workflows/test_image_build_push.yml b/.gitea/workflows/test_image_build_push.yml index edda211..546f0d5 100644 --- a/.gitea/workflows/test_image_build_push.yml +++ b/.gitea/workflows/test_image_build_push.yml @@ -84,34 +84,15 @@ jobs: uses: actions/checkout@v4 - name: Sync all forks via Gitea API - env: - TOKEN: ${{ secrets.TOKEN }} - BASE_URL: "https://gitea.hithomelabs.com/api/v1" - OWNER: "Hithomelabs" - REPO: "CFTunnels" run: | - set -e - set -o pipefail - - echo "Fetching forks for $OWNER/$REPO..." - response=$(curl -s -X GET "$BASE_URL/repos/$OWNER/$REPO/forks" -H "Authorization: token $TOKEN") - - # Extract clone URLs of forked repos (excluding the parent repo) - filtered=$(echo "$response" | grep -o '"clone_url":"[^"]*"' | sed 's/"clone_url":"\([^"]*\)"/\1/' | grep -v "/$OWNER") - + echo "Fetching forks for Hithomelabs/CFTunnels..." + response=$(curl -s -X GET "https://gitea.hithomelabs.com/api/v1/repos/Hithomelabs/CFTunnels/forks" -H "Authorization: token ${{secrets.TOKEN}}") + filtered=$(echo "$response" | grep -o '"clone_url":"[^"]*"' | sed 's/"clone_url":"\([^"]*\)"/\1/' | grep -v "/Hithomelabs") echo "Detected forks:" echo "$filtered" - readarray -t forks <<< "$filtered" - for fork_url in "${forks[@]}"; do echo "🔄 Syncing fork: $fork_url" - git remote add fork "$fork_url" 2>/dev/null || git remote set-url fork "$fork_url" - if git push fork main --force >/dev/null 2>&1; then - echo "✅ Synced $fork_url successfully" - else - echo "❌ Failed to sync $fork_url" - fi - echo + git push "$fork_url" test & done