Build Information
Successful build of TUSKit, reference main (2bc1fb), with Swift 6.4 for macOS (SPM) on 13 Oct 2026 12:46:48 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tus/TUSKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tus/TUSKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 2bc1fb4 Add FUNDING.yml pointing to the tus Open Collective (#232)
Cloned https://github.com/tus/TUSKit.git
Revision (git rev-parse @):
2bc1fb4dff7b83f0ba52da1e7b886b742d7d0a02
SUCCESS checkout https://github.com/tus/TUSKit.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "tuskit",
"name": "TUSKit",
"url": "https://github.com/tus/TUSKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/TUSKit",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/tus/TUSKit.git
[1/5269] Fetching tuskit
Fetched https://github.com/tus/TUSKit.git (1.57s)
Creating working copy for https://github.com/tus/TUSKit.git
Working copy of https://github.com/tus/TUSKit.git resolved at main (2bc1fb4)
warning: '.resolve-product-dependencies': dependency 'tuskit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/tus/TUSKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[29 / 40] TUSKit_TUSKitTests
[31 / 40]
[32 / 41] TUSKit
[42 / 88]
[47 / 88]
[50 / 88]
[51 / 88]
[55 / 88]
[57 / 88]
[60 / 88]
[63 / 88]
[65 / 88]
[66 / 88]
[79 / 88] TUSKit
[80 / 88] TUSKit
Build complete! (9.37 sec)
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/Tasks/CreationTask.swift:43:77: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m38 |[0;0m
[0;36m39 |[0;0m func run(completed: @escaping TaskCompletion) {
[0;36m40 |[0;0m queue.async {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m41 |[0;0m if self.didCancel { return }
[0;36m42 |[0;0m
[0;36m43 |[0;0m self.headerGenerator.resolveHeaders(for: self.metaData) { [weak self] customHeaders in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m44 |[0;0m guard let self else { return }
[0;36m45 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/Tasks/CreationTask.swift:49:119: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m44 |[0;0m guard let self else { return }
[0;36m45 |[0;0m
[0;36m46 |[0;0m self.queue.async {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m47 |[0;0m if self.didCancel { return }
[0;36m48 |[0;0m
[0;36m49 |[0;0m self.sessionTask = self.api.create(metaData: self.metaData, customHeaders: customHeaders) { [weak self] result in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m50 |[0;0m guard let self else { return }
[0;36m51 |[0;0m
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/Tasks/StatusTask.swift:44:77: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m39 |[0;0m func run(completed: @escaping TaskCompletion) {
[0;36m40 |[0;0m // Improvement: On failure, try uploading from the start. Create creationtask.
[0;36m41 |[0;0m queue.async {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m42 |[0;0m if self.didCancel { return }
[0;36m43 |[0;0m
[0;36m44 |[0;0m self.headerGenerator.resolveHeaders(for: self.metaData) { [weak self] customHeaders in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m45 |[0;0m guard let self else { return }
[0;36m46 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/Tasks/StatusTask.swift:50:131: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m45 |[0;0m guard let self else { return }
[0;36m46 |[0;0m
[0;36m47 |[0;0m self.queue.async {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m48 |[0;0m if self.didCancel { return }
[0;36m49 |[0;0m
[0;36m50 |[0;0m self.sessionTask = self.api.status(remoteDestination: self.remoteDestination, headers: customHeaders) { [weak self] result in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m51 |[0;0m guard let self else { return }
[0;36m52 |[0;0m
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/Tasks/UploadDataTask.swift:90:77: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m63 |[0;0m
[0;36m64 |[0;0m func run(completed: @escaping TaskCompletion) {
[0;36m65 |[0;0m queue.async {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m66 |[0;0m // This check is right before the task is created. In case another thread calls cancel during this loop. Optimization: Add synchronization point (e.g. serial queue or actor).
[0;36m67 |[0;0m guard !self.isCanceled else {
[0;36m:[0;0m
[0;36m88 |[0;0m }
[0;36m89 |[0;0m
[0;36m90 |[0;0m self.headerGenerator.resolveHeaders(for: self.metaData) { [weak self] customHeaders in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m91 |[0;0m guard let self else { return }
[0;36m92 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/Tasks/UploadDataTask.swift:103:86: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m91 |[0;0m guard let self else { return }
[0;36m92 |[0;0m
[0;36m93 |[0;0m self.queue.async {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m94 |[0;0m if self.isCanceled {
[0;36m95 |[0;0m completed(.failure(TUSClientError.taskCancelled))
[0;36m:[0;0m
[0;36m101 |[0;0m location: remoteDestination,
[0;36m102 |[0;0m metaData: self.metaData,
[0;36m103 |[0;0m customHeaders: customHeaders) { [weak self] result in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m104 |[0;0m guard let self else { return }
[0;36m105 |[0;0m
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/TUSClient.swift:58:9: [1;33mwarning: [1;39m'didFinishUpload(id:url:context:client:)' is deprecated: Use the new didFinishUpload(id: UUID, url: URL, context: [String: String]?, client: TUSClient, responseHeaders: [String: String]?) method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m56 |[0;0m func didFinishUpload(id: UUID, url: URL, context: [String: String]?, client: TUSClient, responseHeaders: [String: String]?) {
[0;36m57 |[0;0m // Supports calling the existing implementation without forcing conformance to the new delegate function.
[0;36m58 |[0;0m didFinishUpload(id: id, url: url, context: context, client: client)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'didFinishUpload(id:url:context:client:)' is deprecated: Use the new didFinishUpload(id: UUID, url: URL, context: [String: String]?, client: TUSClient, responseHeaders: [String: String]?) method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m59 |[0;0m }
[0;36m60 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/TUSKit/TUSClient.swift:572:75: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m569 |[0;0m self.queue.sync { self.uploads[metadata.id] = metadata }
[0;36m570 |[0;0m
[0;36m571 |[0;0m self.api.registerCallback({ result in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m572 |[0;0m task.taskCompleted(result: result, completed: { [weak self] result in
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m573 |[0;0m if case .failure = result {
[0;36m574 |[0;0m _ = try? self?.retry(id: metadata.id)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "TUSKit",
"name" : "TUSKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "10.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "TUSKit",
"targets" : [
"TUSKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TUSKitTests",
"module_type" : "SwiftTarget",
"name" : "TUSKitTests",
"path" : "Tests/TUSKitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/TUSKitTests/Resources/memeCat.jpg",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"DataTests.swift",
"FilesTests.swift",
"Fixtures.swift",
"Mocks.swift",
"SchedulerTests.swift",
"Support/NetworkSupport.swift",
"Support/Support.swift",
"TUSAPITests.swift",
"TUSClient/TUSClientInternalTests.swift",
"TUSClient/TUSClientTests.swift",
"TUSClient/TUSClient_CacheTests.swift",
"TUSClient/TUSClient_ContextTests.swift",
"TUSClient/TUSClient_CustomHeadersTests.swift",
"TUSClient/TUSClient_DelegateTests.swift",
"TUSClient/TUSClient_HeaderGenerationTests.swift",
"TUSClient/TUSClient_IdsTests.swift",
"TUSClient/TUSClient_RetryTests.swift",
"TUSClient/TUSClient_UploadingTests.swift"
],
"target_dependencies" : [
"TUSKit"
],
"type" : "test"
},
{
"c99name" : "TUSKit",
"module_type" : "SwiftTarget",
"name" : "TUSKit",
"path" : "Sources/TUSKit",
"product_memberships" : [
"TUSKit"
],
"sources" : [
"Extensions/Collection+chunk.swift",
"Extensions/Data+chunk.swift",
"Extensions/HTTPURLResponse+Headers.swift",
"Extensions/String+base64.swift",
"Files.swift",
"Network.swift",
"Scheduler.swift",
"TUSAPI.swift",
"TUSClient.swift",
"TUSClientError.swift",
"TUSProtocolExtension.swift",
"Tasks/CreationTask.swift",
"Tasks/IdentifiableTask.swift",
"Tasks/StatusTask.swift",
"Tasks/UploadDataTask.swift",
"TusServerInfo.swift",
"UploadInfo.swift",
"UploadMetada.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5.1"
}
Done.