Build Information
Successful build of swift-app-attest, reference main (df27f3), with Swift 6.4 for Android on 27 Sep 2026 08:28:06 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/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/tixster/swift-app-attest.git
Reference: main
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/tixster/swift-app-attest
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at df27f32 both nonce signature forms
Cloned https://github.com/tixster/swift-app-attest.git
Revision (git rev-parse @):
df27f3239687904c925c33466e9af44775ba9e47
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/tixster/swift-app-attest.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/tixster/swift-app-attest.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/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/swiftlang/swift-docc-plugin.git
Fetching https://github.com/apple/swift-asn1.git
Fetching https://github.com/apple/swift-certificates.git
Fetching https://github.com/apple/swift-crypto.git
[1/2345] Fetching swift-docc-plugin
[236/4331] Fetching swift-docc-plugin, swift-asn1
[395/11909] Fetching swift-docc-plugin, swift-asn1, swift-certificates
[6530/30471] Fetching swift-docc-plugin, swift-asn1, swift-certificates, swift-crypto
Fetched https://github.com/swiftlang/swift-docc-plugin.git (0.52s)
[7065/28126] Fetching swift-asn1, swift-certificates, swift-crypto
Fetched https://github.com/apple/swift-asn1.git (0.59s)
Fetched https://github.com/apple/swift-certificates.git (0.60s)
[1114/18562] Fetching swift-crypto
Fetched https://github.com/apple/swift-crypto.git (1.27s)
Computing version for https://github.com/swiftlang/swift-docc-plugin.git
Computed https://github.com/swiftlang/swift-docc-plugin.git at 1.5.0 (2.34s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3831] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.56s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.78s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (1.09s)
Computing version for https://github.com/apple/swift-certificates.git
Computed https://github.com/apple/swift-certificates.git at 1.21.0 (0.24s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (0.29s)
Creating working copy for https://github.com/apple/swift-certificates.git
Working copy of https://github.com/apple/swift-certificates.git resolved at 1.21.0
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
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
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/swiftlang/swift-docc-plugin.git
Working copy of https://github.com/swiftlang/swift-docc-plugin.git resolved at 1.5.0
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 509]
[Planning deferred tasks]
[Starting]
[95 / 538] CXKCP
[101 / 557] CCryptoBoringSSLShims
[102 / 557] _CertificateInternals
[106 / 557] _CertificateInternals
[115 / 557] SwiftASN1
[122 / 558] _CertificateInternals
[122 / 558] SwiftASN1
[124 / 558] CryptoBoringWrapper
[128 / 558] SwiftASN1
[138 / 559] CCryptoBoringSSL
[139 / 568] Crypto
[140 / 568] CCryptoBoringSSL
[141 / 568] CCryptoBoringSSL
[143 / 568] CryptoBoringWrapper
[148 / 569] CCryptoBoringSSL
[149 / 570] CCryptoBoringSSL
[150 / 570] CCryptoBoringSSL
[152 / 570] CCryptoBoringSSL
[154 / 570] CCryptoBoringSSL
[158 / 570] CCryptoBoringSSL
[161 / 570] CCryptoBoringSSL
[168 / 570] CCryptoBoringSSL
[169 / 570] CCryptoBoringSSL
[173 / 570] CCryptoBoringSSL
[175 / 570] CCryptoBoringSSL
[176 / 570] CCryptoBoringSSL
[177 / 570] CCryptoBoringSSL
[178 / 570] CCryptoBoringSSL
[179 / 570] CCryptoBoringSSL
[181 / 570] CCryptoBoringSSL
[185 / 570] CCryptoBoringSSL
[188 / 570] CCryptoBoringSSL
[191 / 570] CCryptoBoringSSL
[194 / 570] CCryptoBoringSSL
[196 / 570] CCryptoBoringSSL
[197 / 570] CCryptoBoringSSL
[198 / 570] CCryptoBoringSSL
[200 / 570] CCryptoBoringSSL
[202 / 570] CCryptoBoringSSL
[204 / 570] CCryptoBoringSSL
[205 / 570] CCryptoBoringSSL
[206 / 570] CCryptoBoringSSL
[208 / 570] CCryptoBoringSSL
[209 / 570] CCryptoBoringSSL
[211 / 570] CCryptoBoringSSL
[214 / 570] CCryptoBoringSSL
[216 / 570] CCryptoBoringSSL
[217 / 570] CCryptoBoringSSL
[218 / 570] CCryptoBoringSSL
[220 / 570] CCryptoBoringSSL
[223 / 570] CCryptoBoringSSL
[224 / 570] CCryptoBoringSSL
[228 / 570] CCryptoBoringSSL
[230 / 570] CCryptoBoringSSL
[232 / 570] CCryptoBoringSSL
[233 / 570] CCryptoBoringSSL
[235 / 570] CCryptoBoringSSL
[236 / 570] CCryptoBoringSSL
[238 / 570] CCryptoBoringSSL
[241 / 570] CCryptoBoringSSL
[242 / 570] CCryptoBoringSSL
[243 / 570] CCryptoBoringSSL
[245 / 570] CCryptoBoringSSL
[249 / 570] CCryptoBoringSSL
[251 / 570] CCryptoBoringSSL
[253 / 570] CCryptoBoringSSL
[263 / 570] CCryptoBoringSSL
[269 / 570] CCryptoBoringSSL
[275 / 570] CCryptoBoringSSL
[278 / 570] CCryptoBoringSSL
[283 / 570] CCryptoBoringSSL
[284 / 570] CCryptoBoringSSL
[286 / 570] CCryptoBoringSSL
[290 / 570] CCryptoBoringSSL
[291 / 570] CCryptoBoringSSL
[293 / 570] CCryptoBoringSSL
[295 / 570] CCryptoBoringSSL
[296 / 570] CCryptoBoringSSL
[299 / 570] CCryptoBoringSSL
[301 / 570] CCryptoBoringSSL
[302 / 570] CCryptoBoringSSL
[303 / 570] CCryptoBoringSSL
[304 / 570] CCryptoBoringSSL
[306 / 570] CCryptoBoringSSL
[307 / 570] CCryptoBoringSSL
[310 / 570] CCryptoBoringSSL
[312 / 570] CCryptoBoringSSL
[313 / 570] CCryptoBoringSSL
[314 / 570] CCryptoBoringSSL
[316 / 570] CCryptoBoringSSL
[319 / 570] CCryptoBoringSSL
[322 / 570] CCryptoBoringSSL
[325 / 570] CCryptoBoringSSL
[330 / 570] CCryptoBoringSSL
[333 / 570] CCryptoBoringSSL
[335 / 570] CCryptoBoringSSL
[337 / 570] CCryptoBoringSSL
[339 / 570] CCryptoBoringSSL
[341 / 570] CCryptoBoringSSL
[344 / 570] CCryptoBoringSSL
[346 / 570] CCryptoBoringSSL
[348 / 570] CCryptoBoringSSL
[349 / 570] CCryptoBoringSSL
[351 / 570] CCryptoBoringSSL
[352 / 570] CCryptoBoringSSL
[356 / 570] CCryptoBoringSSL
[359 / 570] CCryptoBoringSSL
[364 / 570] CCryptoBoringSSL
[368 / 570] CCryptoBoringSSL
[370 / 570] CCryptoBoringSSL
[372 / 570] CCryptoBoringSSL
[375 / 570] CCryptoBoringSSL
[379 / 570] CCryptoBoringSSL
[381 / 570] CCryptoBoringSSL
[383 / 570] CCryptoBoringSSL
[384 / 570] CCryptoBoringSSL
[385 / 570] CCryptoBoringSSL
[389 / 570] CCryptoBoringSSL
[390 / 570] CCryptoBoringSSL
[392 / 570] CCryptoBoringSSL
[394 / 570] CCryptoBoringSSL
[395 / 570] CCryptoBoringSSL
[397 / 570] CCryptoBoringSSL
[398 / 570] CCryptoBoringSSL
[400 / 570] CCryptoBoringSSL
[402 / 570] CCryptoBoringSSL
[405 / 570] CCryptoBoringSSL
[407 / 570] CCryptoBoringSSL
[408 / 570] CCryptoBoringSSL
[409 / 570] CCryptoBoringSSL
[412 / 570] CCryptoBoringSSL
[413 / 570] CCryptoBoringSSL
[414 / 570] CCryptoBoringSSL
[416 / 570] CCryptoBoringSSL
[418 / 570] CCryptoBoringSSL
[420 / 570] CCryptoBoringSSL
[421 / 570] CCryptoBoringSSL
[423 / 570] CCryptoBoringSSL
[428 / 570] CCryptoBoringSSL
[429 / 570] CCryptoBoringSSL
[432 / 570] CCryptoBoringSSL
[436 / 570] CCryptoBoringSSL
[440 / 570] CCryptoBoringSSL
[444 / 570] CCryptoBoringSSL
[445 / 570] CCryptoBoringSSL
[447 / 570] CCryptoBoringSSL
[450 / 570] CCryptoBoringSSL
[451 / 570] CCryptoBoringSSL
[454 / 570] CCryptoBoringSSL
[455 / 570] CCryptoBoringSSL
[457 / 570] CCryptoBoringSSL
[459 / 570] CCryptoBoringSSL
[460 / 570] CCryptoBoringSSL
[463 / 570] CCryptoBoringSSL
[467 / 570] CCryptoBoringSSL
[468 / 570] CCryptoBoringSSL
[471 / 570] CCryptoBoringSSL
[476 / 570] CCryptoBoringSSL
[480 / 570] CCryptoBoringSSL
[486 / 570] CCryptoBoringSSL
[491 / 570] CCryptoBoringSSL
[493 / 570] CCryptoBoringSSL
[496 / 570] CCryptoBoringSSL
[497 / 570] CCryptoBoringSSL
[499 / 570] CCryptoBoringSSL
[502 / 570] CCryptoBoringSSL
[503 / 570] CCryptoBoringSSL
[505 / 570] CCryptoBoringSSL
[506 / 570] CCryptoBoringSSL
[510 / 570] Crypto
[513 / 570] SwiftASN1
[515 / 570] Crypto
[516 / 570] CCryptoBoringSSL
[518 / 570] Crypto
[519 / 570] Crypto
[520 / 570] Crypto
[520 / 570]
[523 / 575] AppAttestCore
[523 / 575] Crypto
[525 / 575] AppAttestCore
[526 / 575] AppAttestCore
[531 / 576]
[533 / 585] CryptoExtras
[534 / 585] CryptoExtras
[535 / 585] CryptoExtras
[536 / 585] CryptoExtras
[538 / 586] CryptoExtras
[539 / 586] CryptoExtras
[541 / 586] CryptoExtras
[545 / 586] CryptoExtras
[548 / 586] CXKCPShims
[552 / 589] _CryptoExtras
[553 / 589] _CryptoExtras
[558 / 590] _CryptoExtras
[563 / 596] X509
[568 / 596] AppAttestClient
[576 / 598] X509
[579 / 607] X509
[582 / 607] X509
[583 / 607] X509
[585 / 608] CCryptoBoringSSL
[586 / 608] X509
[587 / 608] CryptoExtras
[590 / 608] X509
[591 / 608] Crypto
[593 / 608] _CryptoExtras
[593 / 608] X509
[607 / 618] AppAttestServer
[609 / 619] X509
[616 / 619] AppAttestServer
Build complete! (62.82 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-crypto.git"
},
{
"identity" : "swift-certificates",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-certificates.git"
},
{
"identity" : "swift-asn1",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-asn1.git"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin.git"
}
],
"manifest_display_name" : "swift-app-attest",
"name" : "swift-app-attest",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "maccatalyst",
"version" : "14.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "AppAttestClient",
"targets" : [
"AppAttestClient"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AppAttestServer",
"targets" : [
"AppAttestServer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"6"
],
"targets" : [
{
"c99name" : "AppAttestServerTests",
"module_type" : "SwiftTarget",
"name" : "AppAttestServerTests",
"path" : "Tests/AppAttestServerTests",
"product_dependencies" : [
"Crypto",
"X509",
"SwiftASN1"
],
"sources" : [
"AssertionVerifierTests.swift",
"AttestationVerifierTests.swift",
"CBORTests.swift",
"ChallengeTests.swift",
"FraudAssessmentClientTests.swift",
"ReceiptVerifierTests.swift",
"Support/AttestationFixture.swift",
"Support/BERMangler.swift",
"Support/ReceiptFixture.swift",
"Support/TestCBOREncoder.swift",
"Support/TestCertificateFactory.swift"
],
"target_dependencies" : [
"AppAttestServer"
],
"type" : "test"
},
{
"c99name" : "AppAttestServer",
"module_type" : "SwiftTarget",
"name" : "AppAttestServer",
"path" : "Sources/AppAttestServer",
"product_dependencies" : [
"Crypto",
"X509",
"SwiftASN1"
],
"product_memberships" : [
"AppAttestServer"
],
"sources" : [
"AppAttestConfiguration.swift",
"AppAttestVerificationError.swift",
"Assertion/AssertionVerifier.swift",
"Attestation/AppleCertificateExtensions.swift",
"Attestation/AttestationObject.swift",
"Attestation/AttestationVerifier.swift",
"Attestation/AuthenticatorData.swift",
"CBOR/CBOR.swift",
"Certificates/AppleTrustRoots.swift",
"Challenge.swift",
"Exports.swift",
"HTTP/AppAttestHTTPClient.swift",
"HTTP/URLSessionAppAttestHTTPClient.swift",
"Receipt/BERNormalizer.swift",
"Receipt/DeviceCheckCredentials.swift",
"Receipt/FraudAssessmentClient.swift",
"Receipt/JWTSigner.swift",
"Receipt/PKCS7Container.swift",
"Receipt/Receipt.swift",
"Receipt/ReceiptVerifier.swift"
],
"target_dependencies" : [
"AppAttestCore"
],
"type" : "library"
},
{
"c99name" : "AppAttestCoreTests",
"module_type" : "SwiftTarget",
"name" : "AppAttestCoreTests",
"path" : "Tests/AppAttestCoreTests",
"sources" : [
"AppAttestCoreTests.swift"
],
"target_dependencies" : [
"AppAttestCore"
],
"type" : "test"
},
{
"c99name" : "AppAttestCore",
"module_type" : "SwiftTarget",
"name" : "AppAttestCore",
"path" : "Sources/AppAttestCore",
"product_memberships" : [
"AppAttestClient",
"AppAttestServer"
],
"sources" : [
"AppAttestEnvironment.swift",
"AppAttestKeyID.swift",
"TransportDTO.swift"
],
"type" : "library"
},
{
"c99name" : "AppAttestClientTests",
"module_type" : "SwiftTarget",
"name" : "AppAttestClientTests",
"path" : "Tests/AppAttestClientTests",
"sources" : [
"AppAttestServiceTests.swift"
],
"target_dependencies" : [
"AppAttestClient"
],
"type" : "test"
},
{
"c99name" : "AppAttestClient",
"module_type" : "SwiftTarget",
"name" : "AppAttestClient",
"path" : "Sources/AppAttestClient",
"product_memberships" : [
"AppAttestClient"
],
"sources" : [
"AppAttestClientError.swift",
"AppAttestService.swift",
"Exports.swift"
],
"target_dependencies" : [
"AppAttestCore"
],
"type" : "library"
}
],
"tools_version" : "6.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
Done.