Skip to content

Conversation

@alfonso-noriega
Copy link
Contributor

@alfonso-noriega alfonso-noriega commented Feb 10, 2026

[Feature] Add build_steps extension build mode for flexible build pipelines

WHY are these changes introduced?

This PR introduces a new build_steps build mode for extensions, providing a more flexible and configurable build pipeline system. This allows extension developers to define custom build steps with different strategies, rather than being limited to the existing predefined build modes.

WHAT is this pull request doing?

  • Adds a new build_steps mode to the extension build configuration
  • Implements a build steps pipeline executor that can run steps sequentially or in parallel
  • Creates a copy_files step implementation with three strategies:
    • directory: Copy an entire directory
    • pattern: Copy files matching glob patterns
    • files: Copy a specific list of files
  • Adds comprehensive test coverage for the new build steps system
  • Integrates the new build mode with the existing extension build process

The architecture follows a Command Pattern approach, where each step type has a dedicated executor, making it easy to add more step types in the future.

How to test your changes?

  1. TODO
  2. Run shopify app dev and verify that the assets are correctly copied to the output directory
  3. Try different copy strategies and configurations to test the flexibility of the system

Measuring impact

How do we know this change was effective? Please choose one:

  • n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes

Copy link
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.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 10, 2026

Coverage report

St.
Category Percentage Covered / Total
🟡 Statements 79.74% 14604/18315
🟡 Branches 74.04% 7257/9802
🟡 Functions 79.88% 3708/4642
🟢 Lines 80.09% 13809/17242

Test suite run success

3777 tests passing in 1461 suites.

Report generated by 🧪jest coverage report action from cf3d1cc

@alfonso-noriega alfonso-noriega force-pushed the 02-10-abstract_build_steps_to_externalize_the_build_configuration branch 3 times, most recently from 17f1c2d to cf3d1cc Compare February 10, 2026 17:15
@alfonso-noriega alfonso-noriega force-pushed the 02-10-abstract_build_steps_to_externalize_the_build_configuration branch from cf3d1cc to fab204c Compare February 10, 2026 18:32
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