Skip to content

Abstract build steps to externalize the build configuration#6842

Draft
alfonso-noriega wants to merge 99 commits intographite-base/6842from
02-10-abstract_build_steps_to_externalize_the_build_configuration
Draft

Abstract build steps to externalize the build configuration#6842
alfonso-noriega wants to merge 99 commits intographite-base/6842from
02-10-abstract_build_steps_to_externalize_the_build_configuration

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

graygilmore and others added 30 commits January 14, 2026 10:44
Include websocket URL in dev session create API call
…ed_features_in_toml

01 15 added support for supported features in toml
Update feature flag gating for extension templates
…ions_in_the_dev_server_payload

Expose tools and instructions in the Dev Server payload
…ition

Fix `shopify theme dev --theme-editor-sync` so it doesn’t delete files when a race condition happens
…or-empty-query

Fix confusing error message when query is empty
…unning commands that don’t require authentication
…ility

Make --no-release exclusive from new --allow flags on app deploy
Added new supportedFeatures to ExtensionPayload
…utation-inputs

[Bulk Ops CLI] remove extra newline from bulk mutation variables
gonzaloriestra and others added 20 commits February 5, 2026 11:17
…4.17.23

Bump lodash from 4.17.21 to 4.17.23
…-122fa75296

Bump the esbuild group across 4 directories with 1 update
Bumps [diff](https://github.com/kpdecker/jsdiff) from 5.2.0 to 8.0.3.
- [Changelog](https://github.com/kpdecker/jsdiff/blob/master/release-notes.md)
- [Commits](kpdecker/jsdiff@v5.2.0...v8.0.3)

---
updated-dependencies:
- dependency-name: diff
  dependency-version: 8.0.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…709f28abb

Bump oclif from 4.22.29 to 4.22.32 in the oclif group across 1 directory
…loging_on_unexepcete_select_app_error

Add failsafe and improve logging on unexpected select app error
Rewrite dev store APIs in local dev for app preview
Now that the public theme duplicate mutation is
in in latest (rather than release candidate)
we no longer need to specify `2025-10` as the version

This commit removes the hardcoded version value
from the theme duplicate API call
Remove hardcoded version from theme duplicate API call
fix issue for undefined sessions in theme commands
Use unified admin store domain for non-1P dev sessions
Add dev-console=show to app dev preview url
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
@elanalynn elanalynn force-pushed the proj-48450/asset-pipeline-for-hosted-apps branch from 4dd73b7 to 4a80cd2 Compare February 13, 2026 16:32
@elanalynn elanalynn changed the base branch from proj-48450/asset-pipeline-for-hosted-apps to graphite-base/6842 February 13, 2026 16:36
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.