The Swift Package Index logo.Swift Package Index

Build Information

Successful build of multipart-kit, reference 5.0.0-beta.2 (a97308), with Swift 6.4 for Android on 21 Sep 2026 15:29:45 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vapor/multipart-kit.git
Reference: 5.0.0-beta.2
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/vapor/multipart-kit
 * tag               5.0.0-beta.2 -> FETCH_HEAD
HEAD is now at a973089 Add streamable multipart part (#145)
Cloned https://github.com/vapor/multipart-kit.git
Revision (git rev-parse @):
a97308911fec948fd47a3d464465114b648e96b2
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/vapor/multipart-kit.git at 5.0.0-beta.2
========================================
Build
========================================
Selected platform:         android
Swift version:             6.4
Building package at path:  $PWD
https://github.com/vapor/multipart-kit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/apple/swift-http-types.git
Fetching https://github.com/apple/swift-algorithms.git
Fetching https://github.com/apple/swift-collections.git
[1/1935] Fetching swift-http-types
[79/8080] Fetching swift-http-types, swift-algorithms
[7927/35432] Fetching swift-http-types, swift-algorithms, swift-collections
Fetched https://github.com/apple/swift-algorithms.git (0.67s)
[2055/29287] Fetching swift-http-types, swift-collections
Fetched https://github.com/apple/swift-http-types.git (1.57s)
Fetched https://github.com/apple/swift-collections.git (1.60s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (3.37s)
Fetching https://github.com/apple/swift-numerics.git
[1/6640] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git (0.72s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (1.05s)
Computing version for https://github.com/apple/swift-http-types.git
Computed https://github.com/apple/swift-http-types.git at 1.8.0 (0.41s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.6.0 (0.53s)
Creating working copy for https://github.com/apple/swift-http-types.git
Working copy of https://github.com/apple/swift-http-types.git resolved at 1.8.0
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.6.0
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.1.1
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 448]
[Planning deferred tasks]
[Starting]
[28 / 186] RealModule
[97 / 189] RealModule
[106 / 216] InternalCollectionsUtilities
[107 / 216] RealModule
[109 / 216] RealModule
[120 / 216] RealModule
[123 / 216] _RopeModule
[125 / 216] InternalCollectionsUtilities
[127 / 217] HeapModule
[131 / 217] HTTPTypes
[132 / 217] HTTPTypes
[133 / 217] HTTPTypes
[134 / 217] HTTPTypes
[136 / 217] HTTPTypes
[136 / 217] ContainersPreview
[137 / 218]
[140 / 228] _RopeModule
[143 / 228] HTTPTypes
[149 / 228] _RopeModule
[150 / 228] _RopeModule
[151 / 228] _RopeModule
[152 / 229] InternalCollectionsUtilities
[153 / 229] HTTPTypes
[156 / 229] HTTPTypes-product
[158 / 229]
[160 / 231]
[162 / 240] OrderedCollections
[163 / 248] OrderedCollections
[164 / 257] HashTreeCollections
[164 / 257] _RopeModule
[172 / 257] OrderedCollections
[173 / 257] _RopeModule
[175 / 257] _RopeModule
[179 / 257] _RopeModule
[180 / 258] OrderedCollections
[181 / 258] _RopeModule
[183 / 258] _RopeModule
[185 / 258] HeapModule
[187 / 258] HeapModule
[189 / 258] HeapModule
[192 / 258] HashTreeCollections
[194 / 258] HashTreeCollections
[195 / 259] HeapModule
[197 / 259] OrderedCollections
[205 / 259] OrderedCollections
[205 / 260] OrderedCollections
[206 / 260]
[208 / 263] ContainersPreview
[211 / 281] BitCollections
[212 / 290] Algorithms
[212 / 290] HashTreeCollections
[216 / 290] ContainersPreview
[220 / 290] ContainersPreview
[221 / 290] DequeModule
[229 / 290] ContainersPreview
[232 / 290] BitCollections
[234 / 290] HashTreeCollections
[235 / 290] ContainersPreview
[242 / 291] ContainersPreview
[244 / 291] BitCollections
[245 / 291] BitCollections
[246 / 291] BitCollections
[247 / 291] Algorithms
[248 / 291] Algorithms
[250 / 292] HashTreeCollections
[253 / 292] HashTreeCollections
[255 / 292] Algorithms
[256 / 293] BitCollections
[257 / 293] Algorithms
[262 / 293] HeapModule
[265 / 293] Algorithms
[270 / 294]
[270 / 294] DequeModule
[275 / 303] DequeModule
[276 / 303] DequeModule
[277 / 303] DequeModule
[278 / 303] DequeModule
[279 / 303] Algorithms
[279 / 303] DequeModule
[279 / 303] Algorithms
[282 / 304] Algorithms
[282 / 304] DequeModule
[282 / 305] DequeModule
[297 / 312] Collections
[304 / 314] Collections
[315 / 323] MultipartKit
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPartBody.swift:22:38: warning: conformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
20 |
21 |         public func next() async throws -> Element? {
22 |             try await sharedIterator.nextBodyChunkForSubsequence(id: id)
   |                                      `- warning: conformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
23 |         }
24 |
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPartBody.swift:27:38: warning: conformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
25 |         @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
26 |         public func next(isolation actor: isolated (any Actor)? = #isolation) async throws -> Element? {
27 |             try await sharedIterator.nextBodyChunkForSubsequence(id: id)
   |                                      `- warning: conformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
28 |         }
29 |     }
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
/host/spi-builder-workspace/Sources/MultipartKit/Writer/StreamingMultipartWriterAsyncSequence.swift:145:46: warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
143 |                 nonisolated(unsafe) var iterator = backingIterator
144 |                 defer { backingIterator = iterator }
145 |                 section = try await iterator.next()
    |                                              `- warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
146 |             }
147 |
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
[320 / 323] MultipartKit
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartSectionAsyncSequence.swift:110:39: warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
108 |             nonisolated(unsafe) var iterator = backingIterator
109 |             defer { backingIterator = iterator }
110 |             return try await iterator.next()
    |                                       `- warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
