Build Information
Successful build of swift-app-attest, reference 1.2.1 (df27f3), with Swift 6.4 for Linux on 27 Sep 2026 08:28:33 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-3":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 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: 1.2.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/tixster/swift-app-attest
* tag 1.2.1 -> FETCH_HEAD
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 1.2.1
========================================
Build
========================================
Selected platform: linux
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-54344845-3":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-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
[2/4331] Fetching swift-docc-plugin, swift-asn1
[259/22893] Fetching swift-docc-plugin, swift-asn1, swift-crypto
[1594/30471] Fetching swift-docc-plugin, swift-asn1, swift-crypto, swift-certificates
Fetched https://github.com/swiftlang/swift-docc-plugin.git (0.51s)
[8632/28126] Fetching swift-asn1, swift-crypto, swift-certificates
Fetched https://github.com/apple/swift-asn1.git (1.20s)
Fetched https://github.com/apple/swift-certificates.git (1.21s)
Fetched https://github.com/apple/swift-crypto.git (1.22s)
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.31s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3831] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.53s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (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.14s)
Computing version for https://github.com/apple/swift-certificates.git
Computed https://github.com/apple/swift-certificates.git at 1.21.0 (0.23s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (0.34s)
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
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-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/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 509]
[Planning deferred tasks]
[Constructing 494 / 1420]
[83 / 535]
[100 / 549] SwiftASN1
[102 / 557] SwiftASN1
[108 / 557] CryptoBoringWrapper
[109 / 557] SwiftASN1
[122 / 557] SwiftASN1
[124 / 558] SwiftASN1
[127 / 558] CryptoBoringWrapper
[130 / 558] CryptoBoringWrapper
[130 / 558] Crypto
[133 / 558] CXKCP
[134 / 559]
[138 / 573] AppAttestCore
[139 / 573] Crypto
[140 / 573] AppAttestCore
[147 / 574] SwiftASN1
[150 / 574] SwiftASN1
[152 / 575] SwiftASN1
[153 / 575] CryptoBoringWrapper
[153 / 575] SwiftASN1
[156 / 575] AppAttestCore
[159 / 575] Crypto
[163 / 575] Crypto
[165 / 575] CCryptoBoringSSL
[166 / 575] CCryptoBoringSSL
[167 / 575] CCryptoBoringSSL
[168 / 575] CCryptoBoringSSL
[168 / 576] CCryptoBoringSSL
[170 / 576] CCryptoBoringSSL
[171 / 576] CCryptoBoringSSL
[172 / 576] CCryptoBoringSSL
[173 / 576] CCryptoBoringSSL
[175 / 576] CCryptoBoringSSL
[176 / 576] CCryptoBoringSSL
[177 / 576] CCryptoBoringSSL
[178 / 577] CCryptoBoringSSL
[179 / 577] CCryptoBoringSSL
[180 / 577] CCryptoBoringSSL
[183 / 577] CCryptoBoringSSL
[186 / 577] CCryptoBoringSSL
[187 / 577] CCryptoBoringSSL
[188 / 577] CCryptoBoringSSL
[190 / 577] CCryptoBoringSSL
[191 / 577] CCryptoBoringSSL
[193 / 577] CCryptoBoringSSL
[194 / 577] CCryptoBoringSSL
[196 / 577] CCryptoBoringSSL
[197 / 577] CCryptoBoringSSL
[199 / 577] CCryptoBoringSSL
[202 / 577] CCryptoBoringSSL
[204 / 577] CCryptoBoringSSL
[206 / 577] CCryptoBoringSSL
[208 / 577] CCryptoBoringSSL
[210 / 577] CCryptoBoringSSL
[212 / 577] CCryptoBoringSSL
[217 / 577] CCryptoBoringSSL
[218 / 577] CCryptoBoringSSL
[219 / 577] CCryptoBoringSSL
[220 / 577] CCryptoBoringSSL
[222 / 577] CCryptoBoringSSL
[224 / 577] CCryptoBoringSSL
[227 / 577] CCryptoBoringSSL
[229 / 577] CCryptoBoringSSL
[230 / 577] CCryptoBoringSSL
[231 / 577] CCryptoBoringSSL
[233 / 577] CCryptoBoringSSL
[235 / 577] CCryptoBoringSSL
[238 / 577] CCryptoBoringSSL
[239 / 577] CCryptoBoringSSL
[243 / 577] CCryptoBoringSSL
[245 / 577] CCryptoBoringSSL
[247 / 577] CCryptoBoringSSL
[250 / 577] CCryptoBoringSSL
[252 / 577] CCryptoBoringSSL
[253 / 577] CCryptoBoringSSL
[256 / 577] CCryptoBoringSSL
[258 / 577] CCryptoBoringSSL
[261 / 577] CCryptoBoringSSL
[262 / 577] CCryptoBoringSSL
[266 / 577] CCryptoBoringSSL
[270 / 577] CCryptoBoringSSL
[275 / 577] CCryptoBoringSSL
[282 / 577] CCryptoBoringSSL
[285 / 577] CCryptoBoringSSL
[289 / 577] CCryptoBoringSSL
[292 / 577] CCryptoBoringSSL
[296 / 577] CCryptoBoringSSL
[297 / 577] CCryptoBoringSSL
[298 / 577] CCryptoBoringSSL
[299 / 577] CCryptoBoringSSL
[301 / 577] CCryptoBoringSSL
[304 / 577] CCryptoBoringSSL
[305 / 577] CCryptoBoringSSL
[307 / 577] CCryptoBoringSSL
[310 / 577] CCryptoBoringSSL
[311 / 577] CCryptoBoringSSL
[312 / 577] CCryptoBoringSSL
[315 / 577] CCryptoBoringSSL
[317 / 577] CCryptoBoringSSL
[319 / 577] CCryptoBoringSSL
[320 / 577] CCryptoBoringSSL
[322 / 577] CCryptoBoringSSL
[323 / 577] CCryptoBoringSSL
[325 / 577] CCryptoBoringSSL
[327 / 577] CCryptoBoringSSL
[330 / 577] CCryptoBoringSSL
[331 / 577] CCryptoBoringSSL
[332 / 577] CCryptoBoringSSL
[334 / 577] CCryptoBoringSSL
[336 / 577] CCryptoBoringSSL
[337 / 577] CCryptoBoringSSL
[339 / 577] CCryptoBoringSSL
[341 / 577] CCryptoBoringSSL
[342 / 577] CCryptoBoringSSL
[345 / 577] CCryptoBoringSSL
[347 / 577] CCryptoBoringSSL
[350 / 577] CCryptoBoringSSL
[353 / 577] CCryptoBoringSSL
[356 / 577] CCryptoBoringSSL
[358 / 577] CCryptoBoringSSL
[361 / 577] CCryptoBoringSSL
[365 / 577] CCryptoBoringSSL
[366 / 577] CCryptoBoringSSL
[368 / 577] CCryptoBoringSSL
[369 / 577] CCryptoBoringSSL
[372 / 577] CCryptoBoringSSL
[373 / 577] CCryptoBoringSSL
[376 / 577] CCryptoBoringSSL
[379 / 577] CCryptoBoringSSL
[383 / 577] CCryptoBoringSSL
[389 / 577] CCryptoBoringSSL
[392 / 577] CCryptoBoringSSL
[396 / 577] CCryptoBoringSSL
[401 / 577] CCryptoBoringSSL
[404 / 577] CCryptoBoringSSL
[405 / 577] CCryptoBoringSSL
[407 / 577] CCryptoBoringSSL
[409 / 577] CCryptoBoringSSL
[412 / 577] CCryptoBoringSSL
[413 / 577] CCryptoBoringSSL
[415 / 577] CCryptoBoringSSL
[419 / 577] CCryptoBoringSSL
[420 / 577] CCryptoBoringSSL
[421 / 577] CCryptoBoringSSL
[423 / 577] CCryptoBoringSSL
[425 / 577] CCryptoBoringSSL
[426 / 577] CCryptoBoringSSL
[428 / 577] CCryptoBoringSSL
[429 / 577] CCryptoBoringSSL
[430 / 577] CCryptoBoringSSL
[433 / 577] CCryptoBoringSSL
[436 / 577] CCryptoBoringSSL
[437 / 577] CCryptoBoringSSL
[438 / 577] CCryptoBoringSSL
[439 / 577] CCryptoBoringSSL
[440 / 577] CCryptoBoringSSL
[441 / 577] CCryptoBoringSSL
[444 / 577] CCryptoBoringSSL
[446 / 577] CCryptoBoringSSL
[448 / 577] CCryptoBoringSSL
[449 / 577] CCryptoBoringSSL
[451 / 577] CCryptoBoringSSL
[455 / 577] CCryptoBoringSSL
[458 / 577] CCryptoBoringSSL
[462 / 577] CCryptoBoringSSL
[466 / 577] CCryptoBoringSSL
[468 / 577] CCryptoBoringSSL
[470 / 577] CCryptoBoringSSL
[473 / 577] CCryptoBoringSSL
[476 / 577] CCryptoBoringSSL
[477 / 577] CCryptoBoringSSL
[480 / 577] CCryptoBoringSSL
[482 / 577] CCryptoBoringSSL
[485 / 577] CCryptoBoringSSL
[490 / 577] CCryptoBoringSSL
[492 / 577] CCryptoBoringSSL
[495 / 577] CCryptoBoringSSL
[498 / 577] CCryptoBoringSSL
[502 / 577] CCryptoBoringSSL
[505 / 577] CCryptoBoringSSL
[509 / 577] CCryptoBoringSSL
[510 / 577] CCryptoBoringSSL
[512 / 577] CCryptoBoringSSL
[513 / 577] CCryptoBoringSSL
[517 / 577] CCryptoBoringSSL
[519 / 577] CCryptoBoringSSL
[520 / 577] CCryptoBoringSSL
[521 / 577] CCryptoBoringSSL
[524 / 577] CCryptoBoringSSL
[525 / 577] CCryptoBoringSSL
[526 / 577] CCryptoBoringSSL
[528 / 577] CCryptoBoringSSL
[529 / 577] CCryptoBoringSSL
[531 / 577] AppAttestCore
[533 / 577] AppAttestCore
[535 / 577] CCryptoBoringSSL
[537 / 578] CXKCPShims
[540 / 584] CryptoExtras
[541 / 592] CryptoExtras
[545 / 592] CryptoExtras
[546 / 592] AppAttestClient
[551 / 592] CryptoExtras
[552 / 592] CryptoExtras
[553 / 592] CryptoExtras
[554 / 592] CryptoExtras
[557 / 592] CryptoExtras
[561 / 592] AppAttestClient
[565 / 594]
[566 / 596] _CryptoExtras
[568 / 596] _CryptoExtras
[574 / 598] _CryptoExtras
[576 / 598] X509
[580 / 607] X509
[581 / 607] X509
[582 / 607] X509
[583 / 607] X509
[584 / 608] X509
[585 / 608] X509
[586 / 608] CryptoExtras
[587 / 608] X509
[587 / 608] CCryptoBoringSSL
[588 / 608] CCryptoBoringSSL
[591 / 608] Crypto
[593 / 608] _CryptoExtras
[593 / 608] X509
[607 / 618] AppAttestServer
[608 / 618] AppAttestServer
[609 / 618] X509
[614 / 619] X509
[616 / 619] X509
[616 / 619] AppAttestServer
[620 / 620] AppAttestServer-product
Build complete! (88.83 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"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.