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.