Build Information
Successful build of PerfectRedis, reference 4.0.0 (5d861e), with Swift 6.4 for Android on 15 Oct 2026 23:20:04 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-redis.git
Reference: 4.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/perfectlysoft/perfect-redis
* tag 4.0.0 -> FETCH_HEAD
HEAD is now at 5d861e8 Merge pull request #23 from PerfectlySoft/release-prep
Cloned https://github.com/perfectlysoft/perfect-redis.git
Revision (git rev-parse @):
5d861e8c946440ead73b0e5b84577caa69489a2d
SUCCESS checkout https://github.com/perfectlysoft/perfect-redis.git at 4.0.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/perfectlysoft/perfect-redis.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:d9a84d7647394b4473e054b8d8a8f0e0b43300080afc6972ec459a3a608366e4
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/swift-server/RediStack.git
[1/8305] Fetching swift-log
[8306/13119] Fetching swift-log, redistack
Fetched https://github.com/apple/swift-log.git (0.91s)
[1/86488] Fetching swift-nio
Fetched https://github.com/swift-server/RediStack.git (3.24s)
Fetched https://github.com/apple/swift-nio.git (3.27s)
Computing version for https://github.com/swift-server/RediStack.git
Computed https://github.com/swift-server/RediStack.git at 1.6.3 (3.43s)
Fetching https://github.com/apple/swift-metrics.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-nio-ssl.git
[1/3563] Fetching swift-metrics
[429/5452] Fetching swift-metrics, swift-atomics
Fetched https://github.com/apple/swift-atomics.git (0.49s)
[1/16889] Fetching swift-nio-ssl
Fetched https://github.com/apple/swift-metrics.git (2.26s)
Fetched https://github.com/apple/swift-nio-ssl.git (2.27s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (2.44s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.16.1 (0.16s)
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.19s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.104.0 (0.26s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-system.git
[1/7288] Fetching swift-system
[1095/36147] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git (0.70s)
[6061/28859] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git (1.36s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (1.54s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.3 (0.23s)
Computing version for https://github.com/apple/swift-metrics.git
Computed https://github.com/apple/swift-metrics.git at 2.12.0 (0.14s)
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-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-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-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-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-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.3
Creating working copy for https://github.com/swift-server/RediStack.git
Working copy of https://github.com/swift-server/RediStack.git resolved at 1.6.3
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 900]
[Planning deferred tasks]
[Starting]
[125 / 709] CNIOWASI
[179 / 751] InternalCollectionsUtilities
[180 / 751] _NIOBase64
[191 / 751] NIOConcurrencyHelpers
[194 / 751] _NIODataStructures
[201 / 751] NIOConcurrencyHelpers
[214 / 751] _NIODataStructures
[215 / 751] NIOConcurrencyHelpers-product
[221 / 752] Logging
[223 / 753] Logging
[227 / 753] Logging-product
[230 / 753] InternalCollectionsUtilities
[232 / 754] SpanPreview
[238 / 754] InternalCollectionsUtilities
[240 / 754] CoreMetrics
[241 / 754] Metrics
[246 / 754] _NIOBase64
[264 / 763] SpanPreview
[267 / 773] SpanPreview
[269 / 773] SpanPreview
[275 / 774] CNIOBoringSSL
[276 / 774] CNIOBoringSSL
[277 / 774] CNIOBoringSSL
[280 / 775] Metrics
[287 / 775] CNIOBoringSSL
[288 / 775] CNIOBoringSSL
[292 / 775] CNIOBoringSSL
[298 / 776] Atomics
[306 / 776] CNIOBoringSSL
[307 / 776] CNIOBoringSSL
[308 / 776] CNIOBoringSSL
[310 / 776] CNIOBoringSSL
[313 / 776] CNIOBoringSSL
[317 / 776] CNIOBoringSSL
[318 / 776] CNIOBoringSSL
[319 / 776] CNIOBoringSSL
[321 / 776] CNIOBoringSSL
[328 / 776] CNIOBoringSSL
[335 / 776] CNIOBoringSSL
[336 / 776] CNIOBoringSSL
[338 / 776] CNIOBoringSSL
[339 / 776] CNIOBoringSSL
[342 / 776] CNIOBoringSSL
[346 / 776] CNIOBoringSSL
[347 / 776] CNIOBoringSSL
[349 / 776] CNIOBoringSSL
[352 / 776] CNIOBoringSSL
[353 / 776] CNIOBoringSSL
[356 / 776] CNIOBoringSSL
[357 / 776] CNIOBoringSSL
[359 / 776] CNIOBoringSSL
[362 / 776] CNIOBoringSSL
[363 / 776] CNIOBoringSSL
[364 / 776] CNIOBoringSSL
[367 / 776] CNIOBoringSSL
[370 / 776] CNIOBoringSSL
[372 / 776] CNIOBoringSSL
[374 / 776] CNIOBoringSSL
[375 / 776] CNIOBoringSSL
[377 / 776] CNIOBoringSSL
[378 / 776] CNIOBoringSSL
[382 / 776] CNIOBoringSSL
[383 / 776] CNIOBoringSSL
[384 / 776] CNIOBoringSSL
[385 / 776] CNIOBoringSSL
[389 / 776] CNIOBoringSSL
[390 / 776] CNIOBoringSSL
[393 / 776] CNIOBoringSSL
[395 / 776] CNIOBoringSSL
[399 / 776] CNIOBoringSSL
[402 / 776] CNIOBoringSSL
[407 / 776] CNIOBoringSSL
[415 / 776] CNIOBoringSSL
[426 / 776] CNIOBoringSSL
[436 / 776] CNIOBoringSSL
[437 / 776] CNIOBoringSSL
[438 / 776] CNIOBoringSSL
[440 / 776] CNIOBoringSSL
[444 / 776] CNIOBoringSSL
[448 / 776] CNIOBoringSSL
[453 / 776] CNIOBoringSSL
[454 / 776] CNIOBoringSSL
[455 / 776] CNIOBoringSSL
[459 / 776] CNIOBoringSSL
[462 / 776] CNIOBoringSSL
[463 / 776] CNIOBoringSSL
[465 / 776] CNIOBoringSSL
[467 / 776] CNIOBoringSSL
[468 / 776] CNIOBoringSSL
[470 / 776] CNIOBoringSSL
[474 / 776] CNIOBoringSSL
[475 / 776] CNIOBoringSSL
[479 / 776] CNIOBoringSSL
[482 / 776] CNIOBoringSSL
[483 / 776] CNIOBoringSSL
[484 / 776] CNIOBoringSSL
[491 / 776] CNIOBoringSSL
[498 / 776] CNIOBoringSSL
[501 / 776] CNIOBoringSSL
[503 / 776] CNIOBoringSSL
[507 / 776] CNIOBoringSSL
[509 / 776] CNIOBoringSSL
[512 / 776] CNIOBoringSSL
[513 / 776] CNIOBoringSSL
[516 / 776] CNIOBoringSSL
[520 / 776] CNIOBoringSSL
[526 / 776] CNIOBoringSSL
[532 / 776] CNIOBoringSSL
[538 / 776] CNIOBoringSSL
[539 / 776] CNIOBoringSSL
[543 / 776] CNIOBoringSSL
[547 / 776] CNIOBoringSSL
[549 / 776] CNIOBoringSSL
[552 / 776] CNIOBoringSSL
[554 / 776] CNIOBoringSSL
[555 / 776] CNIOBoringSSL
[558 / 776] CNIOBoringSSL
[560 / 776] CNIOBoringSSL
[561 / 776] CNIOBoringSSL
[562 / 776] CNIOBoringSSL
[565 / 776] CNIOBoringSSL
[566 / 776] CNIOBoringSSL
[567 / 776] CNIOBoringSSL
[569 / 776] CNIOBoringSSL
[573 / 776] CNIOBoringSSL
[575 / 776] CNIOBoringSSL
[576 / 776] CNIOBoringSSL
[577 / 776] CNIOBoringSSL
[578 / 776] CNIOBoringSSL
[581 / 776] CNIOBoringSSL
[585 / 776] CNIOBoringSSL
[589 / 776] CNIOBoringSSL
[592 / 776] CNIOBoringSSL
[598 / 776] CNIOBoringSSL
[601 / 776] CNIOBoringSSL
[605 / 776] CNIOBoringSSL
[612 / 776] CNIOBoringSSL
[618 / 776] CNIOBoringSSL
[621 / 776] CNIOBoringSSL
[626 / 776] CNIOBoringSSL
[628 / 776] CNIOBoringSSL
[631 / 776] CNIOBoringSSL
[633 / 776] CNIOBoringSSL
[639 / 776] CNIOBoringSSL
[643 / 776] CNIOBoringSSL
[646 / 776] CNIOBoringSSL
[650 / 776] CNIOBoringSSL
[657 / 776] CNIOBoringSSL
[668 / 776] CNIOBoringSSL
[670 / 776] CNIOBoringSSL
[673 / 776] CNIOBoringSSL
[676 / 776] CNIOBoringSSL
[678 / 776] CNIOBoringSSL
[679 / 776] CNIOBoringSSL
[683 / 776] CNIOBoringSSL
[690 / 777] CNIOWASI
[701 / 777] Logging
[704 / 777] Atomics
[706 / 777]
[715 / 787] DequeModule
[716 / 787] DequeModule
[718 / 787] CNIOAtomics
[720 / 787]
[721 / 787] DequeModule
[721 / 787] Atomics
[724 / 788] DequeModule
[724 / 789] DequeModule
[742 / 799] NIOCore
[760 / 815] NIOPosix
[761 / 815] NIOPosix
[764 / 815] NIOEmbedded
[769 / 815] NIOPosix
[771 / 816] NIOEmbedded
[773 / 816] NIOCore-product
[773 / 816] NIOPosix
[782 / 819] NIO
[793 / 827] NIO
[801 / 828] NIOTLS
[807 / 837] NIOTLS
[809 / 838] NIOTLS
[816 / 838] NIOSSL-product
[817 / 838] NIOSSL-product
[820 / 848] RediStack
[824 / 849] RediStack
[825 / 849] RediStack
[826 / 849] RediStack
[827 / 850] RediStack
[828 / 850] NIOSSL
[832 / 850] RediStack
[843 / 857] PerfectRedis
[844 / 857]
[847 / 857] PerfectRedis
[848 / 858] RediStack
[855 / 858] PerfectRedis
Build complete! (46.80 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "redistack",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swift-server/RediStack.git"
},
{
"identity" : "swift-nio",
"requirement" : {
"range" : [
{
"lower_bound" : "2.65.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "PerfectRedis",
"name" : "PerfectRedis",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "17.0"
}
],
"products" : [
{
"name" : "PerfectRedis",
"targets" : [
"PerfectRedis"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "PerfectRedisTests",
"module_type" : "SwiftTarget",
"name" : "PerfectRedisTests",
"path" : "Tests/PerfectRedisTests",
"product_dependencies" : [
"NIOCore",
"NIOPosix",
"NIOEmbedded",
"NIOConcurrencyHelpers",
"Logging"
],
"sources" : [
"ArgumentTests.swift",
"ConnectionTests.swift",
"FakeRedisServer.swift",
"HashTests.swift",
"LoggingTests.swift",
"PerfectRedisTests.swift",
"ProtocolTests.swift",
"PubSubTests.swift",
"RedisTestEnvironment.swift",
"ReplyGuardTests.swift",
"ReplyTests.swift",
"TransactionTests.swift",
"WaitTests.swift"
],
"target_dependencies" : [
"PerfectRedis"
],
"type" : "test"
},
{
"c99name" : "PerfectRedis",
"module_type" : "SwiftTarget",
"name" : "PerfectRedis",
"path" : "Sources/PerfectRedis",
"product_dependencies" : [
"RediStack",
"NIOCore",
"NIOPosix",
"NIOConcurrencyHelpers",
"Logging"
],
"product_memberships" : [
"PerfectRedis"
],
"sources" : [
"PerfectRedis.swift",
"RESPReplyGuard.swift",
"RedisHash.swift",
"RedisList.swift",
"RedisSet.swift"
],
"type" : "library"
}
],
"tools_version" : "6.2"
}
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:d9a84d7647394b4473e054b8d8a8f0e0b43300080afc6972ec459a3a608366e4
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Done.