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 GeminiKit, reference 1.0.0 (63827c), with Swift 6.1 for Linux on 13 Jul 2025 11:11:40 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/guitaripod/GeminiKit.git
Reference: 1.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/guitaripod/GeminiKit
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at 63827c0 fix: correct release workflow to build gemini-cli instead of deepseek-cli
Cloned https://github.com/guitaripod/GeminiKit.git
Revision (git rev-parse @):
63827c07138f2c1fbf34b97b877c2a22d348e88f
SUCCESS checkout https://github.com/guitaripod/GeminiKit.git at 1.0.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/guitaripod/GeminiKit.git
https://github.com/guitaripod/GeminiKit.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "GeminiKit",
  "name" : "GeminiKit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "GeminiKit",
      "targets" : [
        "GeminiKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "gemini-cli",
      "targets" : [
        "GeminiCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "GeminiKitTests",
      "module_type" : "SwiftTarget",
      "name" : "GeminiKitTests",
      "path" : "Tests/GeminiKitTests",
      "sources" : [
        "API/FileOperationsTests.swift",
        "ConfigurationTests.swift",
        "ContentTests.swift",
        "ErrorTests.swift",
        "FunctionBuilderTests.swift",
        "GeminiKitTests.swift",
        "GenerationConfigTests.swift",
        "Media/AudioTests.swift",
        "ModelTests.swift",
        "SafetySettingsTests.swift",
        "StreamingTests.swift",
        "Types/PartTests.swift",
        "Types/ToolTests.swift",
        "VideoTests.swift"
      ],
      "target_dependencies" : [
        "GeminiKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GeminiKit",
      "module_type" : "SwiftTarget",
      "name" : "GeminiKit",
      "path" : "Sources/GeminiKit",
      "product_memberships" : [
        "GeminiKit",
        "gemini-cli"
      ],
      "sources" : [
        "Core/Chat.swift",
        "Core/Configuration.swift",
        "Core/GeminiError.swift",
        "Core/GeminiKit.swift",
        "Core/GeminiModels.swift",
        "Core/OpenAICompatibility.swift",
        "Core/SpecializedEndpoints.swift",
        "Extensions/ToolExtensions.swift",
        "Models/AnyCodable.swift",
        "Models/Content.swift",
        "Models/GenerationConfig.swift",
        "Models/OpenAIModels.swift",
        "Models/Request.swift",
        "Models/Response.swift",
        "Models/SpecializedModels.swift",
        "Networking/APIClient.swift",
        "Networking/CURLHTTPClient.swift",
        "Networking/HTTPClient.swift",
        "Networking/URLSessionHTTPClient.swift",
        "Tools/ToolBuilder.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GeminiCLI",
      "module_type" : "SwiftTarget",
      "name" : "GeminiCLI",
      "path" : "Sources/GeminiCLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "gemini-cli"
      ],
      "sources" : [
        "Commands/AudioCommand.swift",
        "Commands/ChatCommand.swift",
        "Commands/CodeExecutionCommand.swift",
        "Commands/ConfigInfoCommand.swift",
        "Commands/CountCommand.swift",
        "Commands/EmbeddingsCommand.swift",
        "Commands/FileCommands.swift",
        "Commands/FunctionCallCommand.swift",
        "Commands/GenerateCommand.swift",
        "Commands/ImageGenerationCommand.swift",
        "Commands/OpenAIChatCommand.swift",
        "Commands/StreamCommand.swift",
        "Commands/VideoCommands.swift",
        "Commands/WebGroundingCommand.swift",
        "Common/CommonOptions.swift",
        "Helpers/FileHelper.swift",
        "Helpers/OutputFormatter.swift",
        "Protocols/CLICommand.swift",
        "Types/OutputFormat.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "GeminiKit"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2e2b3aca8600f890617c2faa770b70e33c1dfd303d6f92b308423b89ef6bde64
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-argument-parser
[1/15524] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.92s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (1.42s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/13] Write sources
[6/13] Write swift-version-24593BA9C3E375BF.txt
[8/34] Emitting module ArgumentParserToolInfo
[9/34] Compiling ArgumentParserToolInfo ToolInfo.swift
[10/35] Wrapping AST for ArgumentParserToolInfo for debugging
[12/79] Emitting module ArgumentParser
[13/85] Compiling ArgumentParser ArgumentVisibility.swift
[14/85] Compiling ArgumentParser CompletionKind.swift
[15/85] Compiling ArgumentParser Errors.swift
[16/87] Compiling ArgumentParser Flag.swift
[17/87] Compiling ArgumentParser NameSpecification.swift
[18/87] Compiling ArgumentParser Option.swift
[19/87] Compiling ArgumentParser OptionGroup.swift
[20/87] Compiling ArgumentParser AsyncParsableCommand.swift
[21/87] Compiling ArgumentParser CommandConfiguration.swift
[22/87] Compiling ArgumentParser CommandGroup.swift
[23/87] Compiling ArgumentParser EnumerableFlag.swift
[24/87] Compiling ArgumentParser ExpressibleByArgument.swift
[25/87] Compiling ArgumentParser CollectionExtensions.swift
[26/87] Compiling ArgumentParser Mutex.swift
[27/87] Compiling ArgumentParser Platform.swift
[28/87] Compiling ArgumentParser SequenceExtensions.swift
[29/87] Compiling ArgumentParser StringExtensions.swift
[30/87] Compiling ArgumentParser SwiftExtensions.swift
[31/87] Compiling ArgumentParser ArgumentDecoder.swift
[32/87] Compiling ArgumentParser ArgumentDefinition.swift
[33/87] Compiling ArgumentParser ArgumentSet.swift
[34/87] Compiling ArgumentParser CommandParser.swift
[35/87] Compiling GeminiKit URLSessionHTTPClient.swift
[36/87] Compiling GeminiKit ToolBuilder.swift
[37/87] Compiling ArgumentParser Tree.swift
[38/87] Compiling ArgumentParser CodingKeyValidator.swift
[39/87] Compiling ArgumentParser NonsenseFlagsValidator.swift
[40/87] Compiling ArgumentParser ParsableArgumentsValidation.swift
[41/87] Compiling ArgumentParser PositionalArgumentsValidator.swift
[42/87] Compiling ArgumentParser UniqueNamesValidator.swift
[45/87] Emitting module GeminiKit
[50/87] Compiling ArgumentParser ParsableArguments.swift
[51/87] Compiling ArgumentParser ParsableCommand.swift
[52/88] Wrapping AST for GeminiKit for debugging
[56/88] Compiling ArgumentParser Name.swift
[57/88] Compiling ArgumentParser Parsed.swift
[58/88] Compiling ArgumentParser ParsedValues.swift
[59/88] Compiling ArgumentParser ParserError.swift
[66/88] Compiling ArgumentParser SplitArguments.swift
[67/88] Compiling ArgumentParser DumpHelpGenerator.swift
[68/88] Compiling ArgumentParser HelpCommand.swift
[69/88] Compiling ArgumentParser HelpGenerator.swift
[70/88] Compiling ArgumentParser MessageInfo.swift
[71/88] Compiling ArgumentParser UsageGenerator.swift
[78/88] Compiling ArgumentParser BashCompletionsGenerator.swift
[79/88] Compiling ArgumentParser CompletionsGenerator.swift
[80/88] Compiling ArgumentParser FishCompletionsGenerator.swift
[81/88] Compiling ArgumentParser ZshCompletionsGenerator.swift
[82/88] Compiling ArgumentParser Argument.swift
[83/88] Compiling ArgumentParser ArgumentDiscussion.swift
[84/88] Compiling ArgumentParser ArgumentHelp.swift
[85/89] Wrapping AST for ArgumentParser for debugging
[87/108] Emitting module GeminiCLI
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:59:57: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
57 |     } catch {
58 |         // Print error to stderr to ensure it's visible
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
   |                                                         `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
60 |         if let geminiError = error as? GeminiError {
61 |             fputs("Details: \(geminiError)\n", stderr)
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:61:48: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
60 |         if let geminiError = error as? GeminiError {
61 |             fputs("Details: \(geminiError)\n", stderr)
   |                                                `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
62 |         }
63 |         semaphore.signal()
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:57:7: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
55 |         await GeminiCLI.main()
56 |         semaphore.signal()
57 |     } catch {
   |       `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
58 |         // Print error to stderr to ensure it's visible
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
[88/110] Compiling GeminiCLI AudioCommand.swift
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/ChatCommand.swift:43:28: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
41 |                 for try await chunk in stream {
42 |                     print(chunk, terminator: "")
43 |                     fflush(stdout)
   |                            `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
44 |                 }
45 |                 print("\n---")
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
[89/110] Compiling GeminiCLI ChatCommand.swift
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/ChatCommand.swift:43:28: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
41 |                 for try await chunk in stream {
42 |                     print(chunk, terminator: "")
43 |                     fflush(stdout)
   |                            `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
44 |                 }
45 |                 print("\n---")
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
[90/110] Compiling GeminiCLI CodeExecutionCommand.swift
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/ChatCommand.swift:43:28: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
41 |                 for try await chunk in stream {
42 |                     print(chunk, terminator: "")
43 |                     fflush(stdout)
   |                            `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
44 |                 }
45 |                 print("\n---")
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
[91/110] Compiling GeminiCLI ConfigInfoCommand.swift
[92/110] Compiling GeminiCLI CountCommand.swift
[93/110] Compiling GeminiCLI EmbeddingsCommand.swift
[94/110] Compiling GeminiCLI OutputFormat.swift
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:59:57: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
57 |     } catch {
58 |         // Print error to stderr to ensure it's visible
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
   |                                                         `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
60 |         if let geminiError = error as? GeminiError {
61 |             fputs("Details: \(geminiError)\n", stderr)
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:61:48: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
60 |         if let geminiError = error as? GeminiError {
61 |             fputs("Details: \(geminiError)\n", stderr)
   |                                                `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
62 |         }
63 |         semaphore.signal()
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:57:7: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
55 |         await GeminiCLI.main()
56 |         semaphore.signal()
57 |     } catch {
   |       `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
58 |         // Print error to stderr to ensure it's visible
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
[95/110] Compiling GeminiCLI main.swift
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:59:57: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
57 |     } catch {
58 |         // Print error to stderr to ensure it's visible
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
   |                                                         `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
60 |         if let geminiError = error as? GeminiError {
61 |             fputs("Details: \(geminiError)\n", stderr)
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:61:48: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
60 |         if let geminiError = error as? GeminiError {
61 |             fputs("Details: \(geminiError)\n", stderr)
   |                                                `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
62 |         }
63 |         semaphore.signal()
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/GeminiCLI/main.swift:57:7: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
55 |         await GeminiCLI.main()
56 |         semaphore.signal()
57 |     } catch {
   |       `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
58 |         // Print error to stderr to ensure it's visible
59 |         fputs("Error: \(error.localizedDescription)\n", stderr)
[96/110] Compiling GeminiCLI CommonOptions.swift
[97/110] Compiling GeminiCLI FileHelper.swift
[98/110] Compiling GeminiCLI OutputFormatter.swift
[99/110] Compiling GeminiCLI CLICommand.swift
[100/110] Compiling GeminiCLI ImageGenerationCommand.swift
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/OpenAIChatCommand.swift:44:28: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
42 |                 if let delta = chunk.choices.first?.delta.content {
43 |                     print(delta, terminator: "")
44 |                     fflush(stdout)
   |                            `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
45 |                 }
46 |             }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/StreamCommand.swift:71:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
69 |     func handleStreamChunk(_ chunk: String) {
70 |         print(chunk, terminator: "")
71 |         fflush(stdout)
   |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
72 |     }
73 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
[101/110] Compiling GeminiCLI OpenAIChatCommand.swift
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/OpenAIChatCommand.swift:44:28: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
42 |                 if let delta = chunk.choices.first?.delta.content {
43 |                     print(delta, terminator: "")
44 |                     fflush(stdout)
   |                            `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
45 |                 }
46 |             }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/StreamCommand.swift:71:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
69 |     func handleStreamChunk(_ chunk: String) {
70 |         print(chunk, terminator: "")
71 |         fflush(stdout)
   |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
72 |     }
73 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
[102/110] Compiling GeminiCLI StreamCommand.swift
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/OpenAIChatCommand.swift:44:28: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
42 |                 if let delta = chunk.choices.first?.delta.content {
43 |                     print(delta, terminator: "")
44 |                     fflush(stdout)
   |                            `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
45 |                 }
46 |             }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/host/spi-builder-workspace/Sources/GeminiCLI/Commands/StreamCommand.swift:71:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
69 |     func handleStreamChunk(_ chunk: String) {
70 |         print(chunk, terminator: "")
71 |         fflush(stdout)
   |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
72 |     }
73 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
[103/110] Compiling GeminiCLI VideoCommands.swift
[104/110] Compiling GeminiCLI WebGroundingCommand.swift
[105/110] Compiling GeminiCLI FileCommands.swift
[106/110] Compiling GeminiCLI FunctionCallCommand.swift
[107/110] Compiling GeminiCLI GenerateCommand.swift
[108/111] Wrapping AST for GeminiCLI for debugging
[109/111] Write Objects.LinkFileList
[110/111] Linking gemini-cli
Build complete! (23.70s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "GeminiKit",
  "name" : "GeminiKit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "GeminiKit",
      "targets" : [
        "GeminiKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "gemini-cli",
      "targets" : [
        "GeminiCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "GeminiKitTests",
      "module_type" : "SwiftTarget",
      "name" : "GeminiKitTests",
      "path" : "Tests/GeminiKitTests",
      "sources" : [
        "API/FileOperationsTests.swift",
        "ConfigurationTests.swift",
        "ContentTests.swift",
        "ErrorTests.swift",
        "FunctionBuilderTests.swift",
        "GeminiKitTests.swift",
        "GenerationConfigTests.swift",
        "Media/AudioTests.swift",
        "ModelTests.swift",
        "SafetySettingsTests.swift",
        "StreamingTests.swift",
        "Types/PartTests.swift",
        "Types/ToolTests.swift",
        "VideoTests.swift"
      ],
      "target_dependencies" : [
        "GeminiKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GeminiKit",
      "module_type" : "SwiftTarget",
      "name" : "GeminiKit",
      "path" : "Sources/GeminiKit",
      "product_memberships" : [
        "GeminiKit",
        "gemini-cli"
      ],
      "sources" : [
        "Core/Chat.swift",
        "Core/Configuration.swift",
        "Core/GeminiError.swift",
        "Core/GeminiKit.swift",
        "Core/GeminiModels.swift",
        "Core/OpenAICompatibility.swift",
        "Core/SpecializedEndpoints.swift",
        "Extensions/ToolExtensions.swift",
        "Models/AnyCodable.swift",
        "Models/Content.swift",
        "Models/GenerationConfig.swift",
        "Models/OpenAIModels.swift",
        "Models/Request.swift",
        "Models/Response.swift",
        "Models/SpecializedModels.swift",
        "Networking/APIClient.swift",
        "Networking/CURLHTTPClient.swift",
        "Networking/HTTPClient.swift",
        "Networking/URLSessionHTTPClient.swift",
        "Tools/ToolBuilder.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GeminiCLI",
      "module_type" : "SwiftTarget",
      "name" : "GeminiCLI",
      "path" : "Sources/GeminiCLI",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "gemini-cli"
      ],
      "sources" : [
        "Commands/AudioCommand.swift",
        "Commands/ChatCommand.swift",
        "Commands/CodeExecutionCommand.swift",
        "Commands/ConfigInfoCommand.swift",
        "Commands/CountCommand.swift",
        "Commands/EmbeddingsCommand.swift",
        "Commands/FileCommands.swift",
        "Commands/FunctionCallCommand.swift",
        "Commands/GenerateCommand.swift",
        "Commands/ImageGenerationCommand.swift",
        "Commands/OpenAIChatCommand.swift",
        "Commands/StreamCommand.swift",
        "Commands/VideoCommands.swift",
        "Commands/WebGroundingCommand.swift",
        "Common/CommonOptions.swift",
        "Helpers/FileHelper.swift",
        "Helpers/OutputFormatter.swift",
        "Protocols/CLICommand.swift",
        "Types/OutputFormat.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "GeminiKit"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2e2b3aca8600f890617c2faa770b70e33c1dfd303d6f92b308423b89ef6bde64
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.