Build Information
Successful build of Haversack, reference 2.0.0 (1e7cbf), with Swift 6.4 for macOS (SPM) on 25 Sep 2026 21:31:04 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jamf/Haversack.git
Reference: 2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jamf/Haversack
* tag 2.0.0 -> FETCH_HEAD
HEAD is now at 1e7cbf8 Merge pull request #16 from mlink/main
Cloned https://github.com/jamf/Haversack.git
Revision (git rev-parse @):
1e7cbf8bc697bf521ae492b9829b23e7ad7a311d
SUCCESS checkout https://github.com/jamf/Haversack.git at 2.0.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/jamf/Haversack.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 299]
[Planning deferred tasks]
[60 / 113]
[70 / 113]
[71 / 114] InternalCollectionsUtilities
[84 / 127] InternalCollectionsUtilities
[91 / 128] InternalCollectionsUtilities
[102 / 139] OrderedCollections
[104 / 139] OrderedCollections
[113 / 140] Haversack
[121 / 185]
[126 / 185]
[130 / 185]
[131 / 185]
[135 / 185]
[137 / 185]
[140 / 185]
[144 / 185]
[146 / 185]
[147 / 185]
[158 / 185] Haversack
[159 / 185] Haversack
[169 / 187] Haversack-product
[169 / 187] HaversackCryptoKit
[173 / 191] HaversackCryptoKit
[179 / 191] HaversackCryptoKit
[182 / 191] HaversackMock
[194 / 224]
[200 / 224]
[203 / 224]
[205 / 224]
[207 / 224]
[208 / 224]
[211 / 224]
[212 / 224]
[215 / 224] HaversackMock
[221 / 224] HaversackMock
Build complete! (13.21 sec)
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/apple/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
[213/30110] Fetching swift-docc-plugin, swift-collections
Fetched https://github.com/apple/swift-collections (2.94s)
Fetched https://github.com/apple/swift-docc-plugin (2.94s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (5.74s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3830] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.38s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.30s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.7.0 (0.65s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.7.0
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: [1;33mwarning: [1;39m'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m39 |[0;0m var searchList: CFArray?
[0;36m40 |[0;0m let status = withUnsafeMutablePointer(to: &searchList) {
[0;36m41 |[0;0m SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m42 |[0;0m }
[0;36m43 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: [1;33mwarning: [1;39m'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m39 |[0;0m var searchList: CFArray?
[0;36m40 |[0;0m let status = withUnsafeMutablePointer(to: &searchList) {
[0;36m41 |[0;0m SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m42 |[0;0m }
[0;36m43 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:102:13: [1;33mwarning: [1;39m'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m100 |[0;0m let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
[0;36m101 |[0;0m let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
[0;36m102 |[0;0m SecKeychainGetPath(reference, pathLength, pathName)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m103 |[0;0m }
[0;36m104 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:144:22: [1;33mwarning: [1;39m'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m142 |[0;0m func open() throws {
[0;36m143 |[0;0m os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
[0;36m144 |[0;0m let status = SecKeychainOpen(path, &reference)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m145 |[0;0m if status != errSecSuccess {
[0;36m146 |[0;0m os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:176:22: [1;33mwarning: [1;39m'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m174 |[0;0m
[0;36m175 |[0;0m os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
[0;36m176 |[0;0m let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m177 |[0;0m if status != errSecSuccess {
[0;36m178 |[0;0m os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:187:22: [1;33mwarning: [1;39m'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m185 |[0;0m public func delete() throws {
[0;36m186 |[0;0m os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
[0;36m187 |[0;0m let status = SecKeychainDelete(reference)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m188 |[0;0m if status != errSecSuccess {
[0;36m189 |[0;0m os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:203:22: [1;33mwarning: [1;39m'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m201 |[0;0m
[0;36m202 |[0;0m var rawStatus: SecKeychainStatus = .zero
[0;36m203 |[0;0m let status = SecKeychainGetStatus(keychain, &rawStatus)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m204 |[0;0m if status == errSecSuccess {
[0;36m205 |[0;0m let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:223:22: [1;33mwarning: [1;39m'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m221 |[0;0m
[0;36m222 |[0;0m os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
[0;36m223 |[0;0m let status = SecKeychainLock(keychain)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m224 |[0;0m if status != errSecSuccess {
[0;36m225 |[0;0m os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:245:22: [1;33mwarning: [1;39m'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m243 |[0;0m // We can't unlock the system keychain with our password; prompt the user if needed.
[0;36m244 |[0;0m os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
[0;36m245 |[0;0m status = SecKeychainUnlock(keychain, 0, nil, false)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m246 |[0;0m } else {
[0;36m247 |[0;0m guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:255:22: [1;33mwarning: [1;39m'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m253 |[0;0m let rawPassword = passwordFunc(path)
[0;36m254 |[0;0m os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
[0;36m255 |[0;0m status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m256 |[0;0m }
[0;36m257 |[0;0m if status != errSecSuccess {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
"dependencies" : [
{
"identity" : "swift-collections",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-collections"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "Haversack",
"name" : "Haversack",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "visionos",
"version" : "1.0"
},
{
"name" : "watchos",
"version" : "5.0"
}
],
"products" : [
{
"name" : "Haversack",
"targets" : [
"Haversack"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackCryptoKit",
"targets" : [
"HaversackCryptoKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackMock",
"targets" : [
"HaversackMock"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5",
"6"
],
"targets" : [
{
"c99name" : "HaversackTests",
"module_type" : "SwiftTarget",
"name" : "HaversackTests",
"path" : "Tests/HaversackTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/HaversackTests/TestResources",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"CertificateIntegrationTests.swift",
"Data+X501NameTests.swift",
"EphemeralStrategyTests.swift",
"GenericPasswordConvertibleTests.swift",
"GenericPasswordIntegrationTests.swift",
"HaversackAsyncAwaitTests.swift",
"HaversackTests.swift",
"IdentityIntegrationTests.swift",
"InternetPasswordIntegrationTests.swift",
"KeyGenerationConfigTests.swift",
"KeyGenerationIntegrationTests.swift",
"KeychainExportConfigTests.swift",
"KeychainExportIntegrationTests.swift",
"KeychainFileIntegrationTests.swift",
"KeychainImportConfigTests.swift",
"KeychainImportIntegrationTests.swift",
"QueryCertificateTests.swift",
"QueryIdentityTests.swift",
"QueryKeyTests.swift",
"QueryPasswordTests.swift",
"SystemKeychainIntegrationTests.swift",
"XCTestCase+TestResources.swift"
],
"target_dependencies" : [
"HaversackMock"
],
"type" : "test"
},
{
"c99name" : "HaversackMock",
"module_type" : "SwiftTarget",
"name" : "HaversackMock",
"path" : "Sources/HaversackMock",
"product_memberships" : [
"HaversackMock"
],
"sources" : [
"HaversackEphemeralStrategy+mocking.swift",
"HaversackEphemeralStrategy.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "HaversackCryptoKit",
"module_type" : "SwiftTarget",
"name" : "HaversackCryptoKit",
"path" : "Sources/HaversackCryptoKit",
"product_memberships" : [
"HaversackCryptoKit"
],
"sources" : [
"GenericPasswordConvertible+CryptoKit.swift",
"SecKeyConvertible.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "Haversack",
"module_type" : "SwiftTarget",
"name" : "Haversack",
"path" : "Sources/Haversack",
"product_dependencies" : [
"OrderedCollections"
],
"product_memberships" : [
"Haversack",
"HaversackCryptoKit",
"HaversackMock"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Entities/CertificateEntity.swift",
"Entities/Data+X501Name.swift",
"Entities/GenericPasswordEntity.swift",
"Entities/IdentityEntity.swift",
"Entities/InternetPasswordEntity.swift",
"Entities/KeyEntity.swift",
"Entities/KeychainStorable.swift",
"Entities/PasswordBaseEntity.swift",
"GenericPasswordConvertible.swift",
"Haversack+AsyncAwait.swift",
"Haversack.swift",
"HaversackConfiguration.swift",
"HaversackError.swift",
"HaversackStrategy.swift",
"ImportExport/KeychainExportConfig.swift",
"ImportExport/KeychainImportConfig.swift",
"ImportExport/KeychainPortable.swift",
"ImportExport/PassphraseStrategy.swift",
"ImportExport/PrivateKeyImporting.swift",
"KeyGenerationConfig.swift",
"Logs.swift",
"NSLocked.swift",
"Queries/CertificateBaseQuerying.swift",
"Queries/CertificateQuery.swift",
"Queries/GenericPasswordQuery.swift",
"Queries/IdentityQuery.swift",
"Queries/InternetPasswordQuery.swift",
"Queries/KeyBaseQuerying.swift",
"Queries/KeyQuery.swift",
"Queries/KeychainQueryOptions.swift",
"Queries/KeychainQuerying.swift",
"Queries/PasswordBaseQuerying.swift",
"Security/ItemSecurity.swift",
"Security/KeychainFile.swift",
"Security/KeychainItemRetrievability.swift",
"Security/RetrievabilityLevel.swift",
"SecuritySendable.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.