Repository navigation
Add the ETDump product to the SwiftPM package template - #22206
Closed
shoumikhin wants to merge 1 commit into
Closed
shoumikhin wants to merge 1 commit into
shoumikhin wants to merge 1 commit into
Conversation
Companion to the change that adds ETDump profiling to the Apple frameworks. The published SwiftPM manifest is generated from this template, so the executorch_etdump product has to be declared here too, or the released package would be missing it. Adds the executorch_etdump product, which depends on the core executorch runtime.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22206
Note: Links to docs will display an error until the docs builds have been completed. This comment was automatically generated by Dr. CI and updates every 15 minutes. |
Gasoonjia
approved these changes
Aug 27, 2026
Contributor
Author
|
Superseded: this declared executorch_etdump while the main-side half builds executorch_dump, so the publish step would trip its has-no-product check on every run. Reopening from a branch rebased onto the merged MLX state with the name corrected, since this repository blocks direct pushes to a branch once it has an open PR. |
shoumikhin
added a commit
that referenced
this pull request
Aug 29, 2026
Supersedes #22206. Same change, rebased onto the `swiftpm` branch now that the MLX halves have landed, plus the product-name fix. ### What #22206 got wrong The template declared the product as `executorch_etdump`, but the `main`-side half (#22205) builds and publishes a framework called `executorch_dump`. The two never agreed, so the release job's own check would fire on every publishing run: ``` ::error::built framework executorch_dump has no product in Package.swift ``` Renamed the product key, both checksum placeholders, and git-mv'd the two stub directories to match. ### Verified against the release job's guards Replayed the publish step's two checks with main's real framework list: ``` with executorch_dump built (22205 landed) -> both guards pass, publishes without it (control) -> GUARD1 blocks on __SHA256_executorch_dump__ ``` The control firing is what makes the pass meaningful: the template is not silently permissive, it blocks when the framework is genuinely absent. ### Coexists with MLX Rebased onto `swiftpm` at the merged MLX state. The materialized manifest carries 20 products including both pairs, with 0 unsubstituted placeholders and `dump-package` clean: ``` dump products: executorch_dump, executorch_dump_debug mlx products: backend_mlx, backend_mlx_debug ``` ### Landing Land #22205 first. Until it is in, this half alone makes the publish step block on the unsubstituted `executorch_dump` checksum, which stops the whole SwiftPM publish rather than just the dump product.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion to #22205 (adding ETDump profiling to the Apple frameworks and SwiftPM package).
The published SwiftPM manifest is generated from
Package.swift.templateon this branch, not from thePackage.swiftonmain. So the newexecutorch_etdumpproduct has to be declared here too, or the released package a consumer downloads would be missing it.What changed
Adds the
executorch_etdumpproduct, which depends on the coreexecutorchruntime. This is the framework that carries the profiler and lets an app collect an ETDump trace.Test plan
Materialized the template the way the release job does (substituting the version and the checksum placeholders) and confirmed
swift package dump-packageparses it and includes theexecutorch_etdumpproduct depending onexecutorch.