The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of OpenAIKit, reference master (d95088), with Swift 6.2 (beta) for macOS (SPM) on 27 Jun 2025 12:47:40 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/marcusziade/OpenAIKit.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/marcusziade/OpenAIKit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at d95088d docs: Add missing code files for DeepResearch streaming tutorial section 5
Cloned https://github.com/marcusziade/OpenAIKit.git
Revision (git rev-parse @):
d95088d74f21986e9e0b722ec155a99150ce5aae
SUCCESS checkout https://github.com/marcusziade/OpenAIKit.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/marcusziade/OpenAIKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/9] Write OpenAIKitTester-entitlement.plist
[3/9] Write sources
[5/9] Write swift-version-1EA4D86E10B52AF.txt
[7/38] Emitting module OpenAIKit
[8/41] Compiling OpenAIKit Responses.swift
[9/41] Compiling OpenAIKit OpenAIKit.swift
[10/41] Compiling OpenAIKit JSONValue.swift
[11/41] Compiling OpenAIKit AssistantsEndpoint.swift
[12/41] Compiling OpenAIKit AudioEndpoint.swift
[13/41] Compiling OpenAIKit BatchEndpoint.swift
[14/41] Compiling OpenAIKit Embeddings.swift
[15/41] Compiling OpenAIKit Files.swift
[16/41] Compiling OpenAIKit Images.swift
[17/41] Compiling OpenAIKit ThreadsEndpoint.swift
[18/41] Compiling OpenAIKit VectorStoresEndpoint.swift
[19/41] Compiling OpenAIKit OpenAIError+UI.swift
[20/41] Compiling OpenAIKit ModelConstants.swift
[21/41] Compiling OpenAIKit Models.swift
[22/41] Compiling OpenAIKit Moderations.swift
[23/41] Compiling OpenAIKit BatchesEndpoint.swift
[24/41] Compiling OpenAIKit ChatEndpoint.swift
[25/41] Compiling OpenAIKit EmbeddingsEndpoint.swift
[26/41] Compiling OpenAIKit FilesEndpoint.swift
[27/41] Compiling OpenAIKit FineTuningEndpoint.swift
[28/41] Compiling OpenAIKit ImagesEndpoint.swift
[29/41] Compiling OpenAIKit Audio.swift
[30/41] Compiling OpenAIKit Batch.swift
[31/41] Compiling OpenAIKit Chat.swift
[32/41] Compiling OpenAIKit ModelsEndpoint.swift
[33/41] Compiling OpenAIKit ModerationsEndpoint.swift
[34/41] Compiling OpenAIKit ResponsesEndpoint.swift
[35/41] Compiling OpenAIKit NetworkClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:136:29: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
134 |                         let jsonString = String(line.dropFirst(6))
135 |                         guard jsonString != "[DONE]" else {
136 |                             continuation.finish()
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
137 |                             return
138 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:54:31: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 52 |
 53 |     public func stream<T: Decodable>(_ request: any Request) -> AsyncThrowingStream<T, Error> {
 54 |         AsyncThrowingStream { continuation in
    |                               `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 55 |             Task {
 56 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:144:42: warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
142 |                         do {
143 |                             let decoded = try self.decoder.decode(T.self, from: data)
144 |                             continuation.yield(decoded)
    |                                          |- warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                          `- note: task-isolated 'decoded' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
145 |                         } catch {
146 |                             continuation.finish(throwing: OpenAIError.decodingFailed(error))
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[36/41] Compiling OpenAIKit OpenAIError.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:136:29: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
134 |                         let jsonString = String(line.dropFirst(6))
135 |                         guard jsonString != "[DONE]" else {
136 |                             continuation.finish()
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
137 |                             return
138 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:54:31: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 52 |
 53 |     public func stream<T: Decodable>(_ request: any Request) -> AsyncThrowingStream<T, Error> {
 54 |         AsyncThrowingStream { continuation in
    |                               `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 55 |             Task {
 56 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:144:42: warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
142 |                         do {
143 |                             let decoded = try self.decoder.decode(T.self, from: data)
144 |                             continuation.yield(decoded)
    |                                          |- warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                          `- note: task-isolated 'decoded' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
145 |                         } catch {
146 |                             continuation.finish(throwing: OpenAIError.decodingFailed(error))
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[37/41] Compiling OpenAIKit Request.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:136:29: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
134 |                         let jsonString = String(line.dropFirst(6))
135 |                         guard jsonString != "[DONE]" else {
136 |                             continuation.finish()
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
137 |                             return
138 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:54:31: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 52 |
 53 |     public func stream<T: Decodable>(_ request: any Request) -> AsyncThrowingStream<T, Error> {
 54 |         AsyncThrowingStream { continuation in
    |                               `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 55 |             Task {
 56 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:144:42: warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
142 |                         do {
143 |                             let decoded = try self.decoder.decode(T.self, from: data)
144 |                             continuation.yield(decoded)
    |                                          |- warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                          `- note: task-isolated 'decoded' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
145 |                         } catch {
146 |                             continuation.finish(throwing: OpenAIError.decodingFailed(error))
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[38/41] Compiling OpenAIKit RetryHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:136:29: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
134 |                         let jsonString = String(line.dropFirst(6))
135 |                         guard jsonString != "[DONE]" else {
136 |                             continuation.finish()
    |                             `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
137 |                             return
138 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:54:31: warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 52 |
 53 |     public func stream<T: Decodable>(_ request: any Request) -> AsyncThrowingStream<T, Error> {
 54 |         AsyncThrowingStream { continuation in
    |                               `- warning: capture of non-sendable type 'T.Type' in an isolated closure; this is an error in the Swift 6 language mode
 55 |             Task {
 56 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKit/Core/NetworkClient.swift:144:42: warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
142 |                         do {
143 |                             let decoded = try self.decoder.decode(T.self, from: data)
144 |                             continuation.yield(decoded)
    |                                          |- warning: sending 'decoded' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                          `- note: task-isolated 'decoded' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
145 |                         } catch {
146 |                             continuation.finish(throwing: OpenAIError.decodingFailed(error))
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[39/56] Compiling OpenAIKitTester ModerationTests.swift
[40/57] Compiling OpenAIKitTester ModelTests.swift
[41/57] Compiling OpenAIKitTester TestProtocol.swift
[42/57] Compiling OpenAIKitTester ImageTests.swift
[43/57] Compiling OpenAIKitTester FileTests.swift
[44/57] Compiling OpenAIKitTester TestRunner.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKitTester/Tests/AdvancedTests.swift:52:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 50 |         print("\n  Testing parallel chat requests...")
 51 |         do {
 52 |             async let response1 = performChatRequest(openAI: openAI, message: "What is 2+2?")
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                   `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
 53 |             async let response2 = performChatRequest(openAI: openAI, message: "What is the capital of France?")
 54 |             async let response3 = performChatRequest(openAI: openAI, message: "Name a color")
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKitTester/Tests/AdvancedTests.swift:53:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 51 |         do {
 52 |             async let response1 = performChatRequest(openAI: openAI, message: "What is 2+2?")
 53 |             async let response2 = performChatRequest(openAI: openAI, message: "What is the capital of France?")
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                   `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
 54 |             async let response3 = performChatRequest(openAI: openAI, message: "Name a color")
 55 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKitTester/Tests/AdvancedTests.swift:54:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 52 |             async let response1 = performChatRequest(openAI: openAI, message: "What is 2+2?")
 53 |             async let response2 = performChatRequest(openAI: openAI, message: "What is the capital of France?")
 54 |             async let response3 = performChatRequest(openAI: openAI, message: "Name a color")
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                   `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
 55 |
 56 |             let responses = await [try response1, try response2, try response3]
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[45/57] Compiling OpenAIKitTester AdvancedTests.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKitTester/Tests/AdvancedTests.swift:52:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 50 |         print("\n  Testing parallel chat requests...")
 51 |         do {
 52 |             async let response1 = performChatRequest(openAI: openAI, message: "What is 2+2?")
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                   `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
 53 |             async let response2 = performChatRequest(openAI: openAI, message: "What is the capital of France?")
 54 |             async let response3 = performChatRequest(openAI: openAI, message: "Name a color")
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKitTester/Tests/AdvancedTests.swift:53:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 51 |         do {
 52 |             async let response1 = performChatRequest(openAI: openAI, message: "What is 2+2?")
 53 |             async let response2 = performChatRequest(openAI: openAI, message: "What is the capital of France?")
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                   `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
 54 |             async let response3 = performChatRequest(openAI: openAI, message: "Name a color")
 55 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenAIKitTester/Tests/AdvancedTests.swift:54:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
 52 |             async let response1 = performChatRequest(openAI: openAI, message: "What is 2+2?")
 53 |             async let response2 = performChatRequest(openAI: openAI, message: "What is the capital of France?")
 54 |             async let response3 = performChatRequest(openAI: openAI, message: "Name a color")
    |                                   |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
    |                                   `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
 55 |
 56 |             let responses = await [try response1, try response2, try response3]
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[46/57] Compiling OpenAIKitTester TestConfiguration.swift
[47/57] Compiling OpenAIKitTester OpenAIKitTester.swift
[48/57] Compiling OpenAIKitTester EdgeCaseTests.swift
[49/57] Compiling OpenAIKitTester EmbeddingTests.swift
[50/57] Emitting module OpenAIKitTester
[51/57] Compiling OpenAIKitTester ChatTests.swift
[52/57] Compiling OpenAIKitTester DeepResearchTests.swift
[53/57] Compiling OpenAIKitTester AudioTests.swift
[54/57] Compiling OpenAIKitTester BatchTests.swift
[54/57] Write Objects.LinkFileList
[55/57] Linking OpenAIKitTester
[56/57] Applying OpenAIKitTester
Build complete! (23.41s)
Fetching https://github.com/apple/swift-docc-plugin
[1/2082] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.21s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.4 (4.26s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3418] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.08s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.71s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.4
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "OpenAIKit",
  "name" : "OpenAIKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "OpenAIKit",
      "targets" : [
        "OpenAIKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "OpenAIKitTester",
      "targets" : [
        "OpenAIKitTester"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "OpenAIKitTests",
      "module_type" : "SwiftTarget",
      "name" : "OpenAIKitTests",
      "path" : "Tests/OpenAIKitTests",
      "sources" : [
        "AudioModelsTests.swift",
        "ChatModelsTests.swift",
        "ConfigurationTests.swift",
        "EmbeddingModelsTests.swift",
        "EnhancedErrorHandlingTests.swift",
        "ErrorHandlingTests.swift",
        "JSONValueTests.swift",
        "ModelConstantsTests.swift",
        "OpenAIKitTests.swift",
        "RequestSerializationTests.swift",
        "ResponseParsingTests.swift"
      ],
      "target_dependencies" : [
        "OpenAIKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OpenAIKitTester",
      "module_type" : "SwiftTarget",
      "name" : "OpenAIKitTester",
      "path" : "Sources/OpenAIKitTester",
      "product_memberships" : [
        "OpenAIKitTester"
      ],
      "sources" : [
        "Configuration/TestConfiguration.swift",
        "OpenAIKitTester.swift",
        "TestRunner.swift",
        "Tests/AdvancedTests.swift",
        "Tests/AudioTests.swift",
        "Tests/BatchTests.swift",
        "Tests/ChatTests.swift",
        "Tests/DeepResearchTests.swift",
        "Tests/EdgeCaseTests.swift",
        "Tests/EmbeddingTests.swift",
        "Tests/FileTests.swift",
        "Tests/ImageTests.swift",
        "Tests/ModelTests.swift",
        "Tests/ModerationTests.swift",
        "Utilities/TestProtocol.swift"
      ],
      "target_dependencies" : [
        "OpenAIKit"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "OpenAIKit",
      "module_type" : "SwiftTarget",
      "name" : "OpenAIKit",
      "path" : "Sources/OpenAIKit",
      "product_memberships" : [
        "OpenAIKit",
        "OpenAIKitTester"
      ],
      "sources" : [
        "Core/NetworkClient.swift",
        "Core/OpenAIError.swift",
        "Core/Request.swift",
        "Core/RetryHandler.swift",
        "Endpoints/AssistantsEndpoint.swift",
        "Endpoints/AudioEndpoint.swift",
        "Endpoints/BatchEndpoint.swift",
        "Endpoints/BatchesEndpoint.swift",
        "Endpoints/ChatEndpoint.swift",
        "Endpoints/EmbeddingsEndpoint.swift",
        "Endpoints/FilesEndpoint.swift",
        "Endpoints/FineTuningEndpoint.swift",
        "Endpoints/ImagesEndpoint.swift",
        "Endpoints/ModelsEndpoint.swift",
        "Endpoints/ModerationsEndpoint.swift",
        "Endpoints/ResponsesEndpoint.swift",
        "Endpoints/ThreadsEndpoint.swift",
        "Endpoints/VectorStoresEndpoint.swift",
        "Extensions/OpenAIError+UI.swift",
        "Models/Audio.swift",
        "Models/Batch.swift",
        "Models/Chat.swift",
        "Models/Embeddings.swift",
        "Models/Files.swift",
        "Models/Images.swift",
        "Models/ModelConstants.swift",
        "Models/Models.swift",
        "Models/Moderations.swift",
        "Models/Responses.swift",
        "OpenAIKit.swift",
        "Utilities/JSONValue.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.