The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Cirrus, reference main (9f6138), with Swift 6.4 for macOS (SPM) on 18 Sep 2026 17:41:12 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jayhickey/cirrus.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jayhickey/cirrus
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9f6138c format fix
Cloned https://github.com/jayhickey/cirrus.git
Revision (git rev-parse @):
9f6138ca74e5cbcae9b20996ea9f003f701416fc
SUCCESS checkout https://github.com/jayhickey/cirrus.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/jayhickey/cirrus.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 153]
[Planning deferred tasks]
[32 / 58]
[33 / 59] CloudKitCodable
[43 / 103]
[48 / 103]
[52 / 103]
[53 / 103]
[57 / 103]
[59 / 103]
[62 / 103]
[66 / 103]
[68 / 103]
[69 / 103]
[73 / 103]
[77 / 103] CloudKitCodable
[84 / 104] CKRecordCoder
[93 / 115] CKRecordCoder
[96 / 115] CloudKitCodable
[98 / 115] CKRecordCoder
[107 / 116] Cirrus
[118 / 127] Cirrus
[124 / 127] Cirrus
[126 / 127] Cirrus
Build complete! (8.92 sec)
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/DeleteRecordContext.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 2 | import CloudKit
 3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/Error+CloudKit.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import CloudKit
  3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import CloudKit
  3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/UploadRecordContext.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 2 | import CloudKit
 3 | import CloudKitCodable
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Zone.swift:45:15: warning: 'modifyRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordZonesResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 43 |     )
 44 |
 45 |     operation.modifyRecordZonesCompletionBlock = { [weak self] _, _, error in
    |               `- warning: 'modifyRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordZonesResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 46 |       guard let self = self else { return }
 47 |
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Zone.swift:70:15: warning: 'fetchRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZonesResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 68 |     let operation = CKFetchRecordZonesOperation(recordZoneIDs: [zoneIdentifier])
 69 |
 70 |     operation.fetchRecordZonesCompletionBlock = { [weak self] ids, error in
    |               `- warning: 'fetchRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZonesResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 71 |       guard let self = self else { return }
 72 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Subscription.swift:53:15: warning: 'modifySubscriptionsCompletionBlock' was deprecated in macOS 12.0: Use modifySubscriptionsResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 51 |     operation.qualityOfService = .userInitiated
 52 |
 53 |     operation.modifySubscriptionsCompletionBlock = { [weak self] _, _, error in
    |               `- warning: 'modifySubscriptionsCompletionBlock' was deprecated in macOS 12.0: Use modifySubscriptionsResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 54 |       guard let self = self else { return }
 55 |
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Subscription.swift:75:15: warning: 'fetchSubscriptionCompletionBlock' was deprecated in macOS 12.0: Use fetchSubscriptionsResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 73 |     let operation = CKFetchSubscriptionsOperation(subscriptionIDs: [privateSubscriptionIdentifier])
 74 |
 75 |     operation.fetchSubscriptionCompletionBlock = { [weak self] ids, error in
    |               `- warning: 'fetchSubscriptionCompletionBlock' was deprecated in macOS 12.0: Use fetchSubscriptionsResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 76 |       guard let self = self else { return }
 77 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/DeleteRecordContext.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 2 | import CloudKit
 3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/DeleteRecordContext.swift:46:38: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
44 |       guard let data = defaults.data(forKey: deleteBufferKey) else { return [] }
45 |       do {
46 |         return try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? [CKRecord.ID] ?? []
   |                                      `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
47 |       } catch {
48 |         logHandler("Failed to decode CKRecord.IDs from defaults key deleteBufferKey", .error)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/Error+CloudKit.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import CloudKit
  3 | import CloudKitCodable
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import CloudKit
  3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:52:15: warning: 'recordZoneFetchCompletionBlock' was deprecated in macOS 12.0: Use recordZoneFetchResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 50 |
 51 |     // Called after the record zone fetch completes
 52 |     operation.recordZoneFetchCompletionBlock = { [weak self] _, token, _, _, error in
    |               `- warning: 'recordZoneFetchCompletionBlock' was deprecated in macOS 12.0: Use recordZoneFetchResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 53 |       guard let self = self else { return }
 54 |
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:81:15: warning: 'recordChangedBlock' was deprecated in macOS 12.0: Use recordWasChangedBlock instead, which surfaces per-record errors [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 79 |     }
 80 |
 81 |     operation.recordChangedBlock = { [weak self] record in
    |               `- warning: 'recordChangedBlock' was deprecated in macOS 12.0: Use recordWasChangedBlock instead, which surfaces per-record errors [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 82 |       self?.workQueue.async {
 83 |         changedRecords.append(record)
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:96:15: warning: 'fetchRecordZoneChangesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZoneChangesResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 94 |     }
 95 |
 96 |     operation.fetchRecordZoneChangesCompletionBlock = { [weak self] error in
    |               `- warning: 'fetchRecordZoneChangesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZoneChangesResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 97 |       guard let self = self else { return }
 98 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/UploadRecordContext.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Cirrus' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 2 | import CloudKit
 3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/UploadRecordContext.swift:49:38: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
47 |       guard let data = defaults.data(forKey: uploadBufferKey) else { return [:] }
48 |       do {
49 |         return try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data)
   |                                      `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
50 |           as? [CKRecord.ID: CKRecord] ?? [:]
51 |       } catch {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RecordModification.swift:44:15: warning: 'modifyRecordsCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordsResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 42 |       recordsToSave: recordsToSave, recordIDsToDelete: recordIDsToDelete)
 43 |
 44 |     operation.modifyRecordsCompletionBlock = { [weak self] serverRecords, deletedRecordIDs, error in
    |               `- warning: 'modifyRecordsCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordsResultBlock instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 45 |       guard let self = self else { return }
 46 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Cirrus",
  "name" : "Cirrus",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Cirrus",
      "targets" : [
        "Cirrus"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CloudKitCodable",
      "targets" : [
        "CloudKitCodable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CloudKitCodable",
      "module_type" : "SwiftTarget",
      "name" : "CloudKitCodable",
      "path" : "Sources/CloudKitCodable",
      "product_memberships" : [
        "Cirrus",
        "CloudKitCodable"
      ],
      "sources" : [
        "CloudKitCodable+LastModifiedDate.swift",
        "CloudKitCodable.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Cirrus",
      "module_type" : "SwiftTarget",
      "name" : "Cirrus",
      "path" : "Sources/Cirrus",
      "product_memberships" : [
        "Cirrus"
      ],
      "sources" : [
        "DeleteRecordContext.swift",
        "Error+CloudKit.swift",
        "RecordModifyingContext.swift",
        "SyncEngine+AccountStatus.swift",
        "SyncEngine+RecordModification.swift",
        "SyncEngine+RemoteChangeTracking.swift",
        "SyncEngine+Subscription.swift",
        "SyncEngine+Zone.swift",
        "SyncEngine.swift",
        "UploadRecordContext.swift"
      ],
      "target_dependencies" : [
        "CKRecordCoder",
        "CloudKitCodable"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CKRecordCoderTests",
      "module_type" : "SwiftTarget",
      "name" : "CKRecordCoderTests",
      "path" : "Tests/CKRecordCoderTests",
      "sources" : [
        "CKRecordDecoderTests.swift",
        "CKRecordEncoderDecoderRoundTripTests.swift",
        "CKRecordEncoderTests.swift",
        "Mocks/Bookmark.swift",
        "Mocks/Numbers.swift",
        "Mocks/ParentChild.swift",
        "Mocks/Person.swift",
        "Mocks/URLModel.swift",
        "Mocks/UUIDModel.swift"
      ],
      "target_dependencies" : [
        "CKRecordCoder"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CKRecordCoder",
      "module_type" : "SwiftTarget",
      "name" : "CKRecordCoder",
      "path" : "Sources/CKRecordCoder",
      "product_memberships" : [
        "Cirrus"
      ],
      "sources" : [
        "CKRecordDecoder.swift",
        "CKRecordEncoder.swift",
        "CKRecordEncodingError.swift",
        "CKRecordKeyedDecodingContainer.swift",
        "CKRecordKeyedEncodingContainer.swift",
        "CKRecordSingleValueDecoder.swift",
        "CKRecordSingleValueEncoder.swift",
        "CloudKitCodable+RecordType.swift",
        "CloudKitSystemFieldsKeyName.swift",
        "URLTransformer.swift"
      ],
      "target_dependencies" : [
        "CloudKitCodable"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.