Build Information
Successful build of SwiftCurve448, reference 0.3.1 (5a52ea), with Swift 6.4 for Android on 26 Sep 2026 03:36:39 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-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/Kingpin-Apps/swift-curve448.git
Reference: 0.3.1
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/Kingpin-Apps/swift-curve448
* tag 0.3.1 -> FETCH_HEAD
HEAD is now at 5a52eaa bump: version 0.3.0 → 0.3.1
Cloned https://github.com/Kingpin-Apps/swift-curve448.git
Revision (git rev-parse @):
5a52eaa8810acf8e3181c2af0ba29fd1112a43f5
SUCCESS checkout https://github.com/Kingpin-Apps/swift-curve448.git at 0.3.1
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/Kingpin-Apps/swift-curve448.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-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/Kingpin-Apps/swift-goldilocks.git
Fetching https://github.com/apple/swift-crypto.git
[1/88] Fetching swift-goldilocks
[89/18650] Fetching swift-goldilocks, swift-crypto
Fetched https://github.com/Kingpin-Apps/swift-goldilocks.git (1.64s)
Fetched https://github.com/apple/swift-crypto.git (1.66s)
Computing version for https://github.com/Kingpin-Apps/swift-goldilocks.git
Computed https://github.com/Kingpin-Apps/swift-goldilocks.git at 0.1.1 (1.93s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (1.83s)
Fetching https://github.com/apple/swift-asn1.git
[1/1986] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.75s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (1.12s)
Creating working copy for https://github.com/Kingpin-Apps/swift-goldilocks.git
Working copy of https://github.com/Kingpin-Apps/swift-goldilocks.git resolved at 0.1.1
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.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 334]
[Planning deferred tasks]
[Constructing 842 / 1031]
[58 / 463] CryptoBoringWrapper
[65 / 471] CGoldilocks
[70 / 471] CGoldilocks
[75 / 471] CryptoBoringWrapper
[75 / 471] CXKCP
[77 / 471] CGoldilocks
[84 / 471] CXKCP
[85 / 472]
[87 / 481] CCryptoBoringSSLShims
[93 / 481] CCryptoBoringSSL
[95 / 481] CCryptoBoringSSL
[96 / 481] CCryptoBoringSSL
[97 / 481] CCryptoBoringSSL
[98 / 481] CCryptoBoringSSL
[99 / 481] CCryptoBoringSSL
[100 / 481] CCryptoBoringSSL
[101 / 481] CCryptoBoringSSL
[102 / 481] CCryptoBoringSSL
[103 / 481] CCryptoBoringSSL
[106 / 481] CCryptoBoringSSL
[109 / 481] CCryptoBoringSSL
[112 / 481] CCryptoBoringSSL
[116 / 481] CCryptoBoringSSL
[117 / 482] CCryptoBoringSSL
[119 / 482] CCryptoBoringSSL
[120 / 482] CCryptoBoringSSL
[121 / 482] CCryptoBoringSSL
[123 / 482] CCryptoBoringSSL
[124 / 482] CCryptoBoringSSL
[125 / 482] CCryptoBoringSSL
[126 / 482] CCryptoBoringSSL
[128 / 482] CCryptoBoringSSL
[131 / 482] CCryptoBoringSSL
[132 / 482] CCryptoBoringSSL
[134 / 482] CCryptoBoringSSL
[136 / 482] CCryptoBoringSSL
[137 / 482] CCryptoBoringSSL
[139 / 482] CCryptoBoringSSL
[143 / 482] CCryptoBoringSSL
[145 / 482] CCryptoBoringSSL
[146 / 482] CCryptoBoringSSL
[148 / 482] CCryptoBoringSSL
[150 / 482] CCryptoBoringSSL
[152 / 482] CCryptoBoringSSL
[153 / 482] CCryptoBoringSSL
[154 / 482] CCryptoBoringSSL
[155 / 482] CCryptoBoringSSL
[157 / 482] CCryptoBoringSSL
[159 / 482] CCryptoBoringSSL
[161 / 482] CCryptoBoringSSL
[162 / 482] CCryptoBoringSSL
[163 / 482] CCryptoBoringSSL
[164 / 482] CCryptoBoringSSL
[166 / 482] CCryptoBoringSSL
[168 / 482] CCryptoBoringSSL
[169 / 482] CCryptoBoringSSL
[171 / 482] CCryptoBoringSSL
[174 / 482] CCryptoBoringSSL
[175 / 482] CCryptoBoringSSL
[176 / 482] CCryptoBoringSSL
[178 / 482] CCryptoBoringSSL
[181 / 482] CCryptoBoringSSL
[184 / 482] CCryptoBoringSSL
[187 / 482] CCryptoBoringSSL
[190 / 482] CCryptoBoringSSL
[191 / 482] CCryptoBoringSSL
[195 / 482] CCryptoBoringSSL
[199 / 482] CCryptoBoringSSL
[205 / 482] CCryptoBoringSSL
[211 / 482] CCryptoBoringSSL
[216 / 482] CCryptoBoringSSL
[221 / 482] CCryptoBoringSSL
[223 / 482] CCryptoBoringSSL
[225 / 482] CCryptoBoringSSL
[228 / 482] CCryptoBoringSSL
[229 / 482] CCryptoBoringSSL
[231 / 482] CCryptoBoringSSL
[232 / 482] CCryptoBoringSSL
[234 / 482] CCryptoBoringSSL
[236 / 482] CCryptoBoringSSL
[239 / 482] CCryptoBoringSSL
[240 / 482] CCryptoBoringSSL
[241 / 482] CCryptoBoringSSL
[243 / 482] CCryptoBoringSSL
[245 / 482] CCryptoBoringSSL
[247 / 482] CCryptoBoringSSL
[248 / 482] CCryptoBoringSSL
[250 / 482] CCryptoBoringSSL
[251 / 482] CCryptoBoringSSL
[253 / 482] CCryptoBoringSSL
[254 / 482] CCryptoBoringSSL
[255 / 482] CCryptoBoringSSL
[258 / 482] CCryptoBoringSSL
[261 / 482] CCryptoBoringSSL
[262 / 482] CCryptoBoringSSL
[263 / 482] CCryptoBoringSSL
[264 / 482] CCryptoBoringSSL
[265 / 482] CCryptoBoringSSL
[266 / 482] CCryptoBoringSSL
[267 / 482] CCryptoBoringSSL
[268 / 482] CCryptoBoringSSL
[270 / 482] CCryptoBoringSSL
[274 / 482] CCryptoBoringSSL
[278 / 482] CCryptoBoringSSL
[280 / 482] CCryptoBoringSSL
[284 / 482] CCryptoBoringSSL
[286 / 482] CCryptoBoringSSL
[287 / 482] CCryptoBoringSSL
[288 / 482] CCryptoBoringSSL
[293 / 482] CCryptoBoringSSL
[295 / 482] CCryptoBoringSSL
[296 / 482] CCryptoBoringSSL
[298 / 482] CCryptoBoringSSL
[302 / 482] CCryptoBoringSSL
[305 / 482] CCryptoBoringSSL
[308 / 482] CCryptoBoringSSL
[312 / 482] CCryptoBoringSSL
[319 / 482] CCryptoBoringSSL
[321 / 482] CCryptoBoringSSL
[324 / 482] CCryptoBoringSSL
[325 / 482] CCryptoBoringSSL
[333 / 482] CCryptoBoringSSL
[334 / 482] CCryptoBoringSSL
[335 / 482] CCryptoBoringSSL
[337 / 482] CCryptoBoringSSL
[338 / 482] CCryptoBoringSSL
[341 / 482] CCryptoBoringSSL
[347 / 482] CCryptoBoringSSL
[349 / 482] CCryptoBoringSSL
[353 / 482] CCryptoBoringSSL
[354 / 482] CCryptoBoringSSL
[355 / 482] CCryptoBoringSSL
[358 / 482] CCryptoBoringSSL
[360 / 482] CCryptoBoringSSL
[361 / 482] CCryptoBoringSSL
[362 / 482] CCryptoBoringSSL
[363 / 482] CCryptoBoringSSL
[365 / 482] CCryptoBoringSSL
[367 / 482] CCryptoBoringSSL
[369 / 482] CCryptoBoringSSL
[370 / 482] CCryptoBoringSSL
[371 / 482] CCryptoBoringSSL
[374 / 482] CCryptoBoringSSL
[375 / 482] CCryptoBoringSSL
[377 / 482] CCryptoBoringSSL
[380 / 482] CCryptoBoringSSL
[384 / 482] CCryptoBoringSSL
[390 / 482] CCryptoBoringSSL
[395 / 482] CCryptoBoringSSL
[396 / 482] CCryptoBoringSSL
[397 / 482] CCryptoBoringSSL
[401 / 482] CCryptoBoringSSL
[403 / 482] CCryptoBoringSSL
[406 / 482] CCryptoBoringSSL
[409 / 482] CCryptoBoringSSL
[410 / 482] CCryptoBoringSSL
[411 / 482] CCryptoBoringSSL
[413 / 482] CCryptoBoringSSL
[414 / 482] CCryptoBoringSSL
[415 / 482] CCryptoBoringSSL
[418 / 482] CCryptoBoringSSL
[423 / 482] CCryptoBoringSSL
[428 / 482] CCryptoBoringSSL
[432 / 482] CCryptoBoringSSL
[436 / 482] CCryptoBoringSSL
[440 / 482] CCryptoBoringSSL
[443 / 482] CCryptoBoringSSL
[444 / 482] CCryptoBoringSSL
[445 / 482] CCryptoBoringSSL
[446 / 482] CCryptoBoringSSL
[448 / 482] CCryptoBoringSSL
[450 / 482] CCryptoBoringSSL
[451 / 482] CCryptoBoringSSL
[454 / 482] CCryptoBoringSSL
[455 / 482] CCryptoBoringSSL
[457 / 482] CCryptoBoringSSL
[458 / 482] CCryptoBoringSSL
[462 / 482] CryptoBoringWrapper
[463 / 482] CCryptoBoringSSL
[466 / 482] Crypto
[467 / 482] Crypto
[468 / 482] Crypto
[469 / 483]
[473 / 492] SwiftCurve448
[474 / 492] SwiftCurve448
[477 / 492] SwiftCurve448
[482 / 492] SwiftCurve448
[483 / 492] SwiftCurve448-product
[484 / 492]
[484 / 492] SwiftCurve448
[486 / 493] Crypto
[488 / 494] CCryptoBoringSSL
[492 / 494] Crypto
Build complete! (70.53 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "4.5.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-crypto.git"
},
{
"identity" : "swift-goldilocks",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Kingpin-Apps/swift-goldilocks.git"
}
],
"manifest_display_name" : "SwiftCurve448",
"name" : "SwiftCurve448",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "14.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SwiftCurve448",
"targets" : [
"SwiftCurve448"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftCurve448Tests",
"module_type" : "SwiftTarget",
"name" : "SwiftCurve448Tests",
"path" : "Tests/SwiftCurve448Tests",
"resources" : [
{
"path" : "/host/spi-builder-workspace/Tests/SwiftCurve448Tests/Resources/TestVectors/ed448-signatures-KAT.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Keys/Ed448KeysTests.swift",
"Keys/X448KeysTests.swift",
"Signatures/Ed448Tests.swift",
"Signatures/RFC8032KATTests.swift",
"Utils.swift"
],
"target_dependencies" : [
"SwiftCurve448"
],
"type" : "test"
},
{
"c99name" : "SwiftCurve448",
"module_type" : "SwiftTarget",
"name" : "SwiftCurve448",
"path" : "Sources/SwiftCurve448",
"product_dependencies" : [
"CGoldilocks",
"Crypto"
],
"product_memberships" : [
"SwiftCurve448"
],
"sources" : [
"Errors.swift",
"Key Agreement/DH.swift",
"Keys/Curve448.swift",
"Keys/Ed448Keys.swift",
"Keys/Goldilocks/Ed448_impl.swift",
"Keys/Goldilocks/X448_impl.swift",
"Keys/NISTCurvesKeys.swift",
"Keys/X448Keys.swift",
"Signatures/Ed448.swift",
"Signatures/Goldilocks/EdDSA_impl.swift",
"Signatures/Signature.swift",
"Utils/PrettyBytes.swift",
"Utils/RNG_boring.swift",
"Utils/SafeCompare_boring.swift",
"Utils/SecureBytes.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
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.