Skip to content

fix: smoke test product reference, platform floor, and runnable quickstart - #13

Merged
TeoSlayer merged 1 commit into
mainfrom
fix/smoke-product-reference
Jun 16, 2026
Merged

fix: smoke test product reference, platform floor, and runnable quickstart#13
TeoSlayer merged 1 commit into
mainfrom
fix/smoke-product-reference

Conversation

@TeoSlayer

Copy link
Copy Markdown
Contributor

The "SDK examples smoke test" workflow was red on main. Three genuine
issues, each of which would surface in sequence:

  1. The generated smoke Package.swift referenced the dependency product
    as dependencies: ["Pilot"]. SwiftPM derives a path-dependency's
    identity from its directory name (sdk-swift), not its manifest
    name (Pilot), so it errored:
    product 'Pilot' required by package 'smoke' target 'smoke' not found.
    Fixed to .product(name: "Pilot", package: "sdk-swift").

  2. After that, SwiftPM refused to resolve because the smoke executable
    declared no platform floor while Pilot requires macOS 12. Added
    platforms: [.macOS(.v12)] to the generated manifest.

  3. The README quickstart (which the workflow extracts and runs verbatim)
    used FileManager/Data without import Foundation, and called
    handshake(peerID: 12345) / waitForTrust against a non-existent
    peer, which fatals at runtime against the registry. Added the
    Foundation import and made the quickstart a self-contained loopback
    example (start -> identity -> health -> stop) that matches the
    workflow's documented intent, with the peer handshake/send/receive
    shown as commented copy-paste guidance.

Verified locally on macOS (Swift 6.3.2) by replaying the workflow's
extraction + package generation: swift run smoke now exits 0.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

…start

The "SDK examples smoke test" workflow was red on main. Three genuine
issues, each of which would surface in sequence:

1. The generated smoke Package.swift referenced the dependency product
   as `dependencies: ["Pilot"]`. SwiftPM derives a path-dependency's
   identity from its directory name (`sdk-swift`), not its manifest
   name (`Pilot`), so it errored:
     product 'Pilot' required by package 'smoke' target 'smoke' not found.
   Fixed to `.product(name: "Pilot", package: "sdk-swift")`.

2. After that, SwiftPM refused to resolve because the smoke executable
   declared no platform floor while Pilot requires macOS 12. Added
   `platforms: [.macOS(.v12)]` to the generated manifest.

3. The README quickstart (which the workflow extracts and runs verbatim)
   used `FileManager`/`Data` without `import Foundation`, and called
   `handshake(peerID: 12345)` / `waitForTrust` against a non-existent
   peer, which fatals at runtime against the registry. Added the
   Foundation import and made the quickstart a self-contained loopback
   example (start -> identity -> health -> stop) that matches the
   workflow's documented intent, with the peer handshake/send/receive
   shown as commented copy-paste guidance.

Verified locally on macOS (Swift 6.3.2) by replaying the workflow's
extraction + package generation: `swift run smoke` now exits 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TeoSlayer
TeoSlayer merged commit 24fddb5 into main Jun 16, 2026
4 checks passed
@TeoSlayer
TeoSlayer deleted the fix/smoke-product-reference branch June 16, 2026 09:02
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.

2 participants