Skip to content

[eas-cli] eas go: prompt for SDK version interactively#3768

Open
gwdp wants to merge 5 commits into
mainfrom
gwdp/eas-go-sdk-version-select
Open

[eas-cli] eas go: prompt for SDK version interactively#3768
gwdp wants to merge 5 commits into
mainfrom
gwdp/eas-go-sdk-version-select

Conversation

@gwdp
Copy link
Copy Markdown
Contributor

@gwdp gwdp commented May 21, 2026

Summary

  • Adds an interactive SDK version select prompt to eas go when --sdk-version is not passed.
  • Fetches supportedSdkVersions from the GraphQL API (expo/universe#27451) — returns only versions with an actual repack target, labeled as Latest, Beta, or by major version number.
  • Defaults the cursor to the latest released version; falls back to the last entry if no version is marked latest.
  • --sdk-version and current project scope bypasses the prompt entirely

Validation

  • Ran eas go without --sdk-version — prompted with SDK list, latest selected by default.
  • Ran eas go --sdk-version 55.0.0 — no prompt, proceeds directly.
  • Ran eas go within a 55.x project, auto-selected, no prompt

@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch 2 times, most recently from dbd8131 to 92b05eb Compare May 21, 2026 16:30
@codecov
Copy link
Copy Markdown

codecov Bot commented May 21, 2026

Codecov Report

❌ Patch coverage is 87.50000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.24%. Comparing base (2fc5f20) to head (d0b648f).

Files with missing lines Patch % Lines
...es/eas-cli/src/graphql/queries/WorkflowRunQuery.ts 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3768      +/-   ##
==========================================
+ Coverage   57.22%   57.24%   +0.02%     
==========================================
  Files         905      905              
  Lines       39302    39324      +22     
  Branches     8237     8244       +7     
==========================================
+ Hits        22488    22507      +19     
- Misses      15344    15347       +3     
  Partials     1470     1470              

☔ View full report in Codecov by Sentry.
📢 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.

@gwdp gwdp changed the base branch from main to graphite-base/3768 May 21, 2026 18:20
@gwdp gwdp force-pushed the graphite-base/3768 branch from 43953d6 to 69de0dc Compare May 21, 2026 18:20
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from 92b05eb to 3697212 Compare May 21, 2026 18:20
@gwdp gwdp changed the base branch from graphite-base/3768 to gwdp/eas-go-project-sdk-default May 21, 2026 18:20
Copy link
Copy Markdown
Contributor Author

gwdp commented May 21, 2026

@gwdp gwdp force-pushed the gwdp/eas-go-project-sdk-default branch from 69de0dc to d4d5ecb Compare May 21, 2026 18:33
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch 2 times, most recently from a7dc001 to 1be0b07 Compare May 21, 2026 18:39
@gwdp gwdp force-pushed the gwdp/eas-go-project-sdk-default branch from d4d5ecb to a282d59 Compare May 21, 2026 18:39
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from 1be0b07 to 9ac0f46 Compare May 21, 2026 19:00
@gwdp gwdp force-pushed the gwdp/eas-go-project-sdk-default branch from a282d59 to 68696c5 Compare May 21, 2026 19:00
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from 9ac0f46 to e3c980c Compare May 21, 2026 19:58
@gwdp gwdp force-pushed the gwdp/eas-go-project-sdk-default branch from 68696c5 to c69a2f9 Compare May 21, 2026 19:58
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from e3c980c to 07b9343 Compare May 21, 2026 19:59
@gwdp gwdp force-pushed the gwdp/eas-go-project-sdk-default branch 2 times, most recently from c067556 to b22a7d9 Compare May 21, 2026 20:01
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from 07b9343 to 2ed3f7d Compare May 21, 2026 20:01
@gwdp gwdp force-pushed the gwdp/eas-go-project-sdk-default branch from b22a7d9 to 41bb027 Compare May 21, 2026 20:47
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from 2ed3f7d to 13b07de Compare May 21, 2026 20:47
@gwdp gwdp force-pushed the gwdp/eas-go-project-sdk-default branch from 41bb027 to e920824 Compare May 21, 2026 20:55
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch 2 times, most recently from b492db0 to 625c1a1 Compare May 21, 2026 20:59
Base automatically changed from gwdp/eas-go-project-sdk-default to main May 21, 2026 22:37
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from f21a5c0 to aa88890 Compare May 25, 2026 17:48
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch 3 times, most recently from 35d71a9 to a96383f Compare May 25, 2026 18:53
@gwdp gwdp force-pushed the gwdp/eas-go-sdk-version-select branch from a96383f to 95224b2 Compare May 25, 2026 19:08
@gwdp gwdp requested a review from sjchmiela May 25, 2026 19:09
@gwdp gwdp marked this pull request as ready for review May 25, 2026 19:11
@github-actions
Copy link
Copy Markdown

Subscribed to pull request

File Patterns Mentions
**/* @douglowder

Generated by CodeMention

Comment thread packages/eas-cli/src/commands/go.ts Outdated
Comment thread packages/eas-cli/src/commands/go.ts Outdated
Comment thread packages/eas-cli/src/commands/go.ts Outdated
return selectAsync(
'Select an Expo SDK version',
selectable.map(v => {
const major = v.sdkVersion.split('.')[0];
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking at every time we split sdk version by . i wonder if maybe sdkversions from graphql shouldn't have have been just

key: String!
label: String!
isDefault: Boolean!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with your point about the structure, but if not missing anything, it wouldn't clean up much of the .split('.')[0] because that is only executed once for the GraphQL.

My intention here was to avoid making the server responsible for the presentation layer and instead focus on providing the data needed for the CLI to handle that. I'm happy to bounce more here and come with another iteration if anything we can do better 🙇‍♂️

gwdp and others added 2 commits May 25, 2026 15:05
Co-authored-by: Stanisław Chmiela <sjchmiela@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

✅ Thank you for adding the changelog entry!

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