Skip to content

Doctor R4 remedy names both halves; scaffolder CI fans out - #143

Merged
foscomputerservices merged 1 commit into
mainfrom
fix/r4-remedy-and-scaffolder-fanout
Sep 2, 2026
Merged

Doctor R4 remedy names both halves; scaffolder CI fans out#143
foscomputerservices merged 1 commit into
mainfrom
fix/r4-remedy-and-scaffolder-fanout

Conversation

@foscomputerservices

Copy link
Copy Markdown
Owner

Summary

Doctor R4's testing-product remedy names both halves. Removing FOSTesting from a non-test target is only half the fix; the finding now also says to link the testing product directly on each test target that uses it, and why the one-doorway rule does not apply there. Surfaced by the first customer doctor run, where "remove the link" alone would have broken the test bundles.

The scaffolder CI job fans out. The serial seventy-minute job (fast suite 13m, walking skeletons 17m, generated UI tests iOS 32m + macOS 5m) becomes three jobs: fast suite, skeletons, and a four-leg matrix over app shape × destination. Each generated-app leg builds the CLI and scaffolds its own app, so nothing waits on anything; the wall clock is the longest leg. Cost: each leg pays its own Xcode setup, xcodegen install, and CLI build.

Verification

  • swift test --filter FOSMVVMBootstrapTests: 90 tests pass. swiftformat and swiftlint clean.
  • Workflow YAML parses; the matrix expands to LocalDemo/ServerDemo × iOS Simulator/macOS with shape, bundle id, destination, and signing flags joined via include.
  • This PR's own run is the proof of the fan-out.

…i: the scaffolder job fans out

The FOSTesting-in-a-non-test-target finding now says to link the testing
product directly on each test target that uses it, and why the one-doorway
rule does not apply there — removing the link alone breaks the test
bundles.

The serial scaffolder CI job (fast suite, walking skeletons, four
generated-app UI-test runs; seventy minutes) becomes three jobs, the last
a four-leg matrix over app shape × destination. Each leg builds the CLI
and scaffolds its own app, so nothing waits on anything.
@foscomputerservices
foscomputerservices marked this pull request as draft September 2, 2026 17:31
@foscomputerservices
foscomputerservices marked this pull request as ready for review September 2, 2026 18:16
@foscomputerservices
foscomputerservices merged commit dd88628 into main Sep 2, 2026
20 checks passed
@foscomputerservices
foscomputerservices deleted the fix/r4-remedy-and-scaffolder-fanout branch September 2, 2026 18:16
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