Hive Hive
Sign in

Xcode 27: tuist generate reports a false circular dependency for xctest-dynamic-overlay

GitHub issue · Open

Metadata
Source
tuist/tuist #12846
Updated
Sep 4, 2026
Details

tuist generate reports a false circular dependency for xctest-dynamic-overlay

Environment

macOS: 27.0 (26A5425a)
Xcode: 27.0 (beta 6) (27A5252f)
Swift: 6.4
Tuist: 4.206.0 (same on 4.208.0-canary.1)

The same project succeeds with macOS 26 and Xcode 26.

Reproduction

The reproducer is a minimal Tuist project with two direct package dependencies:

.package(
url: "https://github.com/pointfreeco/xctest-dynamic-overlay.git",
exact: "1.13.1",
),
.package(
url: "https://github.com/pointfreeco/swift-snapshot-testing.git",
exact: "1.19.4",
),

Run only:

tuist install
tuist generate

tuist install succeeds and resolves:

swift-custom-dump 1.7.3
swift-snapshot-testing 1.19.4
swift-syntax 603.0.2
xctest-dynamic-overlay 1.13.1

Actual result

tuist generate fails while constructing the graph:

Found circular dependency between targets:
.../TuistXCTestIssueReportingRepro
-> .../xctest-dynamic-overlay:XCTestDynamicOverlay
-> .../xctest-dynamic-overlay:_IssueReporting
-> .../xctest-dynamic-overlay:_IssueReporting

Expected result

Tuist should generate the workspace successfully. The dependency graph should not contain a target depending on itself.

Additional context

xctest-dynamic-overlay 1.13.1 is a compatibility package forwarding to the newer issue-reporting implementation. swift-snapshot-testing brings swift-custom-dump transitively, which creates the relevant package graph.

The same dependency setup works with macOS 26 and Xcode 26, and the issue appears only after switching to macOS 27/Xcode 27.

Flights

Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.

New Flights are paused Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet

Start a Flight and preserve its objective, outcome, and session here.

Comments

No GitHub comments yet.