Skip to content

Add the ETDump product to the SwiftPM package template - #22286

Merged
shoumikhin merged 2 commits into
swiftpmfrom
swiftpm-etdump-v2
Aug 29, 2026
Merged

shoumikhin merged 2 commits into
swiftpmfrom
swiftpm-etdump-v2

Conversation

@shoumikhin

Copy link
Copy Markdown
Contributor

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.

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.
…oduces

The template declared executorch_etdump while the main-side half builds and
publishes executorch_dump, so the two never agreed: the publish step would trip
its "built framework has no product" check on every run.

Renamed the product key, both checksum placeholders, and git-mv'd the two stub
directories. Verified against the release job's own guards, with main's real
framework list: with executorch_dump built both guards pass, and without it
GUARD1 correctly blocks on the unsubstituted checksum rather than publishing.
@pytorch-bot

pytorch-bot Bot commented Aug 28, 2026 •

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22286

Note: Links to docs will display an error until the docs builds have been completed.

❌ 1 Unclassified Failure

As of commit b703bbb with merge base 1d467d0 (image):

UNCLASSIFIED FAILURE - DrCI could not classify the following job because the workflow did not run on the merge base. The failure may be pre-existing on trunk or introduced by this PR:

  • PR #22286 / Analyze (actions) (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    CodeQL could not process any code written in GitHub Actions. For more information, review our troubleshooting guide at https://gh.io/troubleshooting-code-scanning/no-source-code-seen-during-build .

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 28, 2026
@shoumikhin
shoumikhin merged commit 031d369 into swiftpm Aug 29, 2026
13 of 18 checks passed
@shoumikhin
shoumikhin deleted the swiftpm-etdump-v2 branch August 29, 2026 01:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants