Skip to content

[steps] Add local action discovery utilities#3956

Draft
sswrk wants to merge 1 commit into
szymonswierk/eng-22387-eas-build-job-local-action-schemafrom
szymonswierk/eng-22387-steps-local-action-discovery
Draft

[steps] Add local action discovery utilities#3956
sswrk wants to merge 1 commit into
szymonswierk/eng-22387-eas-build-job-local-action-schemafrom
szymonswierk/eng-22387-steps-local-action-discovery

Conversation

@sswrk

@sswrk sswrk commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Why

This is the first @expo/steps piece for local reusable workflow actions. Follow-up PRs will load these actions, validate them in workflow files, and expand uses: ./... at parse time. This PR adds the shared discovery helpers that will be needed for all of this.

How

  • Adds localActions.ts:
    • ./-prefixed uses: reference parsing (parseActionReference, isActionReference)
    • Recursive action catalog building from a step list (buildActionCatalogFromStepsAsync), including cycle detection
    • Path helpers to resolve local action directoreis and ensure they stay within the project root
  • Rejects local action references in .eas/build/*.yml custom build configs, since actions are workflow-only.

Test Plan

Added unit tests.

@linear-code

linear-code Bot commented Jul 6, 2026

Copy link
Copy Markdown

ENG-22387

sswrk commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@sswrk sswrk added the no changelog PR that doesn't require a changelog entry label Jul 6, 2026
@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.33962% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.33%. Comparing base (06676aa) to head (c230ee8).

Files with missing lines Patch % Lines
packages/steps/src/utils/localActions.ts 95.75% 2 Missing ⚠️
packages/steps/src/index.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@                                     Coverage Diff                                      @@
##           szymonswierk/eng-22387-eas-build-job-local-action-schema    #3956      +/-   ##
============================================================================================
+ Coverage                                                     59.28%   59.33%   +0.05%     
============================================================================================
  Files                                                           936      937       +1     
  Lines                                                         41101    41154      +53     
  Branches                                                       8660     8671      +11     
============================================================================================
+ Hits                                                          24364    24414      +50     
- Misses                                                        16643    16646       +3     
  Partials                                                         94       94              

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

@sswrk sswrk force-pushed the szymonswierk/eng-22387-steps-local-action-discovery branch 2 times, most recently from bf2e850 to ea3cab3 Compare July 6, 2026 14:49
@sswrk sswrk force-pushed the szymonswierk/eng-22387-steps-local-action-discovery branch from ea3cab3 to c230ee8 Compare July 6, 2026 15:20
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

⏩ The changelog entry check has been skipped since the "no changelog" label is present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog PR that doesn't require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant