Build Information
Successful build of SnapAuth, reference 0.2.0 (0b3b92
), with Swift 6.0 for macOS (SPM) on 1 Dec 2024 11:57:28 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/snapauthapp/sdk-swift.git
Reference: 0.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/snapauthapp/sdk-swift
* tag 0.2.0 -> FETCH_HEAD
HEAD is now at 0b3b920 Remove erroneous assertion (#34)
Cloned https://github.com/snapauthapp/sdk-swift.git
Revision (git rev-parse @):
0b3b920cc4f822e0cca96ab4c8da1e7bce0eea3e
SUCCESS checkout https://github.com/snapauthapp/sdk-swift.git at 0.2.0
========================================
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": "sdk-swift",
"name": "SnapAuth",
"url": "https://github.com/snapauthapp/sdk-swift.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/sdk-swift",
"dependencies": [
]
}
]
}
Fetching https://github.com/snapauthapp/sdk-swift.git
[1/850] Fetching sdk-swift
Fetched https://github.com/snapauthapp/sdk-swift.git from cache (0.77s)
Creating working copy for https://github.com/snapauthapp/sdk-swift.git
Working copy of https://github.com/snapauthapp/sdk-swift.git resolved at 0.2.0 (0b3b920)
warning: '.resolve-product-dependencies': dependency 'sdk-swift' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/snapauthapp/sdk-swift.git
{
"dependencies" : [
],
"manifest_display_name" : "SnapAuth",
"name" : "SnapAuth",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SnapAuth",
"targets" : [
"SnapAuth"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SnapAuthTests",
"module_type" : "SwiftTarget",
"name" : "SnapAuthTests",
"path" : "Tests/SnapAuthTests",
"sources" : [
"Base64URLTests.swift"
],
"target_dependencies" : [
"SnapAuth"
],
"type" : "test"
},
{
"c99name" : "SnapAuth",
"module_type" : "SwiftTarget",
"name" : "SnapAuth",
"path" : "Sources/SnapAuth",
"product_memberships" : [
"SnapAuth"
],
"sources" : [
"API.swift",
"ApiClient.swift",
"Base64URL.swift",
"Errors.swift",
"PresentationAnchor.swift",
"SnapAuth+ASACD.swift",
"SnapAuth+ASACPCP.swift",
"SnapAuth+AutoFill.swift",
"SnapAuth+BuildRequests.swift",
"SnapAuth.swift",
"SnapAuthDelegate.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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--7754E27361AE5C74.txt
[3/13] Compiling SnapAuth SnapAuth+BuildRequests.swift
[4/13] Compiling SnapAuth SnapAuth+AutoFill.swift
[5/13] Compiling SnapAuth SnapAuth+ASACPCP.swift
[6/13] Compiling SnapAuth SnapAuth.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/SnapAuth.swift:44:27: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Set<SnapAuth.Authenticator>' may have shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | /// Permitted authenticator types
42 | public enum Authenticator: CaseIterable {
| `- note: consider making enum 'Authenticator' conform to the 'Sendable' protocol
43 | /// Allow all available authenticator types to be used
44 | public static let all = Set(Authenticator.allCases)
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Set<SnapAuth.Authenticator>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | /// Prompt for passkeys.
[7/14] Compiling SnapAuth Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/Errors.swift:68:9: warning: switch must be exhaustive; this is an error in the Swift 6 language mode
66 | extension ASAuthorizationError.Code {
67 | var snapAuthError: SnapAuthError {
68 | switch self {
| |- warning: switch must be exhaustive; this is an error in the Swift 6 language mode
| `- note: add missing case: '.matchedExcludedCredential'
69 | case .canceled: return .canceled
70 | case .failed: return .failed
[8/14] Compiling SnapAuth PresentationAnchor.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/PresentationAnchor.swift:6:17: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
4 | // FIXME: Figure out better fallback mechanisms here.
5 | // This will cause a new window to open _and remain open_
6 | fileprivate let defaultPresentationAnchor: ASPresentationAnchor = NSApplication.shared.mainWindow ?? ASPresentationAnchor()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
7 | #else
8 | fileprivate let defaultPresentationAnchor: ASPresentationAnchor = (UIApplication.shared.connectedScenes.first as? UIWindowScene)?.windows.first?.rootViewController?.view.window ?? ASPresentationAnchor()
[9/14] Compiling SnapAuth API.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/API.swift:117:13: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
115 | let user: AuthenticatingUser?
116 | struct SACredential: Codable {
117 | let type: String = "public-key"
| |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
| |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'type' case to silence this warning
| `- note: make the property mutable instead
118 | let rawId: Base64URL
119 | let response: SACredential.Response
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/ApiClient.swift:41:13: warning: immutable value 'response' was never used; consider removing it
39 |
40 | let data: Data
41 | let response: URLResponse
| `- warning: immutable value 'response' was never used; consider removing it
42 | do {
43 | (data, response) = try await URLSession.shared.data(for: request)
[10/14] Compiling SnapAuth ApiClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/API.swift:117:13: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
115 | let user: AuthenticatingUser?
116 | struct SACredential: Codable {
117 | let type: String = "public-key"
| |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
| |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'type' case to silence this warning
| `- note: make the property mutable instead
118 | let rawId: Base64URL
119 | let response: SACredential.Response
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/ApiClient.swift:41:13: warning: immutable value 'response' was never used; consider removing it
39 |
40 | let data: Data
41 | let response: URLResponse
| `- warning: immutable value 'response' was never used; consider removing it
42 | do {
43 | (data, response) = try await URLSession.shared.data(for: request)
[11/14] Compiling SnapAuth Base64URL.swift
[12/14] Emitting module SnapAuth
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/PresentationAnchor.swift:6:17: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
4 | // FIXME: Figure out better fallback mechanisms here.
5 | // This will cause a new window to open _and remain open_
6 | fileprivate let defaultPresentationAnchor: ASPresentationAnchor = NSApplication.shared.mainWindow ?? ASPresentationAnchor()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
7 | #else
8 | fileprivate let defaultPresentationAnchor: ASPresentationAnchor = (UIApplication.shared.connectedScenes.first as? UIWindowScene)?.windows.first?.rootViewController?.view.window ?? ASPresentationAnchor()
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/SnapAuth.swift:44:27: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Set<SnapAuth.Authenticator>' may have shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | /// Permitted authenticator types
42 | public enum Authenticator: CaseIterable {
| `- note: consider making enum 'Authenticator' conform to the 'Sendable' protocol
43 | /// Allow all available authenticator types to be used
44 | public static let all = Set(Authenticator.allCases)
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Set<SnapAuth.Authenticator>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | /// Prompt for passkeys.
[13/14] Compiling SnapAuth SnapAuth+ASACD.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/SnapAuth+ASACD.swift:130: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
128 | logger.debug("made a body")
129 | // logger.debug("user id \(assertion.userID.base64EncodedString())")
130 | Task {
| `- 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
131 | let response = await api.makeRequest(
| `- note: closure captures 'self' which is accessible to code in the current task
132 | path: "/assertion/process",
133 | body: body,
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/SnapAuth+ASACD.swift:82: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
80 | let body = SAProcessRegisterRequest(credential: credential)
81 |
82 | Task {
| `- 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
83 | let response = await api.makeRequest(
| `- note: closure captures 'self' which is accessible to code in the current task
84 | path: "/attestation/process",
85 | body: body,
[14/14] Compiling SnapAuth SnapAuthDelegate.swift
Build complete! (13.56s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SnapAuth",
"name" : "SnapAuth",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SnapAuth",
"targets" : [
"SnapAuth"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SnapAuthTests",
"module_type" : "SwiftTarget",
"name" : "SnapAuthTests",
"path" : "Tests/SnapAuthTests",
"sources" : [
"Base64URLTests.swift"
],
"target_dependencies" : [
"SnapAuth"
],
"type" : "test"
},
{
"c99name" : "SnapAuth",
"module_type" : "SwiftTarget",
"name" : "SnapAuth",
"path" : "Sources/SnapAuth",
"product_memberships" : [
"SnapAuth"
],
"sources" : [
"API.swift",
"ApiClient.swift",
"Base64URL.swift",
"Errors.swift",
"PresentationAnchor.swift",
"SnapAuth+ASACD.swift",
"SnapAuth+ASACPCP.swift",
"SnapAuth+AutoFill.swift",
"SnapAuth+BuildRequests.swift",
"SnapAuth.swift",
"SnapAuthDelegate.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.