Build Information
Successful build of SnapAuth, reference main (1358e6
), with Swift 6.0 for macOS (SPM) on 1 Dec 2024 11:56:59 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: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/snapauthapp/sdk-swift
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 1358e6c Update name+handle to username (#44)
Cloned https://github.com/snapauthapp/sdk-swift.git
Revision (git rev-parse @):
1358e6cec1288bdea648e95309b0168208459018
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/snapauthapp/sdk-swift.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": "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.91s)
Creating working copy for https://github.com/snapauthapp/sdk-swift.git
Working copy of https://github.com/snapauthapp/sdk-swift.git resolved at main (1358e6c)
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",
"Availability.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/14] Compiling SnapAuth SnapAuth+ASACPCP.swift
[4/14] Compiling SnapAuth SnapAuth.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/SnapAuth.swift:45: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
41 |
42 | /// Permitted authenticator types
43 | public enum Authenticator: CaseIterable {
| `- note: consider making enum 'Authenticator' conform to the 'Sendable' protocol
44 | /// Allow all available authenticator types to be used
45 | 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
46 |
47 | /// Prompt for passkeys.
[5/15] Compiling SnapAuth SnapAuth+AutoFill.swift
[6/15] Compiling SnapAuth Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/Errors.swift:80:9: warning: switch must be exhaustive; this is an error in the Swift 6 language mode
78 | extension ASAuthorizationError.Code {
79 | var snapAuthError: SnapAuthError {
80 | switch self {
| |- warning: switch must be exhaustive; this is an error in the Swift 6 language mode
| `- note: add missing case: '.matchedExcludedCredential'
81 | case .canceled: return .canceled
82 | case .failed: return .failed
[7/15] Compiling SnapAuth SnapAuth+ASACD.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/SnapAuth+ASACD.swift:132: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
130 | logger.debug("made a body")
131 | // logger.debug("user id \(assertion.userID.base64EncodedString())")
132 | 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
133 | let response = await api.makeRequest(
| `- note: closure captures 'self' which is accessible to code in the current task
134 | path: "/assertion/process",
135 | body: body,
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/SnapAuth+ASACD.swift:84: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
82 | let body = SAProcessRegisterRequest(credential: credential)
83 |
84 | 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
85 | let response = await api.makeRequest(
| `- note: closure captures 'self' which is accessible to code in the current task
86 | path: "/attestation/process",
87 | body: body,
[8/15] Compiling SnapAuth Availability.swift
[9/15] Compiling SnapAuth Base64URL.swift
[10/15] 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()
[11/15] Compiling SnapAuth API.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/API.swift:119:13: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
117 | // See WebAuthn AuthenticationResponseJSON format
118 | struct SACredential: Codable {
119 | 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
120 | let rawId: Base64URL
121 | 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)
[12/15] Compiling SnapAuth ApiClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SnapAuth/API.swift:119:13: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
117 | // See WebAuthn AuthenticationResponseJSON format
118 | struct SACredential: Codable {
119 | 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
120 | let rawId: Base64URL
121 | 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)
[13/15] 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:45: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
41 |
42 | /// Permitted authenticator types
43 | public enum Authenticator: CaseIterable {
| `- note: consider making enum 'Authenticator' conform to the 'Sendable' protocol
44 | /// Allow all available authenticator types to be used
45 | 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
46 |
47 | /// Prompt for passkeys.
[14/15] Compiling SnapAuth SnapAuth+BuildRequests.swift
[15/15] Compiling SnapAuth SnapAuthDelegate.swift
Build complete! (13.11s)
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",
"Availability.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.