Skip to content

[eas-cli] Add dynamic retries for deploy command - #4299

Merged
kitten merged 8 commits into
mainfrom
@kitten/fix/hosting-generous-upload-retries
Aug 28, 2026
Merged

[eas-cli] Add dynamic retries for deploy command#4299
kitten merged 8 commits into
mainfrom
@kitten/fix/hosting-generous-upload-retries

Conversation

@kitten

@kitten kitten commented Aug 27, 2026

Copy link
Copy Markdown
Member

Why

When we encounter transient errors, we don't account for network errors that could be an ongoing internal failure or outage on the machine that's deploying. This is especially punishing when the deployment is larger and has more missing assets to upload, since it has to fully retry.

How

  • Expand maximum retry attempts and timeouts to be much longer
  • Dynamically scale retry attempts and timeouts based on amount of asset requests we'll have
  • Scale up retries for network errors (ENOTFOUND and ECONNRESET, and others)
  • Issue a visible warning to the user when we're still retrying but have waited for longer than 30s for a successful upload

Test Plan

  • LLM-derived tests added to capture this behaviour

kitten added 4 commits August 27, 2026 23:12
- We should delay depending on number of total requests
- We should delay longer and retry more often for network failures
- We should issue a warning when we're retrying but already waited for 30s

Main motivation here is that:
- We should not make it feel like the deployment is stuck or delay it
  unnecessarily
- We should avoid situations where it's faster to retry a full
  deployment
LLM-written
@kitten
kitten requested a review from kadikraman August 27, 2026 22:15
@github-actions

Copy link
Copy Markdown

Subscribed to pull request

File Patterns Mentions
packages/eas-cli/** @douglowder
packages/eas-cli/src/worker/** @kadikraman

Generated by CodeMention

Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead.

@kitten
kitten force-pushed the @kitten/fix/hosting-generous-upload-retries branch from 877e765 to 210f0c7 Compare August 27, 2026 22:16
@kitten
kitten force-pushed the @kitten/fix/hosting-generous-upload-retries branch from 210f0c7 to 4045f1a Compare August 27, 2026 22:26
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.70%. Comparing base (51ba719) to head (8d13a5e).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4299      +/-   ##
==========================================
+ Coverage   64.41%   64.70%   +0.29%     
==========================================
  Files        1048     1048              
  Lines       48425    48474      +49     
  Branches    10203    10218      +15     
==========================================
+ Hits        31188    31359     +171     
+ Misses      17121    16999     -122     
  Partials      116      116              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread packages/eas-cli/src/worker/upload.ts Outdated
@github-actions

Copy link
Copy Markdown

✅ Thank you for adding the changelog entry!

@kitten
kitten merged commit dfaa2df into main Aug 28, 2026
11 checks passed
@kitten
kitten deleted the @kitten/fix/hosting-generous-upload-retries branch August 28, 2026 15:12
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.

2 participants