diff --git a/.github/workflows/mirror-to-gitea.yml b/.github/workflows/mirror-to-gitea.yml index 53d417f97..6feda7dcc 100644 --- a/.github/workflows/mirror-to-gitea.yml +++ b/.github/workflows/mirror-to-gitea.yml @@ -8,7 +8,7 @@ on: concurrency: group: mirror-to-gitea - cancel-in-progress: true + cancel-in-progress: false permissions: contents: read @@ -16,6 +16,7 @@ permissions: jobs: mirror: runs-on: ubuntu-latest + timeout-minutes: 20 steps: - name: Checkout GitHub repository @@ -35,4 +36,18 @@ jobs: git remote remove gitea 2>/dev/null || true git remote add gitea "https://igareck:${GITEA_TOKEN}@gitea.com/igareck/vpn-configs-for-russia.git" - git push gitea HEAD:main --force + for attempt in 1 2 3 4 5; do + echo "Gitea push attempt $attempt/5" + + if git push gitea HEAD:main --force; then + echo "Gitea push successful" + exit 0 + fi + + sleep_time=$((attempt * 45)) + echo "Gitea push failed. Sleeping ${sleep_time}s before retry..." + sleep "$sleep_time" + done + + echo "Gitea push failed after all retries" + exit 1