Retry wp-env startup after temporary CI failures - #51
Closed
simple-analytics-ai[bot] wants to merge 1 commit into
Closed
simple-analytics-ai[bot] wants to merge 1 commit into
simple-analytics-ai[bot] wants to merge 1 commit into
Conversation
Allow up to three startup attempts with 30- and 60-second backoff, a five-minute timeout per attempt, and a ten-second forced termination grace period. Retain the final failure status and leave room for browser tests in the job timeout. Steering: the user asked whether retries and timeouts could prevent temporary GitHub download failures from interrupting CI, and clarified whether retries apply to all startup errors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #50
Temporary GitHub HTTP 504 responses during Composer downloads currently fail
wp-env startand prevent E2E tests from running. Retry startup up to three times, waiting 30 and 60 seconds between attempts. Each attempt has a five-minute timeout and a ten-second grace period before forced termination.The startup step is capped at 18 minutes, and the job limit increases to 30 minutes to leave time for browser installation and tests. Every startup failure is eligible for retry; the third failure retains its exit status. Playwright test execution is unchanged.
Requested after the merged Debian fix passed on rerun: make CI tolerate temporary setup failures with retries and timeouts.
Security implications
Testing
actionlintand checked the startup shell with ShellCheck andbash -n.timeoutand a stubbedpnpm: immediate success, recovery on attempt three, persistent failure, timeout recovery, persistent timeout, and forced termination of a process that ignores SIGTERM all passed. Tests verified attempt counts, exit status, and 30/60-second backoff using shortened test timers.Checklist