Build Information
Successful build of RediStack, reference main (473fb4), with Swift 6.4 for macOS (SPM) on 12 Oct 2026 11:10: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.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swift-server/RediStack.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swift-server/RediStack
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 473fb48 Mark RediStack as deprecated and suggest Valkey-Swift
Cloned https://github.com/swift-server/RediStack.git
Revision (git rev-parse @):
473fb4842980d21250554f3c6c7e613dea4599b7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swift-server/RediStack.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/swift-server/RediStack.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 1074]
[Planning deferred tasks]
[Constructing 1546 / 2689]
[123 / 799] Logging
[199 / 799] swift-nio-ssl_NIOSSL
[200 / 799]
[215 / 806] InternalCollectionsUtilities
[218 / 806] CNIOWindows
[221 / 819]
[229 / 840] InternalCollectionsUtilities
[232 / 863] CNIOOpenBSD
[240 / 863]
[246 / 895] Logging
[253 / 905]
[265 / 905]
[266 / 905]
[270 / 905] CNIOBoringSSL
[273 / 905] CNIOBoringSSL
[276 / 905] Atomics
[285 / 905] CNIOBoringSSL
[291 / 905]
[295 / 905]
[296 / 905] CNIOBoringSSL
[297 / 905] CNIOBoringSSL
[301 / 905] CNIOBoringSSL
[305 / 905] _NIODataStructures
[307 / 905] Logging
[318 / 905] _NIODataStructures
[338 / 905] CNIOBoringSSL
[351 / 905] CNIOBoringSSL
[352 / 905] CoreMetrics
[362 / 905] CNIOBoringSSL
[367 / 905] CNIOBoringSSL
[368 / 905] CNIOBoringSSL
[371 / 905] CNIOBoringSSL
[372 / 905] CNIOBoringSSL
[376 / 905] CNIOBoringSSL
[378 / 905] CNIOBoringSSL
[382 / 905] CNIOBoringSSL
[383 / 905] CNIOBoringSSL
[388 / 905] CNIOBoringSSL
[389 / 905] CNIOBoringSSL
[391 / 905] CNIOBoringSSL
[395 / 905] CNIOBoringSSL
[396 / 905] CNIOBoringSSL
[401 / 905] CNIOBoringSSL
[404 / 905] CNIOBoringSSL
[405 / 905] CNIOBoringSSL
[406 / 905] CNIOBoringSSL
[409 / 905] CNIOBoringSSL
[411 / 905] CNIOBoringSSL
[413 / 905] CNIOBoringSSL
[415 / 905] CNIOBoringSSL
[416 / 905] CNIOBoringSSL
[420 / 905] CNIOBoringSSL
[422 / 905] CNIOBoringSSL
[425 / 905] CNIOBoringSSL
[431 / 905] CNIOBoringSSL
[439 / 905] CNIOBoringSSL
[450 / 905] CNIOBoringSSL
[461 / 905] CNIOBoringSSL
[462 / 905] CNIOBoringSSL
[464 / 905] CNIOBoringSSL
[469 / 905] CNIOBoringSSL
[473 / 905] CNIOBoringSSL
[480 / 905] CNIOBoringSSL
[481 / 905] CNIOBoringSSL
[484 / 905] CNIOBoringSSL
[486 / 905] CNIOBoringSSL
[490 / 905] CNIOBoringSSL
[492 / 905] CNIOBoringSSL
[494 / 905] CNIOBoringSSL
[496 / 905] CNIOBoringSSL
[499 / 905] CNIOBoringSSL
[504 / 905] CNIOBoringSSL
[506 / 905] CNIOBoringSSL
[511 / 905] CNIOBoringSSL
[522 / 905] CNIOBoringSSL
[526 / 905] CNIOBoringSSL
[530 / 905] CNIOBoringSSL
[536 / 905] CNIOBoringSSL
[540 / 905] CNIOBoringSSL
[542 / 905] CNIOBoringSSL
[547 / 905] CNIOBoringSSL
[558 / 905] CNIOBoringSSL
[564 / 905] CNIOBoringSSL
[566 / 905] CNIOBoringSSL
[574 / 905] CNIOBoringSSL
[576 / 905] CNIOBoringSSL
[581 / 905] CNIOBoringSSL
[583 / 905] CNIOBoringSSL
[585 / 905] CNIOBoringSSL
[588 / 905] CNIOBoringSSL
[593 / 905] CNIOBoringSSL
[594 / 905] CNIOBoringSSL
[597 / 905] CNIOBoringSSL
[600 / 905] CNIOBoringSSL
[601 / 905] CNIOBoringSSL
[603 / 905] CNIOBoringSSL
[608 / 905] CNIOBoringSSL
[609 / 905] CNIOBoringSSL
[614 / 905] CNIOBoringSSL
[617 / 905] CNIOBoringSSL
[618 / 905] CNIOBoringSSL
[628 / 905] CNIOBoringSSL
[638 / 905] CNIOBoringSSL
[644 / 905] CNIOBoringSSL
[649 / 905] CNIOBoringSSL
[650 / 905] CNIOBoringSSL
[653 / 905] CNIOBoringSSL
[658 / 905] CNIOBoringSSL
[661 / 905] CNIOBoringSSL
[665 / 905] CNIOBoringSSL
[673 / 905] CNIOBoringSSL
[685 / 905] CNIOBoringSSL
[689 / 905] CNIOBoringSSL
[690 / 905] CNIOBoringSSL
[691 / 905] CNIOBoringSSL
[697 / 905] CNIOBoringSSL
[699 / 905] CNIOBoringSSL
[701 / 905]
[712 / 905] _NIODataStructures
[721 / 905]
[726 / 905]
[730 / 905] NIOConcurrencyHelpers
[731 / 905]
[738 / 905] Logging
[740 / 905] Logging
[748 / 905] NIOConcurrencyHelpers
[754 / 905] InternalCollectionsUtilities
[758 / 905] CoreMetrics
[767 / 905] CNIOFreeBSD
[775 / 905] Atomics
[781 / 923]
[793 / 923] Atomics
[797 / 923]
[804 / 923]
[812 / 929]
[822 / 930]
[827 / 941] DequeModule
[830 / 941] CNIOBoringSSLShims
[837 / 941] DequeModule
[839 / 941]
[840 / 941] DequeModule
[846 / 961]
[847 / 961]
[849 / 961]
[852 / 961]
[855 / 961]
[861 / 962] NIOCore
[864 / 962] DequeModule
[866 / 962] NIOCore
[876 / 975] NIOCore
[877 / 975]
[879 / 975] NIOCore
[880 / 975] NIOCore
[882 / 975] Metrics
[888 / 975] NIOCore
[888 / 975] Metrics
[890 / 975] CNIOAtomics
[890 / 975] NIOCore
[900 / 978] RESP3
[908 / 999]
[909 / 999]
[916 / 1014]
[924 / 1014] NIOEmbedded
[931 / 1014] NIOPosix
[932 / 1014] NIOPosix
[934 / 1014]
[936 / 1014] NIOPosix
[938 / 1014] NIOEmbedded
[941 / 1014] NIOCore-product
[942 / 1014]
[947 / 1014] RESP3
[953 / 1014] NIOPosix
[960 / 1015] RESP3
[962 / 1015] NIO
[970 / 1017] NIO
[972 / 1018] NIOTLS
[978 / 1024] NIOTLS
[985 / 1025] NIOTLS
[986 / 1025] NIOSSL
[987 / 1038]
[998 / 1038] NIOSSL
[999 / 1038] NIOSSL
[1003 / 1038] NIOSSL
[1006 / 1039]
[1006 / 1039] NIOSSL
[1015 / 1067]
[1018 / 1067]
[1021 / 1067]
[1023 / 1067] NIOPosix
[1028 / 1067] NIOTLS
[1029 / 1067]
[1040 / 1067] RediStack
[1048 / 1069] RediStack
[1050 / 1069] RediStack
[1051 / 1069] RedisTypes
[1053 / 1071] RedisTypes
[1060 / 1071] RedisTypes
[1062 / 1071] RediStackTestUtils
[1074 / 1110]
[1079 / 1110]
[1082 / 1110]
[1084 / 1110]
[1085 / 1110]
[1087 / 1110]
[1090 / 1110]
[1093 / 1110]
[1094 / 1110]
[1101 / 1110] RediStackTestUtils
[1107 / 1110] RediStackTestUtils
Build complete! (40.92 sec)
Fetching https://github.com/apple/swift-metrics.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-nio.git
[1/1889] Fetching swift-atomics
[20/10146] Fetching swift-atomics, swift-log
[97/13709] Fetching swift-atomics, swift-log, swift-metrics
[626/30589] Fetching swift-atomics, swift-log, swift-metrics, swift-nio-ssl
Fetched https://github.com/apple/swift-log.git (1.35s)
[6803/22332] Fetching swift-atomics, swift-metrics, swift-nio-ssl
[8998/108713] Fetching swift-atomics, swift-metrics, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-atomics.git (8.46s)
Fetched https://github.com/apple/swift-nio-ssl.git (8.46s)
Fetched https://github.com/apple/swift-nio.git (8.46s)
Fetched https://github.com/apple/swift-metrics.git (8.46s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (8.99s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.37.5 (0.71s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.104.0 (0.56s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-system.git
[1/7241] Fetching swift-system
[1232/35944] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git (3.05s)
Fetched https://github.com/apple/swift-collections.git (3.05s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.2 (3.65s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (0.47s)
Computing version for https://github.com/apple/swift-metrics.git
Computed https://github.com/apple/swift-metrics.git at 2.12.0 (0.53s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.16.1 (0.55s)
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.104.0
Creating working copy for https://github.com/apple/swift-metrics.git
Working copy of https://github.com/apple/swift-metrics.git resolved at 2.12.0
Creating working copy for https://github.com/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.37.5
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.8.1
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.16.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.2
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/RESP/RESPValue.swift:197:65: [1;33mwarning: [1;39mcapture of 'type' with non-Sendable type 'T.Type' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m195 |[0;0m self.flatMapThrowing {
[0;36m196 |[0;0m guard let value = T(fromRESP: $0) else {
[0;36m197 |[0;0m throw RedisClientError.failedRESPConversion(to: type)
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of 'type' with non-Sendable type 'T.Type' in a '@Sendable' closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
[0;36m198 |[0;0m }
[0;36m199 |[0;0m return value
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/RediStack/Commands/HashCommands.swift:387:35: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable ([RESPValue]) throws -> [String : RESPValue]' may introduce data races[0;0m
[0;36m385 |[0;0m return send(command: "HGETALL", with: args)
[0;36m386 |[0;0m .tryConverting(to: [RESPValue].self)
[0;36m387 |[0;0m .flatMapThrowing(Self._mapHashResponse)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable ([RESPValue]) throws -> [String : RESPValue]' may introduce data races[0;0m
[0;36m388 |[0;0m }
[0;36m389 |[0;0m
Build complete.
{
"dependencies" : [
{
"identity" : "swift-atomics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-atomics.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "swift-metrics",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-metrics.git"
},
{
"identity" : "swift-nio",
"requirement" : {
"range" : [
{
"lower_bound" : "2.43.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio.git"
},
{
"identity" : "swift-nio-ssl",
"requirement" : {
"range" : [
{
"lower_bound" : "2.23.1",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-ssl.git"
}
],
"manifest_display_name" : "RediStack",
"name" : "RediStack",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "RediStack",
"targets" : [
"RediStack"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RediStackTestUtils",
"targets" : [
"RediStackTestUtils"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RedisTypes",
"targets" : [
"RedisTypes"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "RedisTypesTests",
"module_type" : "SwiftTarget",
"name" : "RedisTypesTests",
"path" : "Tests/RedisTypesTests",
"product_dependencies" : [
"NIO"
],
"sources" : [
"RedisSetTests.swift",
"RedisTypesIntegrationTestCase.swift"
],
"target_dependencies" : [
"RediStack",
"RedisTypes",
"RediStackTestUtils"
],
"type" : "test"
},
{
"c99name" : "RedisTypes",
"module_type" : "SwiftTarget",
"name" : "RedisTypes",
"path" : "Sources/RedisTypes",
"product_memberships" : [
"RedisTypes"
],
"sources" : [
"RedisSet.swift"
],
"target_dependencies" : [
"RediStack"
],
"type" : "library"
},
{
"c99name" : "RediStackTests",
"module_type" : "SwiftTarget",
"name" : "RediStackTests",
"path" : "Tests/RediStackTests",
"product_dependencies" : [
"Atomics",
"NIO",
"NIOTestUtils"
],
"sources" : [
"ChannelHandlers/RedisByteDecoderTests.swift",
"ChannelHandlers/RedisCommandHandlerTests.swift",
"ChannelHandlers/RedisMessageEncoderTests.swift",
"Cluster/RedisClusterNodeDescriptionProtocolTests.swift",
"ConfigurationTests.swift",
"ConnectionPoolTests.swift",
"Helpers/MockNodeDescription.swift",
"Helpers/RedisErrorTests.swift",
"RESPTranslatorTests.swift",
"RESPValueTests.swift",
"RedisCommandEncoderTests.swift",
"RedisConnection+ConfigurationTests.swift",
"RedisConnectionTests.swift",
"RedisHashSlotTests.swift",
"RedisKeyLifetime.swift"
],
"target_dependencies" : [
"RediStack",
"RediStackTestUtils"
],
"type" : "test"
},
{
"c99name" : "RediStackTestUtils",
"module_type" : "SwiftTarget",
"name" : "RediStackTestUtils",
"path" : "Sources/RediStackTestUtils",
"product_dependencies" : [
"NIOCore",
"NIOEmbedded"
],
"product_memberships" : [
"RediStackTestUtils"
],
"sources" : [
"EmbeddedMockRedisServer.swift",
"Extensions/General.swift",
"Extensions/RediStack.swift",
"RedisConnectionPoolIntegrationTestCase.swift",
"RedisIntegrationTestCase.swift",
"_Deprecations.swift"
],
"target_dependencies" : [
"RediStack"
],
"type" : "library"
},
{
"c99name" : "RediStackIntegrationTests",
"module_type" : "SwiftTarget",
"name" : "RediStackIntegrationTests",
"path" : "Tests/RediStackIntegrationTests",
"product_dependencies" : [
"NIO"
],
"sources" : [
"Commands/BasicCommandsTests.swift",
"Commands/HashCommandsTests.swift",
"Commands/ListCommandsTests.swift",
"Commands/PubSubCommandsTests.swift",
"Commands/SetCommandsTests.swift",
"Commands/SortedSetCommandsTests.swift",
"Commands/StringCommandsTests.swift",
"RediStackIntegrationTestCase.swift",
"RedisConnectionPoolTests.swift",
"RedisConnectionTests.swift",
"RedisLoggingTests.swift"
],
"target_dependencies" : [
"RediStack",
"RediStackTestUtils"
],
"type" : "test"
},
{
"c99name" : "RediStack",
"module_type" : "SwiftTarget",
"name" : "RediStack",
"path" : "Sources/RediStack",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIO",
"NIOConcurrencyHelpers",
"NIOSSL",
"Atomics",
"Logging",
"Metrics"
],
"product_memberships" : [
"RediStack",
"RediStackTestUtils",
"RedisTypes"
],
"sources" : [
"ChannelHandlers/RedisByteDecoder.swift",
"ChannelHandlers/RedisCommandHandler.swift",
"ChannelHandlers/RedisMessageEncoder.swift",
"ChannelHandlers/RedisPubSubHandler.swift",
"Cluster/RedisClusterNodeDescriptionProtocol.swift",
"Cluster/RedisClusterNodeID.swift",
"Cluster/RedisClusterShardDescriptionProtocol.swift",
"Cluster/RedisHashSlot.swift",
"Cluster/SwiftPolyfill.swift",
"Commands/BasicCommands.swift",
"Commands/HashCommands.swift",
"Commands/ListCommands.swift",
"Commands/PubSubCommands.swift",
"Commands/SetCommands.swift",
"Commands/SortedSetCommands.swift",
"Commands/StringCommands.swift",
"ConnectionPool/ConnectionPool.swift",
"ConnectionPool/RedisConnectionPool+Configuration.swift",
"ConnectionPool/RedisConnectionPool.swift",
"ConnectionPool/RedisConnectionPoolError.swift",
"Extensions/StandardLibrary.swift",
"Extensions/SwiftNIO.swift",
"RESP/RESPTranslator.swift",
"RESP/RESPValue.swift",
"RESP/RESPValueConvertible.swift",
"RedisChannelName.swift",
"RedisClient.swift",
"RedisCommandEncoder-multi-encode.swift",
"RedisCommandEncoder.swift",
"RedisConnection+Configuration.swift",
"RedisConnection.swift",
"RedisError.swift",
"RedisKey+TTL.swift",
"RedisKey.swift",
"RedisLogging.swift",
"RedisMetrics.swift",
"_Deprecations.swift"
],
"type" : "library"
},
{
"c99name" : "RESP3Tests",
"module_type" : "SwiftTarget",
"name" : "RESP3Tests",
"path" : "Tests/RESP3Tests",
"product_dependencies" : [
"NIOCore",
"NIOEmbedded",
"NIOTestUtils"
],
"sources" : [
"RESP3TokenTests.swift"
],
"target_dependencies" : [
"RESP3"
],
"type" : "test"
},
{
"c99name" : "RESP3",
"module_type" : "SwiftTarget",
"name" : "RESP3",
"path" : "Sources/RESP3",
"product_dependencies" : [
"NIOCore"
],
"sources" : [
"RESP3Error.swift",
"RESP3Token.swift",
"RESP3TokenDecoder.swift",
"RESP3TypeIdentifier.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Done.