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.2 (beta) for Linux on 19 Jul 2025 02:14:05 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 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.2
Building package at path:  $PWD
https://github.com/guitaripod/GeminiKit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from finestructure/spi-images
f557aa5ee224: Already exists
5a06fb7b224d: Already exists
4f4fb700ef54: Already exists
319f0910e4be: Already exists
f944f812c62d: Already exists
bd6b4327ba26: Already exists
81b472f9fe56: Pulling fs layer
5b4c6fcf9363: Pulling fs layer
5b4c6fcf9363: Verifying Checksum
5b4c6fcf9363: Download complete
81b472f9fe56: Verifying Checksum
81b472f9fe56: Download complete
81b472f9fe56: Pull complete
5b4c6fcf9363: Pull complete
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Downloaded newer image for registry.gitlab.com/finestructure/spi-images:basic-6.2-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 (1.09s)
[12730/15524] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.40s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (4.50s)
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.42s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.99s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.47s)
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/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
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 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] Compiling ArgumentParserToolInfo ToolInfo.swift
[11/36] Emitting module ArgumentParserToolInfo
[12/37] Wrapping AST for ArgumentParserToolInfo for debugging
[14/81] Emitting module ArgumentParser
[15/87] Compiling ArgumentParser ArgumentDiscussion.swift
[16/87] Compiling ArgumentParser ArgumentHelp.swift
[17/89] Emitting module GeminiKit
[18/89] Compiling ArgumentParser OptionGroup.swift
[19/89] Compiling ArgumentParser AsyncParsableCommand.swift
[20/89] Compiling ArgumentParser CommandConfiguration.swift
[21/89] Compiling ArgumentParser CollectionExtensions.swift
[22/89] Compiling ArgumentParser Mutex.swift
[23/89] Compiling ArgumentParser Platform.swift
[24/89] Compiling ArgumentParser SequenceExtensions.swift
[25/89] Compiling ArgumentParser StringExtensions.swift
[26/89] Compiling ArgumentParser SwiftExtensions.swift
[27/89] Compiling GeminiKit URLSessionHTTPClient.swift
[28/89] Compiling GeminiKit ToolBuilder.swift
[29/89] Compiling ArgumentParser Tree.swift
[30/89] Compiling ArgumentParser CodingKeyValidator.swift
[31/89] Compiling ArgumentParser NonsenseFlagsValidator.swift
[32/89] Compiling ArgumentParser ParsableArgumentsValidation.swift
[33/89] Compiling ArgumentParser PositionalArgumentsValidator.swift
[34/89] Compiling ArgumentParser UniqueNamesValidator.swift
[35/89] Compiling ArgumentParser CommandGroup.swift
[36/89] Compiling ArgumentParser EnumerableFlag.swift
[37/89] Compiling ArgumentParser ExpressibleByArgument.swift
[38/89] Compiling ArgumentParser ParsableArguments.swift
[39/89] Compiling ArgumentParser ParsableCommand.swift
[40/89] Compiling ArgumentParser BashCompletionsGenerator.swift
[41/89] Compiling ArgumentParser CompletionsGenerator.swift
[42/89] Compiling ArgumentParser FishCompletionsGenerator.swift
[43/89] Compiling ArgumentParser ZshCompletionsGenerator.swift
/host/spi-builder-workspace/Sources/GeminiKit/Networking/APIClient.swift:189:61: warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
187 |                     for try await data in dataStream {
188 |                         do {
189 |                             let response = try self.decoder.decode(Response.self, from: data)
    |                                                             `- warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
190 |                             continuation.yield(response)
191 |                         } catch {
/host/spi-builder-workspace/Sources/GeminiKit/Networking/APIClient.swift:182:38: warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
180 |
181 |         // Transform to response stream with proper SSE parsing
182 |         return AsyncThrowingStream { continuation in
    |                                      `- warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
183 |             Task {
184 |                 do {
[44/89] Compiling ArgumentParser Argument.swift
/host/spi-builder-workspace/Sources/GeminiKit/Networking/APIClient.swift:189:61: warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
187 |                     for try await data in dataStream {
188 |                         do {
189 |                             let response = try self.decoder.decode(Response.self, from: data)
    |                                                             `- warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
190 |                             continuation.yield(response)
191 |                         } catch {
/host/spi-builder-workspace/Sources/GeminiKit/Networking/APIClient.swift:182:38: warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
180 |
181 |         // Transform to response stream with proper SSE parsing
182 |         return AsyncThrowingStream { continuation in
    |                                      `- warning: capture of non-Sendable type 'Response.Type' in an isolated closure; this is an error in the Swift 6 language mode
183 |             Task {
184 |                 do {
[45/89] Compiling ArgumentParser ArgumentDecoder.swift
[46/89] Compiling ArgumentParser ArgumentDefinition.swift
[47/89] Compiling ArgumentParser ArgumentSet.swift
[48/90] Compiling ArgumentParser SplitArguments.swift
[49/90] Compiling ArgumentParser DumpHelpGenerator.swift
[50/90] Compiling ArgumentParser HelpCommand.swift
[51/90] Compiling ArgumentParser HelpGenerator.swift
[52/90] Compiling ArgumentParser MessageInfo.swift
[53/90] Compiling ArgumentParser UsageGenerator.swift
[56/90] Compiling ArgumentParser InputOrigin.swift
[57/90] Compiling ArgumentParser Name.swift
[58/90] Compiling ArgumentParser Parsed.swift
[59/90] Compiling ArgumentParser ParsedValues.swift
[60/90] Compiling ArgumentParser ParserError.swift
[74/90] Compiling ArgumentParser ArgumentVisibility.swift
[75/90] Compiling ArgumentParser CompletionKind.swift
[76/90] Compiling ArgumentParser Errors.swift
[77/90] Compiling ArgumentParser Flag.swift
[78/90] Compiling ArgumentParser NameSpecification.swift
[79/90] Compiling ArgumentParser Option.swift
[86/91] Wrapping AST for GeminiKit for debugging
[87/91] Wrapping AST for ArgumentParser for debugging
[89/110] Emitting module GeminiCLI
/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)
[90/112] Compiling GeminiCLI OutputFormat.swift
/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)
[91/112] Compiling GeminiCLI main.swift
/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 AudioCommand.swift
[93/112] Compiling GeminiCLI ChatCommand.swift
[94/112] Compiling GeminiCLI CodeExecutionCommand.swift
[95/112] Compiling GeminiCLI ConfigInfoCommand.swift
[96/112] Compiling GeminiCLI CountCommand.swift
[97/112] Compiling GeminiCLI EmbeddingsCommand.swift
[98/112] Compiling GeminiCLI CommonOptions.swift
[99/112] Compiling GeminiCLI FileHelper.swift
[100/112] Compiling GeminiCLI OutputFormatter.swift
[101/112] Compiling GeminiCLI CLICommand.swift
[102/112] Compiling GeminiCLI FileCommands.swift
[103/112] Compiling GeminiCLI FunctionCallCommand.swift
[104/112] Compiling GeminiCLI GenerateCommand.swift
[105/112] Compiling GeminiCLI ImageGenerationCommand.swift
[106/112] Compiling GeminiCLI OpenAIChatCommand.swift
[107/112] Compiling GeminiCLI StreamCommand.swift
[108/112] Compiling GeminiCLI VideoCommands.swift
[109/112] Compiling GeminiCLI WebGroundingCommand.swift
[110/113] Wrapping AST for GeminiCLI for debugging
[111/113] Write Objects.LinkFileList
[112/113] Linking gemini-cli
Build complete! (61.79s)
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.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Done.