Skip to content

Retry wp-env startup after temporary CI failures - #51

Closed
simple-analytics-ai[bot] wants to merge 1 commit into
mainfrom
fix/retry-wp-env-start
Closed

simple-analytics-ai[bot] wants to merge 1 commit into
mainfrom
fix/retry-wp-env-start

Conversation

@simple-analytics-ai

Copy link
Copy Markdown
Contributor

Summary

Fixes #50

Temporary GitHub HTTP 504 responses during Composer downloads currently fail wp-env start and 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

  • No security impact
  • Has security impact - described as:

Testing

  • Parsed the workflow with actionlint and checked the startup shell with ShellCheck and bash -n.
  • Ran the extracted workflow script in Linux with GNU timeout and a stubbed pnpm: 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.
  • PR E2E matrix: pending.

Checklist

  • Linked to an issue
  • Tested
  • Asked for a review

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.
@adriaandotcom
adriaandotcom deleted the fix/retry-wp-env-start branch September 15, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Temporary dependency download failures interrupt E2E setup

1 participant