Build Information
Successful build of GOFeatureFlag, reference main (0ecb1f), with Swift 6.1 for macOS (SPM) on 10 Oct 2026 16:41:41 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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/go-feature-flag/openfeature-swift-provider.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/go-feature-flag/openfeature-swift-provider
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 0ecb1fe feat!: upgrade OpenFeature Swift SDK to 0.7.0 (#34)
Cloned https://github.com/go-feature-flag/openfeature-swift-provider.git
Revision (git rev-parse @):
0ecb1fe498205f210029fd20b1db567dec451d22
SUCCESS checkout https://github.com/go-feature-flag/openfeature-swift-provider.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/go-feature-flag/openfeature-swift-provider.git
https://github.com/go-feature-flag/openfeature-swift-provider.git
{
"dependencies" : [
{
"identity" : "swift-sdk",
"requirement" : {
"exact" : [
"0.7.0"
]
},
"type" : "sourceControl",
"url" : "https://github.com/open-feature/swift-sdk.git"
}
],
"manifest_display_name" : "GOFeatureFlag",
"name" : "GOFeatureFlag",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "GOFeatureFlag",
"targets" : [
"GOFeatureFlag"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "OFREP",
"targets" : [
"OFREP"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TestSupport",
"module_type" : "SwiftTarget",
"name" : "TestSupport",
"path" : "Tests/TestSupport",
"product_dependencies" : [
"OpenFeature"
],
"sources" : [
"capturing_logger.swift",
"received_events.swift",
"wrong_type_evaluations.swift"
],
"type" : "library"
},
{
"c99name" : "OFREPTests",
"module_type" : "SwiftTarget",
"name" : "OFREPTests",
"path" : "Tests/OFREPTests",
"sources" : [
"mock_networking_service.swift",
"ofrep_api_tests.swift",
"provider_tests.swift"
],
"target_dependencies" : [
"OFREP",
"TestSupport"
],
"type" : "test"
},
{
"c99name" : "OFREP",
"module_type" : "SwiftTarget",
"name" : "OFREP",
"path" : "Sources/OFREP",
"product_dependencies" : [
"OpenFeature"
],
"product_memberships" : [
"GOFeatureFlag",
"OFREP"
],
"sources" : [
"controller/ofrep_api.swift",
"exception/ofrep_errors.swift",
"exception/option_exceptions.swift",
"model/bulk_evaluation_response.swift",
"model/bulk_evaluation_status.swift",
"model/bulk_evalutaion_request.swift",
"model/json_value.swift",
"model/options.swift",
"ofrep.swift",
"protocol/networking_service.swift"
],
"type" : "library"
},
{
"c99name" : "GOFeatureFlagTests",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlagTests",
"path" : "Tests/GOFeatureFlagTests",
"sources" : [
"data_collector_hooks_tests.swift",
"goff_api_tests.swift",
"mock_networking_service.swift",
"provider_tests.swift",
"tracking_tests.swift"
],
"target_dependencies" : [
"GOFeatureFlag",
"TestSupport"
],
"type" : "test"
},
{
"c99name" : "GOFeatureFlag",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlag",
"path" : "Sources/GOFeatureFlag",
"product_dependencies" : [
"OpenFeature"
],
"product_memberships" : [
"GOFeatureFlag"
],
"sources" : [
"controller/data_collector_manager.swift",
"controller/exporter_metadata.swift",
"controller/goff_api.swift",
"exception/goff_errors.swift",
"hook/data_collector_bool_hook.swift",
"hook/data_collector_double_hook.swift",
"hook/data_collector_integer_hook.swift",
"hook/data_collector_object_hook.swift",
"hook/data_collector_string_hook.swift",
"model/collector_event.swift",
"model/data_collector_request.swift",
"model/data_collector_response.swift",
"model/feature_event.swift",
"model/tracking_event.swift",
"model/value_extension.swift",
"options.swift",
"provider.swift"
],
"target_dependencies" : [
"OFREP"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
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/6] Write sources
[1/6] Copying PrivacyInfo.xcprivacy
[1/6] Write sources
[5/6] Write swift-version-2F0A5646E1D333AE.txt
[7/48] Compiling OpenFeature Reason.swift
[8/48] Compiling OpenFeature Structure.swift
[9/48] Compiling OpenFeature Tracking.swift
[10/48] Compiling OpenFeature TrackingEventDetails.swift
[11/52] Emitting module OpenFeature
[12/52] Compiling OpenFeature Strategy.swift
[13/52] Compiling OpenFeature NoOpProvider.swift
[14/52] Compiling OpenFeature ProviderEvaluation.swift
[15/52] Compiling OpenFeature ProviderEventDetails.swift
[16/52] Compiling OpenFeature OpenFeatureAPI.swift
[17/52] Compiling OpenFeature OpenFeatureClient.swift
[18/52] Compiling OpenFeature OpenFeatureLogger.swift
[19/52] Compiling OpenFeature FeatureProvider.swift
[20/52] Compiling OpenFeature InMemoryFlag.swift
[21/52] Compiling OpenFeature ProviderEvents.swift
[22/52] Compiling OpenFeature ProviderMetadata.swift
[23/52] Compiling OpenFeature ProviderStatus.swift
[24/52] Compiling OpenFeature ProviderStatusTracker.swift
[25/52] Compiling OpenFeature ImmutableContext.swift
[26/52] Compiling OpenFeature ImmutableStructure.swift
[27/52] Compiling OpenFeature ImmutableTrackingEventDetails.swift
[28/52] Compiling OpenFeature MetadataValue.swift
[29/52] Compiling OpenFeature MutableStructure.swift
[30/52] Compiling OpenFeature BaseEvaluation.swift
[31/52] Compiling OpenFeature Client.swift
[32/52] Compiling OpenFeature ClientMetadata.swift
[33/52] Compiling OpenFeature EvaluationContext.swift
[34/52] Compiling OpenFeature EventHandler.swift
[35/52] Compiling OpenFeature InMemoryProvider.swift
[36/52] Compiling OpenFeature FirstMatchStrategy.swift
[37/52] Compiling OpenFeature FirstSuccessfulStrategy.swift
[38/52] Compiling OpenFeature MultiProvider.swift
[39/52] Compiling OpenFeature EventMetadataValue.swift
[40/52] Compiling OpenFeature Features+Defaults.swift
[41/52] Compiling OpenFeature Features.swift
[42/52] Compiling OpenFeature FlagEvaluationDetails.swift
[43/52] Compiling OpenFeature FlagEvaluationOptions.swift
[44/52] Compiling OpenFeature FlagMetadataValue.swift
[45/52] Compiling OpenFeature FlagValueType.swift
[46/52] Compiling OpenFeature Hook.swift
[47/52] Compiling OpenFeature HookContext.swift
[48/52] Compiling OpenFeature HookSupport.swift
[49/52] Compiling OpenFeature Value.swift
[50/52] Compiling OpenFeature ErrorCode.swift
[51/52] Compiling OpenFeature OpenFeatureError.swift
[52/52] Compiling OpenFeature resource_bundle_accessor.swift
[53/66] Compiling TestSupport wrong_type_evaluations.swift
[54/66] Compiling TestSupport received_events.swift
[55/66] Compiling TestSupport capturing_logger.swift
[56/66] Emitting module TestSupport
[57/66] Compiling OFREP ofrep_api.swift
[58/66] Emitting module OFREP
[59/66] Compiling OFREP option_exceptions.swift
[60/66] Compiling OFREP bulk_evaluation_response.swift
[61/67] Compiling OFREP networking_service.swift
[62/67] Compiling OFREP options.swift
[63/67] Compiling OFREP bulk_evaluation_status.swift
[64/67] Compiling OFREP bulk_evalutaion_request.swift
[65/67] Compiling OFREP json_value.swift
[66/67] Compiling OFREP ofrep.swift
/Users/admin/builder/spi-builder-workspace/Sources/OFREP/ofrep.swift:91:34: 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
89 | self.withStateLock { self.evaluationContext = initialContext }
90 | return Future { promise in
91 | self.initTask = 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
92 | do {
93 | let status = try await self.evaluateFlags(context: initialContext)
| | `- note: closure captures non-Sendable 'initialContext'
| `- note: closure captures non-Sendable 'self'
94 | guard status == .successWithChanges else {
95 | throw OpenFeatureError.generalError(
:
112 | // The event is always emitted before resolving, so that callers of
113 | // setProviderAndWait observe the correct status as soon as it returns.
114 | promise(.success(()))
| `- note: closure captures non-Sendable 'promise'
115 | }
116 | }
/Users/admin/builder/spi-builder-workspace/Sources/OFREP/ofrep.swift:132:39: 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 | self.statusTracker.send(.reconciling(nil))
131 | return Future { promise in
132 | self.reconcileTask = 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 | do {
134 | let status = try await self.evaluateFlags(context: newContext)
| | `- note: closure captures non-Sendable 'newContext'
| `- note: closure captures non-Sendable 'self'
135 | // Cancel may land after evaluateFlags returns (including 304 / rateLimited
136 | // paths that never hit the cache-write guard). Stay silent: the superseding
:
150 | // Same rule as above: a cancelled reconcile must not emit or mutate status.
151 | guard !Task.isCancelled else {
152 | promise(.success(()))
| `- note: closure captures non-Sendable 'promise'
153 | return
154 | }
/Users/admin/builder/spi-builder-workspace/Sources/OFREP/ofrep.swift:306:18: 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
304 | timer?.setEventHandler { [weak self] in
305 | guard let weakSelf = self else { return }
306 | 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
307 | do {
308 | let status = try await weakSelf.evaluateFlags(
| `- note: closure captures 'weakSelf' which is accessible to code in the current task
309 | context: weakSelf.withStateLock { weakSelf.evaluationContext })
310 | if status != .rateLimited && (weakSelf.status == .stale || weakSelf.status == .error) {
[67/67] Compiling OFREP ofrep_errors.swift
[68/84] Compiling GOFeatureFlag data_collector_string_hook.swift
[69/84] Compiling GOFeatureFlag collector_event.swift
[70/84] Compiling GOFeatureFlag data_collector_integer_hook.swift
[71/84] Compiling GOFeatureFlag data_collector_object_hook.swift
[72/84] Compiling GOFeatureFlag data_collector_bool_hook.swift
[73/84] Compiling GOFeatureFlag data_collector_double_hook.swift
[74/85] Compiling GOFeatureFlag goff_api.swift
[75/85] Compiling GOFeatureFlag goff_errors.swift
[76/85] Emitting module GOFeatureFlag
[77/85] Compiling GOFeatureFlag data_collector_manager.swift
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:13: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a '@Sendable' closure
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [CollectorEvent] = []
7 | var hooks: [any Hook] = []
:
38 | private func appendEvent(event: CollectorEvent) {
39 | self.queue.async(flags:.barrier) {
40 | self.events.append(event)
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a '@Sendable' closure
41 | }
42 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:32: warning: capture of 'event' with non-sendable type 'CollectorEvent' in a '@Sendable' closure
38 | private func appendEvent(event: CollectorEvent) {
39 | self.queue.async(flags:.barrier) {
40 | self.events.append(event)
| `- warning: capture of 'event' with non-sendable type 'CollectorEvent' in a '@Sendable' closure
41 | }
42 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/model/collector_event.swift:6:6: note: consider making enum 'CollectorEvent' conform to the 'Sendable' protocol
4 | /// Both variants are serialized as plain JSON objects, without any discriminator wrapper, so the
5 | /// payload stays identical to the one produced by the other GO Feature Flag providers.
6 | enum CollectorEvent: Codable {
| `- note: consider making enum 'CollectorEvent' conform to the 'Sendable' protocol
7 | case feature(FeatureEvent)
8 | case tracking(TrackingEvent)
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:23:18: 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
21 | timer?.setEventHandler { [weak self] in
22 | guard let weakSelf = self else { return }
23 | 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
24 | await weakSelf.pushEvents()
| `- note: closure captures 'weakSelf' which is accessible to code in the current task
25 | }
26 | }
[78/85] Compiling GOFeatureFlag exporter_metadata.swift
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:13: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a '@Sendable' closure
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [CollectorEvent] = []
7 | var hooks: [any Hook] = []
:
38 | private func appendEvent(event: CollectorEvent) {
39 | self.queue.async(flags:.barrier) {
40 | self.events.append(event)
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a '@Sendable' closure
41 | }
42 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:32: warning: capture of 'event' with non-sendable type 'CollectorEvent' in a '@Sendable' closure
38 | private func appendEvent(event: CollectorEvent) {
39 | self.queue.async(flags:.barrier) {
40 | self.events.append(event)
| `- warning: capture of 'event' with non-sendable type 'CollectorEvent' in a '@Sendable' closure
41 | }
42 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/model/collector_event.swift:6:6: note: consider making enum 'CollectorEvent' conform to the 'Sendable' protocol
4 | /// Both variants are serialized as plain JSON objects, without any discriminator wrapper, so the
5 | /// payload stays identical to the one produced by the other GO Feature Flag providers.
6 | enum CollectorEvent: Codable {
| `- note: consider making enum 'CollectorEvent' conform to the 'Sendable' protocol
7 | case feature(FeatureEvent)
8 | case tracking(TrackingEvent)
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:23:18: 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
21 | timer?.setEventHandler { [weak self] in
22 | guard let weakSelf = self else { return }
23 | 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
24 | await weakSelf.pushEvents()
| `- note: closure captures 'weakSelf' which is accessible to code in the current task
25 | }
26 | }
[79/85] Compiling GOFeatureFlag value_extension.swift
[80/85] Compiling GOFeatureFlag feature_event.swift
[81/85] Compiling GOFeatureFlag tracking_event.swift
[82/85] Compiling GOFeatureFlag data_collector_request.swift
[83/85] Compiling GOFeatureFlag data_collector_response.swift
[84/85] Compiling GOFeatureFlag options.swift
[85/85] Compiling GOFeatureFlag provider.swift
Build complete! (12.94s)
Fetching https://github.com/open-feature/swift-sdk.git
[1/1944] Fetching swift-sdk
Fetched https://github.com/open-feature/swift-sdk.git from cache (1.00s)
Computing version for https://github.com/open-feature/swift-sdk.git
Computed https://github.com/open-feature/swift-sdk.git at 0.7.0 (1.62s)
Fetching https://github.com/apple/swift-log from cache
Fetched https://github.com/apple/swift-log from cache (1.16s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.15.1 (0.48s)
Creating working copy for https://github.com/open-feature/swift-sdk.git
Working copy of https://github.com/open-feature/swift-sdk.git resolved at 0.7.0
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.15.1
Build complete.
{
"dependencies" : [
{
"identity" : "swift-sdk",
"requirement" : {
"exact" : [
"0.7.0"
]
},
"type" : "sourceControl",
"url" : "https://github.com/open-feature/swift-sdk.git"
}
],
"manifest_display_name" : "GOFeatureFlag",
"name" : "GOFeatureFlag",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "GOFeatureFlag",
"targets" : [
"GOFeatureFlag"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "OFREP",
"targets" : [
"OFREP"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TestSupport",
"module_type" : "SwiftTarget",
"name" : "TestSupport",
"path" : "Tests/TestSupport",
"product_dependencies" : [
"OpenFeature"
],
"sources" : [
"capturing_logger.swift",
"received_events.swift",
"wrong_type_evaluations.swift"
],
"type" : "library"
},
{
"c99name" : "OFREPTests",
"module_type" : "SwiftTarget",
"name" : "OFREPTests",
"path" : "Tests/OFREPTests",
"sources" : [
"mock_networking_service.swift",
"ofrep_api_tests.swift",
"provider_tests.swift"
],
"target_dependencies" : [
"OFREP",
"TestSupport"
],
"type" : "test"
},
{
"c99name" : "OFREP",
"module_type" : "SwiftTarget",
"name" : "OFREP",
"path" : "Sources/OFREP",
"product_dependencies" : [
"OpenFeature"
],
"product_memberships" : [
"GOFeatureFlag",
"OFREP"
],
"sources" : [
"controller/ofrep_api.swift",
"exception/ofrep_errors.swift",
"exception/option_exceptions.swift",
"model/bulk_evaluation_response.swift",
"model/bulk_evaluation_status.swift",
"model/bulk_evalutaion_request.swift",
"model/json_value.swift",
"model/options.swift",
"ofrep.swift",
"protocol/networking_service.swift"
],
"type" : "library"
},
{
"c99name" : "GOFeatureFlagTests",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlagTests",
"path" : "Tests/GOFeatureFlagTests",
"sources" : [
"data_collector_hooks_tests.swift",
"goff_api_tests.swift",
"mock_networking_service.swift",
"provider_tests.swift",
"tracking_tests.swift"
],
"target_dependencies" : [
"GOFeatureFlag",
"TestSupport"
],
"type" : "test"
},
{
"c99name" : "GOFeatureFlag",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlag",
"path" : "Sources/GOFeatureFlag",
"product_dependencies" : [
"OpenFeature"
],
"product_memberships" : [
"GOFeatureFlag"
],
"sources" : [
"controller/data_collector_manager.swift",
"controller/exporter_metadata.swift",
"controller/goff_api.swift",
"exception/goff_errors.swift",
"hook/data_collector_bool_hook.swift",
"hook/data_collector_double_hook.swift",
"hook/data_collector_integer_hook.swift",
"hook/data_collector_object_hook.swift",
"hook/data_collector_string_hook.swift",
"model/collector_event.swift",
"model/data_collector_request.swift",
"model/data_collector_response.swift",
"model/feature_event.swift",
"model/tracking_event.swift",
"model/value_extension.swift",
"options.swift",
"provider.swift"
],
"target_dependencies" : [
"OFREP"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.