Build Information
Successful build of multipart-kit, reference 5.0.0-beta.2 (a97308), with Swift 6.4 for Linux on 21 Sep 2026 15:29:24 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-1":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build 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: linux
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-53886770-1":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-algorithms.git
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-http-types.git
[1/1935] Fetching swift-http-types
Fetched https://github.com/apple/swift-http-types.git (0.46s)
[1/6145] Fetching swift-algorithms
[5901/33497] Fetching swift-algorithms, swift-collections
Fetched https://github.com/apple/swift-algorithms.git (0.63s)
[548/27352] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git (1.19s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (2.26s)
Fetching https://github.com/apple/swift-numerics.git
[1/6640] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git (0.56s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (0.72s)
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.21s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.6.0 (0.29s)
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-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
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
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 448]
[Planning deferred tasks]
[Starting]
[29 / 186] OrderedCollections
[98 / 198] RealModule
[106 / 216] InternalCollectionsUtilities
[107 / 216] RealModule
[109 / 216] RealModule
[123 / 216] RealModule-product
[127 / 216] _RopeModule
[130 / 216] InternalCollectionsUtilities
[133 / 217] RealModule
[135 / 217] RealModule
[137 / 217] HTTPTypes-product
[140 / 217] HTTPTypes
[141 / 217] HTTPTypes
[141 / 217] ContainersPreview
[143 / 219]
[146 / 238] _RopeModule
[147 / 239] InternalCollectionsUtilities
[149 / 246] HeapModule
[150 / 246] _RopeModule
[152 / 246] _RopeModule
[153 / 246] HeapModule
[155 / 247] HeapModule
[160 / 247] _RopeModule
[161 / 247] _RopeModule
[162 / 247] OrderedCollections
[163 / 247] OrderedCollections
[164 / 247] OrderedCollections
[164 / 247] _RopeModule
[167 / 247] OrderedCollections
[176 / 247] OrderedCollections
[177 / 247] _RopeModule
[179 / 247] InternalCollectionsUtilities
[180 / 247] HeapModule
[180 / 247] OrderedCollections
[183 / 247] HeapModule
[184 / 247] InternalCollectionsUtilities
[186 / 247] HeapModule
[187 / 247] HeapModule
[189 / 248]
[191 / 248]
[192 / 251] ContainersPreview
[193 / 260] ContainersPreview
[196 / 269] Algorithms
[197 / 278] BitCollections
[198 / 288] ContainersPreview
[205 / 288] RealModule
[207 / 288] HashTreeCollections
[209 / 288] HashTreeCollections
[210 / 288] HashTreeCollections
[211 / 289] OrderedCollections
[214 / 289] BitCollections
[220 / 289] HashTreeCollections
[221 / 289] HashTreeCollections
[222 / 290] _RopeModule
[223 / 290] ContainersPreview
[224 / 290] _RopeModule
[226 / 290] ContainersPreview
[227 / 290] ContainersPreview
[228 / 290] ContainersPreview
[230 / 290] DequeModule
[233 / 290] BitCollections
[234 / 290] BitCollections
[235 / 291] ContainersPreview
[236 / 291] BitCollections
[236 / 291] Algorithms
[240 / 291] Algorithms
[245 / 291] BitCollections
[246 / 291] BitCollections
[247 / 291] Algorithms
[249 / 292] Algorithms
[250 / 292] Algorithms
[251 / 292] HashTreeCollections
[253 / 292] HashTreeCollections
[258 / 292] Algorithms-product
[259 / 292] Algorithms-product
[260 / 292] Algorithms-product
[262 / 293] BitCollections
[263 / 293] OrderedCollections
[266 / 293] ContainersPreview
[267 / 293] HashTreeCollections
[269 / 294] BitCollections
[273 / 303] BitCollections
[274 / 303] DequeModule
[275 / 303] DequeModule
[276 / 303] DequeModule
[277 / 303] DequeModule
[278 / 303] DequeModule
[279 / 303] DequeModule
[279 / 303] Algorithms
[280 / 304] Algorithms
[282 / 304] Algorithms
[282 / 304] DequeModule
[282 / 305] DequeModule
[295 / 312] DequeModule
[297 / 312] Collections
[314 / 323] MultipartKit
[315 / 323] MultipartKit
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPartBody.swift:22:38: [1;33mwarning: [1;39mconformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m20 |[0;0m
[0;36m21 |[0;0m public func next() async throws -> Element? {
[0;36m22 |[0;0m try await sharedIterator.nextBodyChunkForSubsequence(id: id)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m23 |[0;0m }
[0;36m24 |[0;0m
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPartBody.swift:27:38: [1;33mwarning: [1;39mconformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m25 |[0;0m @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
[0;36m26 |[0;0m public func next(isolation actor: isolated (any Actor)? = #isolation) async throws -> Element? {
[0;36m27 |[0;0m try await sharedIterator.nextBodyChunkForSubsequence(id: id)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'BackingSequence' to protocol 'AsyncSequence' may be isolated and cannot be passed to actor-isolated context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m28 |[0;0m }
[0;36m29 |[0;0m }
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
[315 / 323] Collections
/host/spi-builder-workspace/Sources/MultipartKit/Writer/StreamingMultipartWriterAsyncSequence.swift:145:46: [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m143 |[0;0m nonisolated(unsafe) var iterator = backingIterator
[0;36m144 |[0;0m defer { backingIterator = iterator }
[0;36m145 |[0;0m section = try await iterator.next()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m146 |[0;0m }
[0;36m147 |[0;0m
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
[315 / 323] MultipartKit
[320 / 323] MultipartKit
/host/spi-builder-workspace/Sources/MultipartKit/Parser/StreamingMultipartParserAsyncSequence.swift:98:55: [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m96 |[0;0m nonisolated(unsafe) var iterator = backingIterator
[0;36m97 |[0;0m defer { backingIterator = iterator }
[0;36m98 |[0;0m next = try await iterator.next()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m99 |[0;0m }
[0;36m100 |[0;0m } catch {
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPart+SharedIterator.swift:50:43: [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m48 |[0;0m next = try await iterator.next(isolation: self)
[0;36m49 |[0;0m } else {
[0;36m50 |[0;0m next = try await iterator.next()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m51 |[0;0m }
[0;36m52 |[0;0m
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartPart+SharedIterator.swift:111:39: [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m109 |[0;0m next = try await iterator.next(isolation: self)
[0;36m110 |[0;0m } else {
[0;36m111 |[0;0m next = try await iterator.next()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m112 |[0;0m }
[0;36m113 |[0;0m
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
/host/spi-builder-workspace/Sources/MultipartKit/StreamingMultipartPart/StreamingMultipartSectionAsyncSequence.swift:110:39: [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m108 |[0;0m nonisolated(unsafe) var iterator = backingIterator
[0;36m109 |[0;0m defer { backingIterator = iterator }
[0;36m110 |[0;0m return try await iterator.next()
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'AsyncIterator' to protocol 'AsyncIteratorProtocol' may be isolated and cannot be passed to @concurrent context[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
[0;36m111 |[0;0m }
[0;36m112 |[0;0m }
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
Build complete! (41.78 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"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.