111 |         }
112 |     }
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
/host/spi-builder-workspace/Sources/MultipartKit/Parser/StreamingMultipartParserAsyncSequence.swift:98:55: warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
 96 |                             nonisolated(unsafe) var iterator = backingIterator
 97 |                             defer { backingIterator = iterator }
 98 |                             next = try await iterator.next()
    |                                                       `- warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
 99 |                         }
100 |                     } catch {
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPart+SharedIterator.swift:50:43: warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
 48 |                 next = try await iterator.next(isolation: self)
 49 |             } else {
 50 |                 next = try await iterator.next()
    |                                           `- warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
 51 |             }
 52 |
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPart+SharedIterator.swift:111:39: warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
109 |             next = try await iterator.next(isolation: self)
110 |         } else {
111 |             next = try await iterator.next()
    |                                       `- warning: conformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
112 |         }
113 |
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
[324 / 324] MultipartKit-product
Build complete! (34.11 secs)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-http-types",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-http-types.git"
    },
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections.git"
    },
    {
      "identity" : "swift-algorithms",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-algorithms.git"
    }
  ],
  "manifest_display_name" : "multipart-kit",
  "name" : "multipart-kit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "MultipartKit",
      "targets" : [
        "MultipartKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MultipartKitTests",
      "module_type" : "SwiftTarget",
      "name" : "MultipartKitTests",
      "path" : "Tests/MultipartKitTests",
      "sources" : [
        "ContentDispositionTests.swift",
        "FormDataDecodingTests.swift",
        "FormDataEncodingTests.swift",
        "ParserTests.swift",
        "StreamingMultipartPartTests.swift",
        "StreamingMultipartSectionTests.swift",
        "Utilities/File.swift",
        "Utilities/MultipartSection+Equatable.swift",
        "WriterTests.swift"
      ],
      "target_dependencies" : [
        "MultipartKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MultipartKit",
      "module_type" : "SwiftTarget",
      "name" : "MultipartKit",
      "path" : "Sources/MultipartKit",
      "product_dependencies" : [
        "HTTPTypes",
        "Collections",
        "Algorithms"
      ],
      "product_memberships" : [
        "MultipartKit"
      ],
      "sources" : [
        "BasicCodingKey.swift",
        "FormDataDecoder/FormDataDecoder+Decoder.swift",
        "FormDataDecoder/FormDataDecoder+KeyedContainer.swift",
        "FormDataDecoder/FormDataDecoder+SingleValueContainer.swift",
        "FormDataDecoder/FormDataDecoder+UnkeyedContainer.swift",
        "FormDataDecoder/FormDataDecoder.swift",
        "FormDataEncoder/FormDataEncoder+Encoder.swift",
        "FormDataEncoder/FormDataEncoder+KeyedContainer.swift",
        "FormDataEncoder/FormDataEncoder+SingleValueContainer.swift",
        "FormDataEncoder/FormDataEncoder+UnkeyedContainer.swift",
        "FormDataEncoder/FormDataEncoder.swift",
        "FormDataEncoder/Storage.swift",
        "MultipartFormData.swift",
        "MultipartPart.swift",
        "MultipartPartConvertible.swift",
        "MultipartSection.swift",
        "Parser/MultipartParser+parse.swift",
        "Parser/MultipartParser.swift",
        "Parser/MultipartParserAsyncSequence.swift",
        "Parser/MultipartParserError.swift",
        "Parser/StreamingMultipartParserAsyncSequence+Isolation.swift",
        "Parser/StreamingMultipartParserAsyncSequence.swift",
        "StreamingMultipartPart/StreamingMultipartPart+SharedIterator.swift",
        "StreamingMultipartPart/StreamingMultipartPart+StateMachine.swift",
        "StreamingMultipartPart/StreamingMultipartPart.swift",
        "StreamingMultipartPart/StreamingMultipartPartAsyncSequence.swift",
        "StreamingMultipartPart/StreamingMultipartPartBody.swift",
        "StreamingMultipartPart/StreamingMultipartSectionAsyncSequence+Isolation.swift",
        "StreamingMultipartPart/StreamingMultipartSectionAsyncSequence.swift",
        "Utilities.swift",
        "Writer/BufferedMultipartWriter.swift",
        "Writer/MemoryMultipartWriter.swift",
        "Writer/MultipartWriter.swift",
        "Writer/StreamingMultipartWriterAsyncSequence+Isolation.swift",
        "Writer/StreamingMultipartWriterAsyncSequence.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.1"
}
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Done.