[steps][build-tools][eas-cli] Expand legacy command/path local functions to a single build step; rename references in the consumers - #4096
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## szymonswierk/eng-25402-eas-build-job-legacy-function-shape #4096 +/- ##
=============================================================================================
Coverage ? 62.52%
=============================================================================================
Files ? 1011
Lines ? 45832
Branches ? 9645
=============================================================================================
Hits ? 28651
Misses ? 15720
Partials ? 1461 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
b77819d to
b43b302
Compare
22be929 to
a49aa69
Compare
a49aa69 to
0df6118
Compare
0df6118 to
2e32e71
Compare
2e32e71 to
3ba680d
Compare
3ba680d to
096a5fd
Compare
096a5fd to
04ebb71
Compare
80d6d47 to
0486baf
Compare
51743d5 to
2e21d7e
Compare
🤖 AI code reviewDecision: No review — every pass failed
No findings. This review is advisory — it never blocks a merge and never auto-approves. |
2e21d7e to
d544e0c
Compare
316a9b7 to
d4e75da
Compare
A local function can now be a composite function or a single-step command/path function, so the "composite function" naming throughout packages/steps (and its build-tools/eas-cli consumers) is renamed to the more general "local function". Pure rename: no behavior, wording, or type changes.
d4e75da to
5b53032
Compare
|
Re. AI review:
Not something specific to this PR, ignoring |
…m workflows Folded from #4098, which added only this test and CHANGELOG entry.
|
Subscribed to pull request
Generated by CodeMention Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead. |
|
✅ Thank you for adding the changelog entry! |
Why
We want to grandfather the legacy reusable functions from custom builds (https://docs.expo.dev/custom-builds/functions/) into the new reusable functions that can be used in workflows. This is to make the migration from custom builds to workflows easier.
This PR adds support for parsing the legacy custom build functions into workflow steps.
How
First, across
steps, and the consumers (build-toolsandeas-cli):The actual feature in
steps:utils/localFunctions.ts).path:have thepathresolved in this step.BuildFunction(utils/legacyFunction.ts).LocalFunctionExpander).BuildStepalready has the machinery to run such function.working_directoryset by the caller is allowed, because there's just one step.This affects consumers:
build-tools: legacy functions referenced in workflows, hooks or composite functions used in workflows are now loaded.eas-cli:eas workflow:validateaccepts legacy functions.Test Plan
Added unit tests.