The Swift Package Index logo.Swift Package Index

Build Information

Successful build of swift-app-attest, reference 1.2.1 (df27f3), with Swift 6.4 for Android on 27 Sep 2026 08:28:38 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-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

Build 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:         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-54344845-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.git
Fetching https://github.com/swiftlang/swift-docc-plugin.git
Fetching https://github.com/apple/swift-certificates.git
Fetching https://github.com/apple/swift-asn1.git
[1/2345] Fetching swift-docc-plugin
[236/4331] Fetching swift-docc-plugin, swift-asn1
[733/22893] Fetching swift-docc-plugin, swift-asn1, swift-crypto
[1353/30471] Fetching swift-docc-plugin, swift-asn1, swift-crypto, swift-certificates
Fetched https://github.com/apple/swift-asn1.git (0.59s)
Fetched https://github.com/apple/swift-certificates.git (0.59s)
Fetched https://github.com/swiftlang/swift-docc-plugin.git (0.59s)
[2042/18562] Fetching swift-crypto
Fetched https://github.com/apple/swift-crypto.git (1.21s)
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.32s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3831] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.57s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.80s)
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.25s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (0.36s)
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-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
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
Building for debugging...
[Computing dependencies]
[Provisioning 7 / 22]
[Pre-planning 1 / 509]
[Planning deferred tasks]
[Constructing 292 / 1420]
[Starting]
[12 / 535] _CryptoExtras
[90 / 538]
[100 / 557] SwiftASN1
[101 / 557] CCryptoBoringSSLShims
[103 / 557] SwiftASN1
[104 / 557] _CertificateInternals
[105 / 557] CryptoBoringWrapper
[115 / 557] _CertificateInternals
[117 / 558] _CertificateInternals
[119 / 558] CryptoBoringWrapper
[121 / 558] CryptoBoringWrapper
[124 / 558] CryptoBoringWrapper
[125 / 558] SwiftASN1
[127 / 558] SwiftASN1
[131 / 558] SwiftASN1
[133 / 558] swift-crypto_CXKCP
[136 / 563] AppAttestCore
[137 / 563] CCryptoBoringSSL
[138 / 563] AppAttestCore
[140 / 563] AppAttestCore
[145 / 563] CCryptoBoringSSL
[147 / 564] CCryptoBoringSSL
[148 / 564] CryptoBoringWrapper
[151 / 565] CCryptoBoringSSL
[152 / 565] CCryptoBoringSSL
[155 / 565] CCryptoBoringSSL
[158 / 565] CCryptoBoringSSL
[164 / 565] CCryptoBoringSSL
[166 / 565] CCryptoBoringSSL
[167 / 565] CCryptoBoringSSL
[169 / 565] CCryptoBoringSSL
[170 / 565] CCryptoBoringSSL
[174 / 565] CCryptoBoringSSL
[175 / 565] CCryptoBoringSSL
[176 / 565] CCryptoBoringSSL
[177 / 565] CCryptoBoringSSL
[179 / 565] CCryptoBoringSSL
[180 / 565] CCryptoBoringSSL
[182 / 565] CCryptoBoringSSL
[184 / 565] CCryptoBoringSSL
[186 / 565] CCryptoBoringSSL
[187 / 565] CCryptoBoringSSL
[191 / 565] CCryptoBoringSSL
[192 / 565] CCryptoBoringSSL
[194 / 565] CCryptoBoringSSL
[196 / 565] CCryptoBoringSSL
[197 / 565] CCryptoBoringSSL
[199 / 565] CCryptoBoringSSL
[200 / 565] CCryptoBoringSSL
[201 / 565] CCryptoBoringSSL
[203 / 565] CCryptoBoringSSL
[205 / 565] CCryptoBoringSSL
[209 / 565] CCryptoBoringSSL
[212 / 565] CCryptoBoringSSL
[213 / 565] CCryptoBoringSSL
[214 / 565] CCryptoBoringSSL
[217 / 565] CCryptoBoringSSL
[219 / 565] CCryptoBoringSSL
[222 / 565] CCryptoBoringSSL
[223 / 565] CCryptoBoringSSL
[224 / 565] CCryptoBoringSSL
[225 / 565] CCryptoBoringSSL
[227 / 565] CCryptoBoringSSL
[230 / 565] CCryptoBoringSSL
[232 / 565] CCryptoBoringSSL
[234 / 565] CCryptoBoringSSL
[236 / 565] CCryptoBoringSSL
[238 / 565] CCryptoBoringSSL
[239 / 565] CCryptoBoringSSL
[241 / 565] CCryptoBoringSSL
[244 / 565] CCryptoBoringSSL
[247 / 565] CCryptoBoringSSL
[249 / 565] CCryptoBoringSSL
[253 / 565] CCryptoBoringSSL
[256 / 565] CCryptoBoringSSL
[259 / 565] CCryptoBoringSSL
[261 / 565] CCryptoBoringSSL
[263 / 565] CCryptoBoringSSL
[268 / 565] CCryptoBoringSSL
[272 / 565] CCryptoBoringSSL
[274 / 565] CCryptoBoringSSL
[275 / 565] CCryptoBoringSSL
[277 / 565] CCryptoBoringSSL
[279 / 565] CCryptoBoringSSL
[281 / 565] CCryptoBoringSSL
[282 / 565] CCryptoBoringSSL
[285 / 565] CCryptoBoringSSL
[287 / 565] CCryptoBoringSSL
[289 / 565] CCryptoBoringSSL
[290 / 565] CCryptoBoringSSL
[291 / 565] CCryptoBoringSSL
[292 / 565] CCryptoBoringSSL
[293 / 565] CCryptoBoringSSL
[295 / 565] CCryptoBoringSSL
[296 / 565] CCryptoBoringSSL
[297 / 565] CCryptoBoringSSL
[300 / 565] CCryptoBoringSSL
[302 / 565] CCryptoBoringSSL
[303 / 565] CCryptoBoringSSL
[304 / 565] CCryptoBoringSSL
[305 / 565] CCryptoBoringSSL
[306 / 565] CCryptoBoringSSL
[308 / 565] CCryptoBoringSSL
[309 / 565] CCryptoBoringSSL
[310 / 565] CCryptoBoringSSL
[311 / 565] CCryptoBoringSSL
[312 / 565] CCryptoBoringSSL
[313 / 565] CCryptoBoringSSL
[315 / 565] CCryptoBoringSSL
[316 / 565] CCryptoBoringSSL
[317 / 565] CCryptoBoringSSL
[319 / 565] CCryptoBoringSSL
[320 / 565] CCryptoBoringSSL
[322 / 565] CCryptoBoringSSL
[324 / 565] CCryptoBoringSSL
[326 / 565] CCryptoBoringSSL
[327 / 565] CCryptoBoringSSL
[329 / 565] CCryptoBoringSSL
[332 / 565] CCryptoBoringSSL
[333 / 565] CCryptoBoringSSL
[335 / 565] CCryptoBoringSSL
[337 / 565] CCryptoBoringSSL
[340 / 565] CCryptoBoringSSL
[342 / 565] CCryptoBoringSSL
[343 / 565] CCryptoBoringSSL
[345 / 565] CCryptoBoringSSL
[346 / 565] CCryptoBoringSSL
[349 / 565] CCryptoBoringSSL
[351 / 565] CCryptoBoringSSL
[352 / 565] CCryptoBoringSSL
[355 / 565] CCryptoBoringSSL
[360 / 565] CCryptoBoringSSL
[363 / 565] CCryptoBoringSSL
[366 / 565] CCryptoBoringSSL
[369 / 565] CCryptoBoringSSL
[373 / 565] CCryptoBoringSSL
[375 / 565] CCryptoBoringSSL
[377 / 565] CCryptoBoringSSL
[378 / 565] CCryptoBoringSSL
[379 / 565] CCryptoBoringSSL
[382 / 565] CCryptoBoringSSL
[383 / 565] CCryptoBoringSSL
[384 / 565] CCryptoBoringSSL
[385 / 565] CCryptoBoringSSL
[386 / 565] CCryptoBoringSSL
[388 / 565] CCryptoBoringSSL
[389 / 565] CCryptoBoringSSL
[390 / 565] CCryptoBoringSSL
[392 / 565] CCryptoBoringSSL
[394 / 565] CCryptoBoringSSL
[395 / 565] CCryptoBoringSSL
[396 / 565] CCryptoBoringSSL
[397 / 565] CCryptoBoringSSL
[399 / 565] CCryptoBoringSSL
[400 / 565] CCryptoBoringSSL
[402 / 565] CCryptoBoringSSL
[404 / 565] CCryptoBoringSSL
[406 / 565] CCryptoBoringSSL
[409 / 565] CCryptoBoringSSL
[410 / 565] CCryptoBoringSSL
[411 / 565] CCryptoBoringSSL
[413 / 565] CCryptoBoringSSL
[414 / 565] CCryptoBoringSSL
[415 / 565] CCryptoBoringSSL
[416 / 565] CCryptoBoringSSL
[418 / 565] CCryptoBoringSSL
[420 / 565] CCryptoBoringSSL
[421 / 565] CCryptoBoringSSL
[424 / 565] CCryptoBoringSSL
[425 / 565] CCryptoBoringSSL
[426 / 565] CCryptoBoringSSL
[428 / 565] CCryptoBoringSSL
[430 / 565] CCryptoBoringSSL
[434 / 565] CCryptoBoringSSL
[436 / 565] CCryptoBoringSSL
[439 / 565] CCryptoBoringSSL
[442 / 565] CCryptoBoringSSL
[445 / 565] CCryptoBoringSSL
[446 / 565] CCryptoBoringSSL
[448 / 565] CCryptoBoringSSL
[449 / 565] CCryptoBoringSSL
[451 / 565] CCryptoBoringSSL
[452 / 565] CCryptoBoringSSL
[454 / 565] CCryptoBoringSSL
[455 / 565] CCryptoBoringSSL
[457 / 565] CCryptoBoringSSL
[458 / 565] CCryptoBoringSSL
[459 / 565] CCryptoBoringSSL
[460 / 565] CCryptoBoringSSL
[461 / 565] CCryptoBoringSSL
[463 / 565] CCryptoBoringSSL
[464 / 565] CCryptoBoringSSL
[467 / 565] CCryptoBoringSSL
[469 / 565] CCryptoBoringSSL
[472 / 565] CCryptoBoringSSL
[474 / 565] CCryptoBoringSSL
[477 / 565] CCryptoBoringSSL
[480 / 565] CCryptoBoringSSL
[484 / 565] CCryptoBoringSSL
[485 / 565] CCryptoBoringSSL
[487 / 565] CCryptoBoringSSL
[488 / 565] CCryptoBoringSSL
[490 / 565] CCryptoBoringSSL
[492 / 565] CCryptoBoringSSL
[494 / 565] CCryptoBoringSSL
[496 / 565] CCryptoBoringSSL
[499 / 565] CCryptoBoringSSL
[500 / 565] CCryptoBoringSSL
[501 / 565] CCryptoBoringSSL
[504 / 565] CCryptoBoringSSL
[508 / 565] CryptoBoringWrapper
[511 / 565] CCryptoBoringSSL
[515 / 565] AppAttestClient
[516 / 566] CXKCP
[521 / 571] AppAttestClient
[522 / 580] Crypto
[531 / 580] Crypto
[532 / 580] Crypto
[533 / 580] Crypto
[534 / 581] Crypto
[535 / 581] Crypto
[536 / 581] AppAttestClient
[538 / 581] AppAttestCore
[539 / 581] AppAttestClient-product
[542 / 582] Crypto
[549 / 583] CryptoExtras
[555 / 592] CryptoExtras
[557 / 592] CryptoExtras
[563 / 592] CryptoExtras
[566 / 595] _CryptoExtras
[567 / 595] _CryptoExtras
[574 / 597]
[578 / 607] X509
[579 / 607] X509
[581 / 607] X509
[582 / 607] X509
[583 / 607] CCryptoBoringSSL
[584 / 608] X509
[586 / 608] X509
[590 / 608] CryptoBoringWrapper
[591 / 608] Crypto
[592 / 608] CryptoExtras
[593 / 608] X509
[606 / 618] X509
[608 / 619] X509
[614 / 619] AppAttestServer
[616 / 619] AppAttestServer
[617 / 620] AppAttestServer
Build complete! (94.65 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.