Skip to content

Commit 3d2cb38

Browse files
committed
retry for quay transient errs
Signed-off-by: Mohammed Abdi <mohammed.munir.abdi@ibm.com>
1 parent 245f962 commit 3d2cb38

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

.github/workflows/ci-pr-checks.yaml

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -121,20 +121,20 @@ jobs:
121121
return;
122122
}
123123
124-
// Check for /test-e2e-full comment trigger
124+
// Check for /trigger-e2e-full comment trigger
125125
if (context.eventName === 'issue_comment') {
126126
const comment = context.payload.comment.body.trim();
127127
const issue = context.payload.issue;
128128
129-
// Only process /test-e2e-full comments on PRs
129+
// Only process /trigger-e2e-full comments on PRs
130130
if (!issue.pull_request) {
131131
console.log('Comment is not on a PR, skipping');
132132
core.setOutput('run_full', 'false');
133133
return;
134134
}
135135
136136
// Check for valid command
137-
const validCommands = ['/test-e2e-full'];
137+
const validCommands = ['/trigger-e2e-full'];
138138
if (!validCommands.includes(comment)) {
139139
console.log(`Comment "${comment}" is not a valid trigger command, skipping`);
140140
core.setOutput('run_full', 'false');
@@ -233,8 +233,28 @@ jobs:
233233
echo "Building local image: $FULL_IMAGE"
234234
echo "Image will be loaded into Kind cluster (no push needed)"
235235
236-
# Build image locally (no push needed for Kind)
237-
make docker-build IMG="$FULL_IMAGE"
236+
# Build image locally with retry logic for transient registry errors (e.g., quay.io 500 errors)
237+
MAX_ATTEMPTS=3
238+
ATTEMPT=1
239+
WAIT_TIME=5
240+
241+
while [ $ATTEMPT -le $MAX_ATTEMPTS ]; do
242+
echo "Build attempt $ATTEMPT of $MAX_ATTEMPTS..."
243+
if make docker-build IMG="$FULL_IMAGE"; then
244+
echo "Image built successfully on attempt $ATTEMPT"
245+
break
246+
fi
247+
248+
if [ $ATTEMPT -lt $MAX_ATTEMPTS ]; then
249+
echo "Build failed (possibly transient registry error). Retrying in ${WAIT_TIME}s..."
250+
sleep $WAIT_TIME
251+
WAIT_TIME=$((WAIT_TIME * 2)) # Exponential backoff
252+
else
253+
echo "Build failed after $MAX_ATTEMPTS attempts"
254+
exit 1
255+
fi
256+
ATTEMPT=$((ATTEMPT + 1))
257+
done
238258
239259
echo "image=$FULL_IMAGE" >> $GITHUB_OUTPUT
240260
echo "image_tag=${IMAGE_TAG}" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)