[Added a script for auto syncing forks of parent repository] Beta #2
All checks were successful
sample gradle build and test / build (pull_request) Successful in 1m45s
sample gradle build and test / tag (push) Successful in 6s
sample gradle build and test / build_tag_push (push) Successful in 2m21s
sample gradle build and test / Sync All Forks (push) Successful in 8s

This commit is contained in:
Shikhar Pandya 2025-10-28 00:46:32 +05:30
parent 665361a4e3
commit ef7b6545db

View File

@ -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