Build Information
Successful build of Compute, reference 3.1.0 (5d48d2), with Swift 6.4 for Android on 20 Sep 2026 11:23:27 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-2":/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.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swift-cloud/Compute.git
Reference: 3.1.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/swift-cloud/Compute
* tag 3.1.0 -> FETCH_HEAD
HEAD is now at 5d48d24 feat: ja4 digests (#25)
Cloned https://github.com/swift-cloud/Compute.git
Revision (git rev-parse @):
5d48d24c9515f3a0e760fe2837d174fa2a8ffcda
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swift-cloud/Compute.git at 3.1.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/swift-cloud/Compute.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-2":/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:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/apple/swift-crypto
[1/18549] Fetching swift-crypto
Fetched https://github.com/apple/swift-crypto (1.16s)
Computing version for https://github.com/apple/swift-crypto
Computed https://github.com/apple/swift-crypto at 3.15.1 (2.30s)
Fetching https://github.com/apple/swift-asn1.git
[1/1983] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.43s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (1.64s)
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/apple/swift-crypto
Working copy of https://github.com/apple/swift-crypto resolved at 3.15.1
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 244]
[Planning deferred tasks]
[Starting]
[24 / 438] ComputeDemo-product
[50 / 440] CryptoBoringWrapper
[52 / 447] ComputeRuntime
[54 / 447] CCryptoBoringSSL
[55 / 447] CCryptoBoringSSL
[56 / 447] CCryptoBoringSSL
[58 / 447] CCryptoBoringSSL
[59 / 447] CCryptoBoringSSL
[61 / 447] CCryptoBoringSSL
[62 / 447] CCryptoBoringSSL
[63 / 447] CCryptoBoringSSL
[64 / 447] CCryptoBoringSSL
[65 / 447] CCryptoBoringSSL
[69 / 447] CCryptoBoringSSL
[70 / 447] CCryptoBoringSSL
[71 / 447] CCryptoBoringSSL
[72 / 447] CCryptoBoringSSL
[74 / 447] CCryptoBoringSSL
[76 / 447] CCryptoBoringSSL
[78 / 447] CCryptoBoringSSL
[80 / 447] CCryptoBoringSSL
[81 / 447] CryptoBoringWrapper
[83 / 447] CryptoBoringWrapper
[85 / 447] CryptoBoringWrapper
[90 / 447] CCryptoBoringSSL
[91 / 447] CCryptoBoringSSL
[92 / 447] CCryptoBoringSSL
[94 / 447] CCryptoBoringSSL
[96 / 447] CCryptoBoringSSL
[100 / 447] CCryptoBoringSSL
[104 / 447] CCryptoBoringSSL
[105 / 447] CCryptoBoringSSL
[107 / 447] CCryptoBoringSSL
[108 / 447] CCryptoBoringSSL
[112 / 447] CCryptoBoringSSL
[115 / 447] CCryptoBoringSSL
[116 / 447] CCryptoBoringSSL
[117 / 447] CCryptoBoringSSL
[118 / 447] CCryptoBoringSSL
[122 / 447] CCryptoBoringSSL
[123 / 447] CCryptoBoringSSL
[124 / 447] CCryptoBoringSSL
[126 / 447] CCryptoBoringSSL
[128 / 447] CCryptoBoringSSL
[130 / 447] CCryptoBoringSSL
[132 / 447] CCryptoBoringSSL
[133 / 447] CCryptoBoringSSL
[135 / 447] CCryptoBoringSSL
[137 / 447] CCryptoBoringSSL
[139 / 447] CCryptoBoringSSL
[140 / 447] CCryptoBoringSSL
[143 / 447] CCryptoBoringSSL
[145 / 447] CCryptoBoringSSL
[147 / 447] CCryptoBoringSSL
[150 / 447] CCryptoBoringSSL
[155 / 447] CCryptoBoringSSL
[158 / 447] CCryptoBoringSSL
[161 / 447] CCryptoBoringSSL
[164 / 447] CCryptoBoringSSL
[170 / 447] CCryptoBoringSSL
[174 / 447] CCryptoBoringSSL
[177 / 447] CCryptoBoringSSL
[181 / 447] CCryptoBoringSSL
[182 / 447] CCryptoBoringSSL
[183 / 447] CCryptoBoringSSL
[186 / 447] CCryptoBoringSSL
[188 / 447] CCryptoBoringSSL
[191 / 447] CCryptoBoringSSL
[192 / 447] CCryptoBoringSSL
[194 / 447] CCryptoBoringSSL
[195 / 447] CCryptoBoringSSL
[199 / 447] CCryptoBoringSSL
[200 / 447] CCryptoBoringSSL
[203 / 447] CCryptoBoringSSL
[205 / 447] CCryptoBoringSSL
[206 / 447] CCryptoBoringSSL
[208 / 447] CCryptoBoringSSL
[209 / 447] CCryptoBoringSSL
[211 / 447] CCryptoBoringSSL
[214 / 447] CCryptoBoringSSL
[215 / 447] CCryptoBoringSSL
[217 / 447] CCryptoBoringSSL
[219 / 447] CCryptoBoringSSL
[220 / 447] CCryptoBoringSSL
[221 / 447] CCryptoBoringSSL
[223 / 447] CCryptoBoringSSL
[224 / 447] CCryptoBoringSSL
[226 / 447] CCryptoBoringSSL
[227 / 447] CCryptoBoringSSL
[230 / 447] CCryptoBoringSSL
[232 / 447] CCryptoBoringSSL
[235 / 447] CCryptoBoringSSL
[237 / 447] CCryptoBoringSSL
[238 / 447] CCryptoBoringSSL
[239 / 447] CCryptoBoringSSL
[242 / 447] CCryptoBoringSSL
[243 / 447] CCryptoBoringSSL
[245 / 447] CCryptoBoringSSL
[246 / 447] CCryptoBoringSSL
[247 / 447] CCryptoBoringSSL
[248 / 447] CCryptoBoringSSL
[250 / 447] CCryptoBoringSSL
[252 / 447] CCryptoBoringSSL
[254 / 447] CCryptoBoringSSL
[257 / 447] CCryptoBoringSSL
[258 / 447] CCryptoBoringSSL
[259 / 447] CCryptoBoringSSL
[261 / 447] CCryptoBoringSSL
[265 / 447] CCryptoBoringSSL
[268 / 447] CCryptoBoringSSL
[271 / 447] CCryptoBoringSSL
[274 / 447] CCryptoBoringSSL
[278 / 447] CCryptoBoringSSL
[279 / 447] CCryptoBoringSSL
[280 / 447] CCryptoBoringSSL
[283 / 447] CCryptoBoringSSL
[285 / 447] CCryptoBoringSSL
[288 / 447] CCryptoBoringSSL
[290 / 447] CCryptoBoringSSL
[291 / 447] CCryptoBoringSSL
[293 / 447] CCryptoBoringSSL
[294 / 447] CCryptoBoringSSL
[296 / 447] CCryptoBoringSSL
[298 / 447] CCryptoBoringSSL
[299 / 447] CCryptoBoringSSL
[302 / 447] CCryptoBoringSSL
[304 / 447] CCryptoBoringSSL
[308 / 447] CCryptoBoringSSL
[310 / 447] CCryptoBoringSSL
[313 / 447] CCryptoBoringSSL
[314 / 447] CCryptoBoringSSL
[315 / 447] CCryptoBoringSSL
[318 / 447] CCryptoBoringSSL
[320 / 447] CCryptoBoringSSL
[322 / 447] CCryptoBoringSSL
[323 / 447] CCryptoBoringSSL
[324 / 447] CCryptoBoringSSL
[325 / 447] CCryptoBoringSSL
[326 / 447] CCryptoBoringSSL
[328 / 447] CCryptoBoringSSL
[329 / 447] CCryptoBoringSSL
[331 / 447] CCryptoBoringSSL
[332 / 447] CCryptoBoringSSL
[334 / 447] CCryptoBoringSSL
[336 / 447] CCryptoBoringSSL
[338 / 447] CCryptoBoringSSL
[341 / 447] CCryptoBoringSSL
[343 / 447] CCryptoBoringSSL
[346 / 447] CCryptoBoringSSL
[348 / 447] CCryptoBoringSSL
[351 / 447] CCryptoBoringSSL
[354 / 447] CCryptoBoringSSL
[356 / 447] CCryptoBoringSSL
[357 / 447] CCryptoBoringSSL
[359 / 447] CCryptoBoringSSL
[362 / 447] CCryptoBoringSSL
[364 / 447] CCryptoBoringSSL
[365 / 447] CCryptoBoringSSL
[367 / 447] CCryptoBoringSSL
[368 / 447] CCryptoBoringSSL
[370 / 447] CCryptoBoringSSL
[373 / 447] CCryptoBoringSSL
[374 / 447] CCryptoBoringSSL
[377 / 447] CCryptoBoringSSL
[381 / 447] CCryptoBoringSSL
[383 / 447] CCryptoBoringSSL
[387 / 447] CCryptoBoringSSL
[391 / 447] CCryptoBoringSSL
[393 / 447] CCryptoBoringSSL
[398 / 447] CCryptoBoringSSL
[402 / 447] CCryptoBoringSSL
[403 / 447] CCryptoBoringSSL
[405 / 447] CCryptoBoringSSL
[407 / 447] CCryptoBoringSSL
[409 / 447] CCryptoBoringSSL
[411 / 447] CCryptoBoringSSL
[413 / 447] CCryptoBoringSSL
[415 / 447] CCryptoBoringSSL
[417 / 447] CCryptoBoringSSL
[418 / 447] CCryptoBoringSSL
[420 / 447] CryptoBoringWrapper
[422 / 447] CryptoBoringWrapper
[424 / 447] CryptoBoringWrapper
[424 / 447] Crypto
[425 / 449] Crypto
[429 / 457] Crypto
[430 / 457] Crypto
[440 / 458] Crypto-product
[444 / 468] Compute
[445 / 468] CCryptoBoringSSL
[446 / 468] Compute
[447 / 468] Compute
[448 / 468] Compute
/host/spi-builder-workspace/Sources/Compute/Concurrency.swift:8:28: [1;33mwarning: [1;39mconformance of 'Data' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m6 |[0;0m //
[0;36m7 |[0;0m
[0;36m8 |[0;0m extension Data: @unchecked Sendable {}
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'Data' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m9 |[0;0m
[0;36m10 |[0;0m extension URL: @unchecked Sendable {}
FoundationEssentials.Data:2:23: [1;39mnote: [1;39m'Data' declares conformance to protocol 'Sendable' here[0;0m
[0;36m1 |[0;0m @available(macOS 10.10, iOS 8.0, watchOS 2.0, tvOS 9.0, *)
[0;36m2 |[0;0m @frozen public struct Data : RandomAccessCollection, MutableCollection, RangeReplaceableCollection, Sendable, Hashable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'Data' declares conformance to protocol 'Sendable' here[0;0m
[0;36m3 |[0;0m public typealias Index = Int
[0;36m4 |[0;0m public typealias Indices = Range<Int>
/host/spi-builder-workspace/Sources/Compute/Concurrency.swift:10:27: [1;33mwarning: [1;39mconformance of 'URL' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m8 |[0;0m extension Data: @unchecked Sendable {}
[0;36m9 |[0;0m
[0;36m10 |[0;0m extension URL: @unchecked Sendable {}
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'URL' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m11 |[0;0m
[0;36m12 |[0;0m #if !arch(wasm32)
FoundationEssentials.URL:2:15: [1;39mnote: [1;39m'URL' declares conformance to protocol 'Sendable' here[0;0m
[0;36m1 |[0;0m @available(macOS 10.10, iOS 8.0, watchOS 2.0, tvOS 9.0, *)
[0;36m2 |[0;0m public struct URL : Equatable, Sendable, Hashable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'URL' declares conformance to protocol 'Sendable' here[0;0m
[0;36m3 |[0;0m public init?(string: __shared String)
[0;36m4 |[0;0m public init?(string: __shared String, relativeTo url: __shared URL?)
[452 / 468] Compute
[456 / 468] Compute
[457 / 468] ComputeDemo-product
[460 / 471]
[463 / 472] ComputeDemo-product
[469 / 473] Compute
/host/spi-builder-workspace/Sources/Compute/Concurrency.swift:8:28: [1;33mwarning: [1;39mconformance of 'Data' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m6 |[0;0m //
[0;36m7 |[0;0m
[0;36m8 |[0;0m extension Data: @unchecked Sendable {}
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'Data' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m9 |[0;0m
[0;36m10 |[0;0m extension URL: @unchecked Sendable {}
FoundationEssentials.Data:2:23: [1;39mnote: [1;39m'Data' declares conformance to protocol 'Sendable' here[0;0m
[0;36m1 |[0;0m @available(macOS 10.10, iOS 8.0, watchOS 2.0, tvOS 9.0, *)
[0;36m2 |[0;0m @frozen public struct Data : RandomAccessCollection, MutableCollection, RangeReplaceableCollection, Sendable, Hashable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'Data' declares conformance to protocol 'Sendable' here[0;0m
[0;36m3 |[0;0m public typealias Index = Int
[0;36m4 |[0;0m public typealias Indices = Range<Int>
/host/spi-builder-workspace/Sources/Compute/Concurrency.swift:10:27: [1;33mwarning: [1;39mconformance of 'URL' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m8 |[0;0m extension Data: @unchecked Sendable {}
[0;36m9 |[0;0m
[0;36m10 |[0;0m extension URL: @unchecked Sendable {}
[0;36m|[0;0m `- [1;33mwarning: [1;39mconformance of 'URL' to protocol 'Sendable' was already stated in the type's module 'FoundationEssentials'[0;0m
[0;36m11 |[0;0m
[0;36m12 |[0;0m #if !arch(wasm32)
FoundationEssentials.URL:2:15: [1;39mnote: [1;39m'URL' declares conformance to protocol 'Sendable' here[0;0m
[0;36m1 |[0;0m @available(macOS 10.10, iOS 8.0, watchOS 2.0, tvOS 9.0, *)
[0;36m2 |[0;0m public struct URL : Equatable, Sendable, Hashable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'URL' declares conformance to protocol 'Sendable' here[0;0m
[0;36m3 |[0;0m public init?(string: __shared String)
[0;36m4 |[0;0m public init?(string: __shared String, relativeTo url: __shared URL?)
[474 / 474] ComputeDemo-product
Build complete! (70.58 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-crypto"
}
],
"manifest_display_name" : "Compute",
"name" : "Compute",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "tvos",
"version" : "14.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "Compute",
"targets" : [
"Compute"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ComputeDemo",
"targets" : [
"ComputeDemo"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "ComputeTests",
"module_type" : "SwiftTarget",
"name" : "ComputeTests",
"path" : "Tests/ComputeTests",
"sources" : [
"FetchTests.swift",
"JWTTests.swift"
],
"target_dependencies" : [
"Compute"
],
"type" : "test"
},
{
"c99name" : "ComputeRuntime",
"module_type" : "ClangTarget",
"name" : "ComputeRuntime",
"path" : "Sources/ComputeRuntime",
"product_memberships" : [
"Compute",
"ComputeDemo"
],
"sources" : [
"ComputeRuntime.c"
],
"type" : "library"
},
{
"c99name" : "ComputeDemo",
"module_type" : "SwiftTarget",
"name" : "ComputeDemo",
"path" : "Sources/ComputeDemo",
"product_memberships" : [
"ComputeDemo"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"Compute"
],
"type" : "executable"
},
{
"c99name" : "Compute",
"module_type" : "SwiftTarget",
"name" : "Compute",
"path" : "Sources/Compute",
"product_dependencies" : [
"Crypto"
],
"product_memberships" : [
"Compute",
"ComputeDemo"
],
"sources" : [
"Cache.swift",
"Compute.swift",
"Concurrency.swift",
"ConfigStore.swift",
"Console.swift",
"Crypto.swift",
"Fanout/FanoutClient.swift",
"Fanout/FanoutMessage.swift",
"Fanout/IncomingRequest+Fanout.swift",
"Fanout/OutgoingResponse+Fanout.swift",
"Fastly/Fastly.swift",
"Fastly/FastlyABI.swift",
"Fastly/FastlyBody.swift",
"Fastly/FastlyCache.swift",
"Fastly/FastlyConfigStore.swift",
"Fastly/FastlyDevice.swift",
"Fastly/FastlyEnvironment.swift",
"Fastly/FastlyError.swift",
"Fastly/FastlyGeoLocation.swift",
"Fastly/FastlyKVStore.swift",
"Fastly/FastlyLogger.swift",
"Fastly/FastlyPendingRequest.swift",
"Fastly/FastlyRequest.swift",
"Fastly/FastlyResponse.swift",
"Fastly/FastlySecretStore.swift",
"Fastly/FastlyStubs.swift",
"Fastly/FastlyTypes.swift",
"Fastly/FastlyUtils.swift",
"Fetch/Fetch+URLSession.swift",
"Fetch/Fetch+Wasi.swift",
"Fetch/Fetch.swift",
"Fetch/FetchRequest.swift",
"Fetch/FetchResponse.swift",
"Headers.swift",
"IncomingRequest.swift",
"JWT/JWT.swift",
"JWT/JWTClaim.swift",
"JWT/JWTError.swift",
"KVStore.swift",
"OutgoingResponse.swift",
"Range.swift",
"ReadableBody/ReadableBody+Data.swift",
"ReadableBody/ReadableBody+Wasi.swift",
"ReadableBody/ReadableBody.swift",
"Router/Parameters.swift",
"Router/PathComponent.swift",
"Router/Routable.swift",
"Router/Router.swift",
"Router/TrieRouter.swift",
"SecretStore.swift",
"WritableBody.swift"
],
"target_dependencies" : [
"ComputeRuntime"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Done.