Skip to content

[eas-cli] add --git-branch and --git-commit-hash to workflow:run - #4815

Draft
hSATAC wants to merge 1 commit into
mainfrom
ash/eng-28709-workflow-run-git-flags
Draft

hSATAC wants to merge 1 commit into
mainfrom
ash/eng-28709-workflow-run-git-flags

Conversation

@hSATAC

@hSATAC hSATAC commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Why

eas workflow:run <file> uploads the local project, so the run carries no branch or commit and the EAS dashboard cannot list it under a branch. Affirm asked for this (ENG-28709); server side is expo/universe#33199.

How

  • Add --git-branch and --git-commit-hash, paired with oclif dependsOn and exclusive with --ref.
  • Check locally that the hash is a full 40-character SHA; the server verifies the commit in the linked GitHub repository.
  • Omit the git field when the flags are unset, so requests stay unchanged for current users and older servers.
  • Regenerate the GraphQL types from production plus the pending www schema, which also pulls in unrelated schema drift.

Draft note: verify-graphql-code fails until expo/universe#33199 is deployed.

Test Plan

Added unit coverage for the flag helper and for the git input passed to the mutation, and ran the built binary to confirm the flag errors fire before login. Also ran yarn typecheck, yarn test, yarn fmt:check, yarn lint, and the changeset check.

`eas workflow:run <file>` uploads the local project, so the run carries
no branch or commit and the EAS dashboard cannot list it under a branch.
The two flags record the branch and commit the uploaded
project comes from. They must be given together and cannot be combined
with `--ref`. The server verifies the commit in the project's linked
GitHub repository and reads the commit message from GitHub.

Generated GraphQL types come from production plus the pending www
schema change, so the diff also carries unrelated schema drift.
@linear-code

linear-code Bot commented Nov 4, 2026

Copy link
Copy Markdown

ENG-28709

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

✅ Thank you for adding a changeset!

@codecov

codecov Bot commented Nov 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.65%. Comparing base (156e38e) to head (a309200).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4815      +/-   ##
==========================================
+ Coverage   76.64%   76.65%   +0.01%     
==========================================
  Files        1102     1102              
  Lines       55495    55505      +10     
  Branches    12236    12238       +2     
==========================================
+ Hits        42530    42540      +10     
  Misses      11976    11976              
  Partials      989      989              

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

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