[build-tools][steps] Load composite function catalogs for hook steps - #4063
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4063 +/- ##
==========================================
+ Coverage 62.40% 62.43% +0.03%
==========================================
Files 1009 1009
Lines 45699 45735 +36
Branches 9615 9621 +6
==========================================
+ Hits 28513 28548 +35
- Misses 15723 15724 +1
Partials 1463 1463 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
b9e011c to
eb60cb4
Compare
eb60cb4 to
e2453da
Compare
e2453da to
be59908
Compare
be59908 to
e65600c
Compare
31f42c2 to
b5884c9
Compare
b5884c9 to
e810dd3
Compare
e810dd3 to
2f52da6
Compare
2f52da6 to
55401ab
Compare
55401ab to
078f9c2
Compare
c302845 to
ae26d93
Compare
ae26d93 to
400067c
Compare
There was a problem hiding this comment.
Overall this looks good to me, and the native/steps split makes sense. I left a couple of non-blocking inline comments on things I wasn’t sure were intentional.
One separate follow-up: eas workflow:validate only checks composites in job.steps, so references from hooks or defaults.hooks could pass validation and then fail on the worker. Not blocking this PR, but worth tracking.
400067c to
f940337
Compare
Thanks for thinking about everything. This is coming in the next PR, I'm also looking into reducing the duplication between build-tools and eas-cli. |
8fa56f7 to
d156a2e
Compare
There was a problem hiding this comment.
The lazy loader addresses what I raised last time, and the rejectingLoader() test covers it. Removing hooks from buildCompositeFunctionCatalogAsync also resolves my other comment.
I left one blocking comment in jobHooks.ts about the hook error messages regressing from main. The other three are non-blocking.
🤖 AI code reviewDecision: Approve with comments Overall PR risk: Medium. The change modifies existing hook parsing and composite loading behavior. The affected surface is build hook execution for steps and native builds. The main reported risk is that an unknown hook key can write terminal control text to build logs. 🟡 Warning (1)
This review is advisory — it never blocks a merge and never auto-approves. |
|
Re. AI review:
Fair, goes hand in hand with #4063 (comment). Addressed: 060c136
Leaving this out for now, I think it's not really specific to this PR |
hSATAC
left a comment
There was a problem hiding this comment.
Left one non-blocking inline comment.
060c136 to
ca5c2ca
Compare
|
✅ Thank you for adding the changelog entry! |
Why
Local composite functions can be referenced from hook steps (
uses: ./...), but build-tools only builds the composite catalog from jobsteps.How
steps, pass a lazyloadCompositeFunctionloader so hook composites load only when their anchor runsTest Plan
Added unit tests.