Skip to content

Where iOS app, shared StuffTestHost, and iOS StuffCore#5

Merged
kyleve merged 3 commits intomainfrom
shared/move-stuffcore-under-shared
Apr 6, 2026
Merged

Where iOS app, shared StuffTestHost, and iOS StuffCore#5
kyleve merged 3 commits intomainfrom
shared/move-stuffcore-under-shared

Conversation

@kyleve
Copy link
Copy Markdown
Owner

@kyleve kyleve commented Apr 6, 2026

Summary

This branch reshapes the repo around a Broadway-style split: libraries live in a root Swift package, and Tuist only generates the Xcode project for apps and test bundles that consume that package via Package.local.

Layout and targets

  • Shared/StuffCore/StuffCore (iOS library in SPM); StuffCoreTests run in-process with StuffTestHost + WhereTesting (same hosted pattern as the Where package tests).
  • Shared/StuffTestHost/ — minimal UIKit app used as the shared test host for hosted unit tests.
  • Where/Where iOS app (Where/Where/Sources), WhereCore / WhereUI / WhereTesting SwiftPM targets, plus WhereTests, WhereCoreTests, and WhereUITests (the latter two hosted like StuffCore tests).

Build system

  • Package.swift (repo root) — products StuffCore, WhereCore, WhereUI, WhereTesting; iOS 26 minimum.
  • Project.swiftPackage.local(path: .relativeToRoot(".")), a small unitTests(...) helper for hosted test bundles, and Tuist targets for Where, StuffTestHost, and the test targets listed above.

Docs and CI

  • AGENTS.md / README.md — document the workspace (open Stuff.xcworkspace), the package + Tuist layout, and how to run ./ide / tuist generate / tests.
  • .github/workflows/ci.ymltuist test with --no-selective-testing and a pinned iOS Simulator destination so CI runs the full suite predictably.

Test plan

  • mise exec -- tuist generate (open Stuff.xcworkspace after generate)
  • mise exec -- tuist test --no-selective-testing -- -destination 'platform=iOS Simulator,name=iPhone 17,OS=26.2' (adjust name/OS to match an installed runtime)
  • CI passes on this PR

Made with Cursor

kyleve added 3 commits April 6, 2026 16:35
Relocate framework sources and tests under Shared/ for shared layout.

Made-with: Cursor
- Move StuffCore to Shared/ as an iOS framework; hosted StuffCoreTests use StuffTestHost
- Add Shared/StuffTestHost (scene-based UIKit host) for shared TEST_HOST
- Add Where app, WhereCore, WhereUI, WhereTesting, and tests under Where/
- Extend Project.swift with iOS helpers and hosted unit-test wiring
- Pin CI tuist test to an iOS Simulator destination; update AGENTS.md and README

Made-with: Cursor
- Add root Package.swift (StuffCore, WhereCore, WhereUI, WhereTesting)
- Slim Project.swift to Package.local + unitTests helper like Broadway
- Document the split in AGENTS.md and README.md

Made-with: Cursor
@kyleve kyleve force-pushed the shared/move-stuffcore-under-shared branch from 1adf938 to d38bbf9 Compare April 6, 2026 21:49
@kyleve kyleve changed the title Where iOS app, shared StuffTestHost, iOS StuffCore Where stack, Shared StuffCore, and Broadway-style local SPM + Tuist Apr 6, 2026
@kyleve kyleve changed the title Where stack, Shared StuffCore, and Broadway-style local SPM + Tuist Where iOS app, shared StuffTestHost, and iOS StuffCore Apr 6, 2026
@kyleve kyleve merged commit c78adac into main Apr 6, 2026
4 checks passed
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.

1 participant