Skip to content

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

Closed
shoumikhin wants to merge 1 commit into
swiftpmfrom
swiftpm-etdump
Closed

shoumikhin wants to merge 1 commit into
swiftpmfrom
swiftpm-etdump

Conversation

@shoumikhin

Copy link
Copy Markdown
Contributor

Summary

Companion to #22205 (adding ETDump profiling to the Apple frameworks and SwiftPM package).

The published SwiftPM manifest is generated from Package.swift.template on this branch, not from the Package.swift on main. So the new executorch_etdump product has to be declared here too, or the released package a consumer downloads would be missing it.

What changed

Adds the executorch_etdump product, which depends on the core executorch runtime. 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-package parses it and includes the executorch_etdump product depending on executorch.

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.
@pytorch-bot

pytorch-bot Bot commented Aug 27, 2026

Copy link
Copy Markdown

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

@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 27, 2026
@shoumikhin

Copy link
Copy Markdown
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 shoumikhin closed this Aug 28, 2026
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.
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