Build Information
Successful build of MYCloudKit, reference main (ea4e15
), with Swift 6.1 for macOS (SPM) on 2 Jun 2025 00:06:33 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mufasaYC/MYCloudKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mufasaYC/MYCloudKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ea4e15a fix: bug where you'd have to expect CKAsset/CKRecord.Reference for when asking FetchedRecord for value - which is a bad UX since we hide all iCloud stuff. Now it returns the URL/String of the ID respectively
Cloned https://github.com/mufasaYC/MYCloudKit.git
Revision (git rev-parse @):
ea4e15ae66f4be089d9279fdb4be4aee37a9c8f0
SUCCESS checkout https://github.com/mufasaYC/MYCloudKit.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",
"dependencies": [
{
"identity": "mycloudkit",
"name": "MYCloudKit",
"url": "https://github.com/mufasaYC/MYCloudKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/MYCloudKit",
"dependencies": [
]
}
]
}
Fetching https://github.com/mufasaYC/MYCloudKit.git
[1/93] Fetching mycloudkit
Fetched https://github.com/mufasaYC/MYCloudKit.git from cache (0.66s)
Creating working copy for https://github.com/mufasaYC/MYCloudKit.git
Working copy of https://github.com/mufasaYC/MYCloudKit.git resolved at main (ea4e15a)
warning: '.resolve-product-dependencies': dependency 'mycloudkit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/mufasaYC/MYCloudKit.git
https://github.com/mufasaYC/MYCloudKit.git
{
"dependencies" : [
],
"manifest_display_name" : "MYCloudKit",
"name" : "MYCloudKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "maccatalyst",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "MYCloudKit",
"targets" : [
"MYCloudKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MYCloudKit",
"module_type" : "SwiftTarget",
"name" : "MYCloudKit",
"path" : "Sources/MYCloudKit",
"product_memberships" : [
"MYCloudKit"
],
"sources" : [
"Extensions/CKDatabase+Extension.swift",
"Extensions/CKRecord+Extension.swift",
"Extensions/CKServerChangeToken+Extension.swift",
"Extensions/UserDefault+Extension.swift",
"Helpers/MYRecordConvertible.swift",
"MYCloudKit.swift",
"MYSyncEngine/MYCloudEngine+CRUD.swift",
"MYSyncEngine/MYCloudEngine+Fetch.swift",
"MYSyncEngine/MYCloudEngine+Share.swift",
"MYSyncEngine/MYCloudEngine+Subscriptions.swift",
"MYSyncEngine/MYCloudEngine+Sync.swift",
"MYSyncEngine/MYCloudEngine+Transaction.swift",
"MYSyncEngine/MYSyncDelegate.swift",
"MYSyncEngine/MYSyncEngine+Cache.swift",
"MYSyncEngine/MYSyncEngine+Logger.swift",
"MYSyncEngine/MYSyncEngine.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/18] Compiling MYCloudKit MYSyncEngine+Logger.swift
[4/18] Compiling MYCloudKit MYSyncEngine+Cache.swift
[5/19] Compiling MYCloudKit MYSyncDelegate.swift
[6/19] Compiling MYCloudKit MYCloudEngine+Share.swift
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Subscriptions.swift:41:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
39 | subscription.notificationInfo = notification
40 |
41 | Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
42 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
43 |
44 | do {
[7/19] Compiling MYCloudKit MYCloudEngine+Subscriptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Subscriptions.swift:41:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
39 | subscription.notificationInfo = notification
40 |
41 | Task { [weak self] in
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
42 | guard let self else { return }
| `- note: closure captures 'self' which is accessible to code in the current task
43 |
44 | do {
[8/19] Compiling MYCloudKit MYCloudEngine+Sync.swift
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:32:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
30 |
31 | Task { @MainActor [weak self] in
32 | guard let self else {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
33 | return
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:37:34: warning: sending 'transaction' risks causing data races; this is an error in the Swift 6 language mode
35 |
36 | /// Convert the transaction to a `CKRecord`. If conversion fails, remove from queue and retry.
37 | guard let ckRecord = transaction.asCKRecord(using: self.cache) else {
| |- warning: sending 'transaction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'transaction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
38 | self.handleError(NSError(domain: "Cannot parse CKRecord", code: 500), for: transaction)
39 | self.sync()
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:398:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
396 | try await withThrowingTaskGroup(of: Void.self) { [weak self] group in
397 | for recordType in recordTypes {
398 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
399 | let query = CKQuery(recordType: recordType, predicate: NSPredicate(format: "parent == %@", recordID))
400 | let childRecordIDs = (try await self?.getRecordIDs(with: query, zoneID: recordID.zoneID, scope: scope) ?? [])
| `- note: closure captures reference to mutable var 'self' which is accessible to code in the current task
401 |
402 | try await withThrowingTaskGroup(of: Void.self) { childGroup in
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:404:48: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
402 | try await withThrowingTaskGroup(of: Void.self) { childGroup in
403 | for childRecordID in childRecordIDs {
404 | childGroup.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
405 | try await self?.cascadeDeleteChildRecords(for: childRecordID, in: scope)
| `- note: closure captures reference to mutable var 'self' which is accessible to code in the current task
406 | }
407 | }
[9/19] Compiling MYCloudKit MYCloudEngine+Transaction.swift
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:32:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
30 |
31 | Task { @MainActor [weak self] in
32 | guard let self else {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
33 | return
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:37:34: warning: sending 'transaction' risks causing data races; this is an error in the Swift 6 language mode
35 |
36 | /// Convert the transaction to a `CKRecord`. If conversion fails, remove from queue and retry.
37 | guard let ckRecord = transaction.asCKRecord(using: self.cache) else {
| |- warning: sending 'transaction' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'transaction' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
38 | self.handleError(NSError(domain: "Cannot parse CKRecord", code: 500), for: transaction)
39 | self.sync()
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:398:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
396 | try await withThrowingTaskGroup(of: Void.self) { [weak self] group in
397 | for recordType in recordTypes {
398 | group.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
399 | let query = CKQuery(recordType: recordType, predicate: NSPredicate(format: "parent == %@", recordID))
400 | let childRecordIDs = (try await self?.getRecordIDs(with: query, zoneID: recordID.zoneID, scope: scope) ?? [])
| `- note: closure captures reference to mutable var 'self' which is accessible to code in the current task
401 |
402 | try await withThrowingTaskGroup(of: Void.self) { childGroup in
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Sync.swift:404:48: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
402 | try await withThrowingTaskGroup(of: Void.self) { childGroup in
403 | for childRecordID in childRecordIDs {
404 | childGroup.addTask {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
405 | try await self?.cascadeDeleteChildRecords(for: childRecordID, in: scope)
| `- note: closure captures reference to mutable var 'self' which is accessible to code in the current task
406 | }
407 | }
[10/19] Compiling MYCloudKit MYRecordConvertible.swift
[11/19] Compiling MYCloudKit MYCloudKit.swift
[12/19] Compiling MYCloudKit CKServerChangeToken+Extension.swift
[13/19] Compiling MYCloudKit UserDefault+Extension.swift
[14/19] Compiling MYCloudKit CKDatabase+Extension.swift
[15/19] Compiling MYCloudKit CKRecord+Extension.swift
[16/19] Compiling MYCloudKit MYCloudEngine+CRUD.swift
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Fetch.swift:28:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
26 | do {
27 | // Attempt to fetch data from the private CloudKit database
28 | try await self.fetch(in: .private)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to nonisolated instance method 'fetch(in:)' risks causing data races between nonisolated and main actor-isolated uses
29 |
30 | // Attempt to fetch data from the shared CloudKit database
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Fetch.swift:31:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
29 |
30 | // Attempt to fetch data from the shared CloudKit database
31 | try await self.fetch(in: .shared)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to nonisolated instance method 'fetch(in:)' risks causing data races between nonisolated and main actor-isolated uses
32 |
33 | // If both fetches succeed, update the fetch state with completion time
[17/19] Compiling MYCloudKit MYCloudEngine+Fetch.swift
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Fetch.swift:28:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
26 | do {
27 | // Attempt to fetch data from the private CloudKit database
28 | try await self.fetch(in: .private)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to nonisolated instance method 'fetch(in:)' risks causing data races between nonisolated and main actor-isolated uses
29 |
30 | // Attempt to fetch data from the shared CloudKit database
/Users/admin/builder/spi-builder-workspace/Sources/MYCloudKit/MYSyncEngine/MYCloudEngine+Fetch.swift:31:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
29 |
30 | // Attempt to fetch data from the shared CloudKit database
31 | try await self.fetch(in: .shared)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to nonisolated instance method 'fetch(in:)' risks causing data races between nonisolated and main actor-isolated uses
32 |
33 | // If both fetches succeed, update the fetch state with completion time
[18/19] Emitting module MYCloudKit
[19/19] Compiling MYCloudKit MYSyncEngine.swift
Build complete! (5.99s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "MYCloudKit",
"name" : "MYCloudKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "maccatalyst",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "MYCloudKit",
"targets" : [
"MYCloudKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MYCloudKit",
"module_type" : "SwiftTarget",
"name" : "MYCloudKit",
"path" : "Sources/MYCloudKit",
"product_memberships" : [
"MYCloudKit"
],
"sources" : [
"Extensions/CKDatabase+Extension.swift",
"Extensions/CKRecord+Extension.swift",
"Extensions/CKServerChangeToken+Extension.swift",
"Extensions/UserDefault+Extension.swift",
"Helpers/MYRecordConvertible.swift",
"MYCloudKit.swift",
"MYSyncEngine/MYCloudEngine+CRUD.swift",
"MYSyncEngine/MYCloudEngine+Fetch.swift",
"MYSyncEngine/MYCloudEngine+Share.swift",
"MYSyncEngine/MYCloudEngine+Subscriptions.swift",
"MYSyncEngine/MYCloudEngine+Sync.swift",
"MYSyncEngine/MYCloudEngine+Transaction.swift",
"MYSyncEngine/MYSyncDelegate.swift",
"MYSyncEngine/MYSyncEngine+Cache.swift",
"MYSyncEngine/MYSyncEngine+Logger.swift",
"MYSyncEngine/MYSyncEngine.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.