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.2 (beta) for Linux on 13 Jul 2025 11:15:26 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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: 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.2
Building package at path:  $PWD
https://github.com/guitaripod/GeminiKit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-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 (1.42s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (2.26s)
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] Compiling ArgumentParserToolInfo ToolInfo.swift
[9/34] Emitting module ArgumentParserToolInfo
[10/35] Wrapping AST for ArgumentParserToolInfo for debugging
[12/79] Compiling ArgumentParser CollectionExtensions.swift
[13/79] Compiling ArgumentParser Mutex.swift
[14/79] Compiling ArgumentParser Platform.swift
[15/79] Compiling ArgumentParser SequenceExtensions.swift
[16/79] Compiling ArgumentParser StringExtensions.swift
[17/79] Compiling ArgumentParser SwiftExtensions.swift
[18/85] Compiling ArgumentParser ArgumentDefinition.swift
[19/85] Compiling ArgumentParser ArgumentSet.swift
[20/87] Compiling ArgumentParser Option.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 {
[21/87] Compiling ArgumentParser ParsableArguments.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 {
[22/87] Compiling ArgumentParser ParsableCommand.swift
[23/87] Compiling ArgumentParser ArgumentDecoder.swift
[24/87] Compiling GeminiKit URLSessionHTTPClient.swift
[25/87] Compiling GeminiKit ToolBuilder.swift
[26/87] Compiling ArgumentParser ArgumentVisibility.swift
[27/87] Compiling ArgumentParser CompletionKind.swift
[28/87] Compiling ArgumentParser Errors.swift
[29/87] Compiling ArgumentParser Flag.swift
[30/87] Compiling ArgumentParser NameSpecification.swift
[32/87] Compiling ArgumentParser BashCompletionsGenerator.swift
[33/87] Compiling ArgumentParser CompletionsGenerator.swift
[34/87] Compiling ArgumentParser FishCompletionsGenerator.swift
[38/87] Compiling ArgumentParser ZshCompletionsGenerator.swift
[39/87] Compiling ArgumentParser Argument.swift
[40/87] Compiling ArgumentParser ArgumentDiscussion.swift
[41/87] Compiling ArgumentParser ArgumentHelp.swift
[44/87] Emitting module GeminiKit
[45/88] Compiling ArgumentParser Tree.swift
[46/88] Compiling ArgumentParser CodingKeyValidator.swift
[47/88] Compiling ArgumentParser NonsenseFlagsValidator.swift
[48/88] Compiling ArgumentParser ParsableArgumentsValidation.swift
[49/88] Compiling ArgumentParser PositionalArgumentsValidator.swift
[50/88] Compiling ArgumentParser UniqueNamesValidator.swift
[52/88] Emitting module ArgumentParser
[60/88] Compiling ArgumentParser InputKey.swift
[61/88] Compiling ArgumentParser InputOrigin.swift
[62/88] Compiling ArgumentParser Name.swift
[63/88] Compiling ArgumentParser Parsed.swift
[64/88] Compiling ArgumentParser ParsedValues.swift
[65/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
[71/88] Wrapping AST for GeminiKit for debugging
[80/88] Compiling ArgumentParser AsyncParsableCommand.swift
[81/88] Compiling ArgumentParser CommandConfiguration.swift
[82/88] Compiling ArgumentParser CommandGroup.swift
[83/88] Compiling ArgumentParser EnumerableFlag.swift
[84/88] Compiling ArgumentParser ExpressibleByArgument.swift
[85/89] Wrapping AST for ArgumentParser for debugging
[87/108] Compiling GeminiCLI OutputFormatter.swift
[88/108] Compiling GeminiCLI CLICommand.swift
[89/110] Compiling GeminiCLI CommonOptions.swift
[90/110] Compiling GeminiCLI FileHelper.swift
[91/110] 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)
[92/110] 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)
[93/110] Compiling GeminiCLI AudioCommand.swift
[94/110] Compiling GeminiCLI ChatCommand.swift
[95/110] Compiling GeminiCLI CodeExecutionCommand.swift
[96/110] Compiling GeminiCLI VideoCommands.swift
[97/110] Compiling GeminiCLI WebGroundingCommand.swift
[98/110] Compiling GeminiCLI ImageGenerationCommand.swift
[99/110] Compiling GeminiCLI OpenAIChatCommand.swift
[100/110] Compiling GeminiCLI StreamCommand.swift
[101/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)
[102/110] Compiling GeminiCLI ConfigInfoCommand.swift
[103/110] Compiling GeminiCLI CountCommand.swift
[104/110] Compiling GeminiCLI EmbeddingsCommand.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! (38.05s)
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.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.