From acdf70e928b38f1c74e41c66dbec31d03c12f288 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 18 Dec 2025 13:26:09 +0100 Subject: [PATCH] ci: retry submodule checkout --- .github/workflows/ci.yml | 45 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 81a841ec1..6a3465a46 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,20 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - submodules: recursive + submodules: false + + - name: Checkout submodules (retry) + run: | + set -euo pipefail + git submodule sync --recursive + for attempt in 1 2 3 4 5; do + if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then + exit 0 + fi + echo "Submodule update failed (attempt $attempt/5). Retrying…" + sleep $((attempt * 10)) + done + exit 1 - name: Setup Node.js if: matrix.runtime == 'node' @@ -98,7 +111,20 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - submodules: recursive + submodules: false + + - name: Checkout submodules (retry) + run: | + set -euo pipefail + git submodule sync --recursive + for attempt in 1 2 3 4 5; do + if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then + exit 0 + fi + echo "Submodule update failed (attempt $attempt/5). Retrying…" + sleep $((attempt * 10)) + done + exit 1 - name: Select Xcode 26.1 run: | @@ -267,7 +293,20 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - submodules: recursive + submodules: false + + - name: Checkout submodules (retry) + run: | + set -euo pipefail + git submodule sync --recursive + for attempt in 1 2 3 4 5; do + if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then + exit 0 + fi + echo "Submodule update failed (attempt $attempt/5). Retrying…" + sleep $((attempt * 10)) + done + exit 1 - name: Setup Java uses: actions/setup-java@v4