Skip to content

Commit e1500d1

Browse files
ci(external-it): retry dependency build on transient mirror failures (#30604)
Parity with main (#30590): wrap the 'Build dependencies for integration-tests' step (mvn install -am) in all three external-IT jobs in a 3x retry so a transient artifact-fetch failure doesn't kill the job before any test runs. Warn+sleep only when a retry follows; terminal ::error:: on final failure. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 1a0a30d commit e1500d1

1 file changed

Lines changed: 30 additions & 3 deletions

File tree

.github/workflows/java-playwright-external.yml

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,16 @@ jobs:
180180
- name: Build dependencies for integration-tests
181181
env:
182182
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
183-
run: mvn -DskipTests install -pl :openmetadata-integration-tests -am
183+
run: |
184+
for attempt in 1 2 3; do
185+
mvn -DskipTests install -pl :openmetadata-integration-tests -am && exit 0
186+
if [ "${attempt}" -lt 3 ]; then
187+
echo "::warning::Build attempt ${attempt} failed (transient dependency-mirror error); retrying in 30s"
188+
sleep 30
189+
fi
190+
done
191+
echo "::error::Build failed after 3 attempts (dependency resolution)"
192+
exit 1
184193
185194
- name: Install Playwright browsers
186195
run: |
@@ -359,7 +368,16 @@ jobs:
359368
- name: Build dependencies for integration-tests
360369
env:
361370
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
362-
run: mvn -DskipTests install -pl :openmetadata-integration-tests -am
371+
run: |
372+
for attempt in 1 2 3; do
373+
mvn -DskipTests install -pl :openmetadata-integration-tests -am && exit 0
374+
if [ "${attempt}" -lt 3 ]; then
375+
echo "::warning::Build attempt ${attempt} failed (transient dependency-mirror error); retrying in 30s"
376+
sleep 30
377+
fi
378+
done
379+
echo "::error::Build failed after 3 attempts (dependency resolution)"
380+
exit 1
363381
364382
- name: Acquire admin JWT from external cluster
365383
env:
@@ -497,7 +515,16 @@ jobs:
497515
- name: Build dependencies for integration-tests
498516
env:
499517
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
500-
run: mvn -DskipTests install -pl :openmetadata-integration-tests -am
518+
run: |
519+
for attempt in 1 2 3; do
520+
mvn -DskipTests install -pl :openmetadata-integration-tests -am && exit 0
521+
if [ "${attempt}" -lt 3 ]; then
522+
echo "::warning::Build attempt ${attempt} failed (transient dependency-mirror error); retrying in 30s"
523+
sleep 30
524+
fi
525+
done
526+
echo "::error::Build failed after 3 attempts (dependency resolution)"
527+
exit 1
501528
502529
- name: Acquire admin JWT from external cluster
503530
env:

0 commit comments

Comments
 (0)