Skip to content

[eas-cli] Add GitHub repository connection commands - #4538

Open
tchayen wants to merge 3 commits into
mainfrom
tchayen/github-repo-connect
Open

tchayen wants to merge 3 commits into
mainfrom
tchayen/github-repo-connect

Conversation

@tchayen

@tchayen tchayen commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

Why

Currently there's no way to connect GH repo to an EAS project via CLI.

How

Add eas integrations:github:connect --repo owner/repo and eas integrations:github:status.

Using the same API as the website, this resolves owner's active Expo GH app installation and finds repository via paginated API (works with private repos too).

Initial GitHub authorization, Expo app installation, and linking the installation to the project's Expo account remain dashboard setup steps.

Expo app can be configured with multiple GH accounts. Since the command requires owner/repo, owner will be matched to the correct account.

Agent use

I asked Opus 5.5 to generate the code, questioned it about implementation and edge cases. Then I proceeded to manually test the local build on my account.

Test Plan

Added new tests and verified locally:

  1. when Expo had permission to connect to all repositories:

    eas integrations:github:connect --repo tchayen/clitest123
    ✔ Connected GitHub repository
    @tomek-expo/clitest123 is connected to tchayen/clitest123.
    Base directory: /
    
  2. when Expo did not have permission for that particular repository:

    eas integrations:github:connect --repo tchayen/clitest123
    ✖ Failed to connect GitHub repository
    EAS cannot access GitHub repository tchayen/clitest123. If the Expo GitHub app is configured for "Only select repositories", add tchayen/clitest123 under Repository access and save: https://github.com/settings/installations/XXXXXXXX
        Error: integrations:github:connect command failed.
    
  3. when Expo app is not installed on GH account:

    ✖ Failed to connect GitHub repository
    No active Expo GitHub app installation for tchayen is linked to the Expo account tomek-expo. Set up the GitHub connection in the EAS dashboard: https://expo.dev/accounts/tomek-expo/projects/clitest123/github
    Install the Expo GitHub app for tchayen and link the installation to tomek-expo, then retry this command.
        Error: integrations:github:connect command failed.
    

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown

Subscribed to pull request

File Patterns Mentions
packages/eas-cli/** @douglowder

Generated by CodeMention

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

@tchayen
tchayen force-pushed the tchayen/github-repo-connect branch from 76cf758 to ba607d3 Compare October 4, 2026 23:03
@codecov

codecov Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.50327% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.77%. Comparing base (8ce87bf) to head (a3b8c93).

Files with missing lines Patch % Lines
...s-cli/src/graphql/queries/GitHubRepositoryQuery.ts 70.84% 7 Missing ⚠️
.../src/graphql/mutations/GitHubRepositoryMutation.ts 33.34% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4538      +/-   ##
==========================================
+ Coverage   73.71%   73.77%   +0.06%     
==========================================
  Files         998     1003       +5     
  Lines       48781    48934     +153     
  Branches    10544    10588      +44     
==========================================
+ Hits        35956    36098     +142     
- Misses      11831    11842      +11     
  Partials      994      994              

☔ 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.

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown

✅ Thank you for adding the changelog entry!

@tchayen
tchayen requested a review from byronkarlen October 4, 2026 23:30
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.

1 participant