[ENG-17052][build-tools] Add working_directory input to eas/build function group#3582
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
There was a problem hiding this comment.
Pull request overview
Adds a working_directory input to the eas/build function group so callers can run the group’s steps from a subdirectory (e.g. monorepos), while preserving step-specific directories like ./ios for CocoaPods.
Changes:
- Introduces an optional
working_directoryinput provider on theeas/buildfunction group and propagates it to almost all generated steps. - Adds helper logic to compose the function-group working directory with step-level working directories (notably
Install Pods). - Adds unit tests validating propagation/composition behavior across iOS/Android variants.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| packages/build-tools/src/steps/functionGroups/build.ts | Adds working_directory input handling and propagates it to generated steps; composes with step-level dirs for iOS pods. |
| packages/build-tools/src/steps/functionGroups/tests/build.test.ts | New tests covering working directory propagation and composition across platforms/credential modes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
497f9f4 to
37be7c1
Compare
37be7c1 to
53645d9
Compare
|
✅ Thank you for adding the changelog entry! |
|
Subscribed to pull request
Generated by CodeMention |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3582 +/- ##
==========================================
+ Coverage 54.27% 54.43% +0.16%
==========================================
Files 820 820
Lines 35055 35063 +8
Branches 7260 7262 +2
==========================================
+ Hits 19024 19084 +60
+ Misses 15944 15888 -56
- Partials 87 91 +4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
working_directory input to eas/build function group

Why
To support custom build workflows that check out a repository, create a new Expo app inside it, and then build that app, we need a way to override the working directory for the
eas/buildfunction group.How
Added
working_directoryas an optional input to theeas/buildfunction group viainputProviders. When provided, it's propagated to all build steps excepteas/checkout(which doesn't use workingDirectory - it operates onprojectSourceDirectory/projectTargetDirectorydirectly).For steps that already define their own relative working directory (e.g.
installPodswith./ios), the directories are composed usingpath.join- soworking_directory: ./my-appwith./iosresults inmy-app/ios.Test plan
Add automated tests.
Test manually with