Skip to content

CI: Swift 6.2 compiler bug in swift-configuration #23

@leogdion

Description

@leogdion

Issue

CI builds on Windows and Ubuntu Noble with Swift 6.2.x stable toolchains fail due to a known Swift compiler bug when compiling Apple's Swift Configuration library.

Root Cause

Swift 6.2.x compilers from swift.org have assertions enabled, which triggers a SIL verification crash in FileProvider.swift:176:

SIL verification failed: inconsistent stack heights entering basic block:
state.Stack == foundState.Stack || isUnreachable()

Upstream Issue: apple/swift-configuration#128

Affected Platforms

Platform Swift Version Status
Windows 2022 Swift 6.2-RELEASE ❌ Failed
Windows 2025 Swift 6.2-RELEASE ❌ Failed
Ubuntu Noble Swift 6.2 stable ❌ Failed
Ubuntu Noble Swift 6.2/6.3 nightly ✅ Passed
macOS Xcode 26.2 ✅ Passed

Workaround

Since CelestraCloud only uses CommandLineArgumentsProvider and EnvironmentVariablesProvider, we can remove the .defaults trait (which includes JSON/FileProvider support) from the Swift Configuration dependency:

// Package.swift
.package(
    url: "https://github.com/apple/swift-configuration.git",
    from: "1.0.0",
    traits: ["CommandLineArguments"]  // Removed .defaults
)

This avoids compiling FileProvider entirely, sidestepping the compiler bug.

Resolution

The bug is already fixed in Swift 6.3. Once Swift 6.3 stable is released, we can re-add .defaults if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions