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 master (c80ffb), with Swift 6.1 for Linux on 19 Jul 2025 02:15:41 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/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: master
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
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at c80ffb4 Add GitHub link to documentation index page
Cloned https://github.com/guitaripod/GeminiKit.git
Revision (git rev-parse @):
c80ffb454acb5bd7b77900e7eac1fdb2907c6406
SUCCESS checkout https://github.com/guitaripod/GeminiKit.git at master
========================================
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"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "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-0":/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
e1a89dea01a6: Already exists
0347e81243ca: Pulling fs layer
955ae20f829c: Pulling fs layer
2574e4b2ede5: Pulling fs layer
71ac09bc7d67: Pulling fs layer
240c7ccadfed: Pulling fs layer
71ac09bc7d67: Waiting
240c7ccadfed: Waiting
2574e4b2ede5: Verifying Checksum
2574e4b2ede5: Download complete
71ac09bc7d67: Verifying Checksum
71ac09bc7d67: Download complete
0347e81243ca: Verifying Checksum
0347e81243ca: Download complete
240c7ccadfed: Download complete
955ae20f829c: Verifying Checksum
955ae20f829c: Download complete
0347e81243ca: Pull complete
955ae20f829c: Pull complete
2574e4b2ede5: Pull complete
71ac09bc7d67: Pull complete
240c7ccadfed: Pull complete
Digest: sha256:2e2b3aca8600f890617c2faa770b70e33c1dfd303d6f92b308423b89ef6bde64
Status: Downloaded newer image for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-argument-parser
[1/2094] Fetching swift-docc-plugin
[2095/17618] Fetching swift-docc-plugin, swift-argument-parser
Fetched https://github.com/apple/swift-docc-plugin from cache (0.44s)
[1242/15524] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.76s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (2.64s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3428] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.38s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.90s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.44s)
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.5
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
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
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
[3/3] Compiling plugin GenerateManual
[4/4] Compiling plugin GenerateDoccReference
Building for debugging...
[4/15] Write sources
[8/15] Write swift-version-24593BA9C3E375BF.txt
[10/36] Emitting module GeminiKit
[11/38] Emitting module ArgumentParserToolInfo
[12/38] Compiling ArgumentParserToolInfo ToolInfo.swift
[13/39] Wrapping AST for ArgumentParserToolInfo for debugging
[15/83] Compiling ArgumentParser InputKey.swift
[16/83] Compiling ArgumentParser InputOrigin.swift
[17/83] Compiling ArgumentParser Name.swift
[18/83] Compiling ArgumentParser Parsed.swift
[19/83] Compiling ArgumentParser ParsedValues.swift
[20/83] Compiling ArgumentParser ParserError.swift
[21/89] Compiling ArgumentParser ZshCompletionsGenerator.swift
[22/89] Compiling ArgumentParser Argument.swift
[23/89] Compiling ArgumentParser ArgumentDiscussion.swift
[24/89] Emitting module ArgumentParser
[25/89] Compiling ArgumentParser OptionGroup.swift
[26/89] Compiling ArgumentParser AsyncParsableCommand.swift
[27/89] Compiling ArgumentParser CollectionExtensions.swift
[28/89] Compiling ArgumentParser Mutex.swift
[29/89] Compiling ArgumentParser Platform.swift
[30/89] Compiling ArgumentParser SequenceExtensions.swift
[31/89] Compiling ArgumentParser StringExtensions.swift
[32/89] Compiling ArgumentParser SwiftExtensions.swift
[33/89] Compiling ArgumentParser ArgumentHelp.swift
[34/89] Compiling ArgumentParser ArgumentVisibility.swift
[35/89] Compiling ArgumentParser CompletionKind.swift
[36/89] Compiling ArgumentParser BashCompletionsGenerator.swift
[37/89] Compiling ArgumentParser CompletionsGenerator.swift
[38/89] Compiling ArgumentParser FishCompletionsGenerator.swift
[39/89] Compiling ArgumentParser ExpressibleByArgument.swift
[40/89] Compiling ArgumentParser ParsableArguments.swift
[41/89] Compiling ArgumentParser Tree.swift
[42/89] Compiling ArgumentParser CodingKeyValidator.swift
[43/89] Compiling ArgumentParser NonsenseFlagsValidator.swift
[44/89] Compiling ArgumentParser ParsableArgumentsValidation.swift
[45/89] Compiling ArgumentParser PositionalArgumentsValidator.swift
[46/89] Compiling ArgumentParser UniqueNamesValidator.swift
[47/89] Compiling ArgumentParser NameSpecification.swift
[48/89] Compiling ArgumentParser Option.swift
[49/89] Compiling ArgumentParser Errors.swift
[50/89] Compiling ArgumentParser Flag.swift
[51/89] Compiling ArgumentParser CommandConfiguration.swift
[52/89] Compiling ArgumentParser CommandGroup.swift
[53/89] Compiling ArgumentParser EnumerableFlag.swift
[67/90] Wrapping AST for GeminiKit for debugging
[69/90] Compiling ArgumentParser SplitArguments.swift
[70/90] Compiling ArgumentParser DumpHelpGenerator.swift
[71/90] Compiling ArgumentParser HelpCommand.swift
[72/90] Compiling ArgumentParser HelpGenerator.swift
[73/90] Compiling ArgumentParser MessageInfo.swift
[74/90] Compiling ArgumentParser UsageGenerator.swift
[82/90] Compiling ArgumentParser ParsableCommand.swift
[83/90] Compiling ArgumentParser ArgumentDecoder.swift
[84/90] Compiling ArgumentParser ArgumentDefinition.swift
[85/90] Compiling ArgumentParser ArgumentSet.swift
[86/90] Compiling ArgumentParser CommandParser.swift
[87/91] Wrapping AST for ArgumentParser for debugging
[89/110] Compiling GeminiCLI CommonOptions.swift
[90/110] Compiling GeminiCLI FileHelper.swift
[91/112] 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)
[92/112] Compiling GeminiCLI ConfigInfoCommand.swift
[93/112] Compiling GeminiCLI CountCommand.swift
[94/112] Compiling GeminiCLI EmbeddingsCommand.swift
[95/112] 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)
[96/112] 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)
[97/112] 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.  */
[98/112] 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.  */
[99/112] 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.  */
[100/112] Compiling GeminiCLI OutputFormatter.swift
[101/112] Compiling GeminiCLI CLICommand.swift
[102/112] 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.  */
[103/112] 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.  */
[104/112] 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.  */
[105/112] Compiling GeminiCLI VideoCommands.swift
[106/112] Compiling GeminiCLI WebGroundingCommand.swift
[107/112] Compiling GeminiCLI FileCommands.swift
[108/112] Compiling GeminiCLI FunctionCallCommand.swift
[109/112] Compiling GeminiCLI GenerateCommand.swift
[110/113] Wrapping AST for GeminiCLI for debugging
[111/113] Write Objects.LinkFileList
[112/113] Linking gemini-cli
Build complete! (30.20s)
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"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "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.