The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Airgap, reference 1.7.0 (f24874), with Swift 6.4 for Wasm on 24 Sep 2026 07:03:16 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/garry-jeromson/swift-airgap.git
Reference: 1.7.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/garry-jeromson/swift-airgap
 * tag               1.7.0      -> FETCH_HEAD
HEAD is now at f248742 Bump version to 1.7.0 in README and CHANGELOG
Cloned https://github.com/garry-jeromson/swift-airgap.git
Revision (git rev-parse @):
f248742a53f390b5427c3af3a7321c48d2b633ce
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/garry-jeromson/swift-airgap.git at 1.7.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/garry-jeromson/swift-airgap.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Building for debugging...
[Planning deferred tasks]
[26 / 34] Airgap
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line:     cd /host

/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:100:72: error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 98 |     // ```
 99 |     #if compiler(>=6.0)
100 |         private nonisolated(unsafe) static var _passthroughProtocols: [URLProtocol.Type] = []
    |                                                                        `- error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
101 |     #else
102 |         private static var _passthroughProtocols: [URLProtocol.Type] = []
Foundation.URLProtocol:2:18: note: 'URLProtocol' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLProtocol = AnyObject
  |                  `- note: 'URLProtocol' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:104:46: error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
102 |         private static var _passthroughProtocols: [URLProtocol.Type] = []
103 |     #endif
104 |     public static var passthroughProtocols: [URLProtocol.Type] {
    |                                              `- error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
105 |         get { lock.withLock { _passthroughProtocols } }
106 |         set { lock.withLock { _passthroughProtocols = newValue } }
Foundation.URLProtocol:2:18: note: 'URLProtocol' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLProtocol = AnyObject
  |                  `- note: 'URLProtocol' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:399:110: error: cannot find type 'URLRequest' in scope
397 |
398 |     /// Reports a network violation through the configured handler.
399 |     static func reportViolation(method: String, url: String, callStack: [String], testName: String, request: URLRequest? = nil) {
    |                                                                                                              `- error: cannot find type 'URLRequest' in scope
400 |         // Always collect violations for programmatic access via violations/violationSummary()
401 |         let violation = Violation(
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:514:53: error: 'URLSessionConfiguration' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
512 |     }
513 |
514 |     private static func injectProtocol(into config: URLSessionConfiguration) {
    |                                                     `- error: 'URLSessionConfiguration' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
515 |         var protocols = config.protocolClasses ?? []
516 |         if !protocols.contains(where: { $0 == AirgapURLProtocol.self }) {
Foundation.URLSessionConfiguration:2:18: note: 'URLSessionConfiguration' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionConfiguration = AnyObject
  |                  `- note: 'URLSessionConfiguration' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:523:17: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
521 |
522 |     private static func interceptWebSocketIfNeeded(
523 |         _ task: URLSessionTask,
    |                 `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
524 |         url: URL?,
525 |         urlString: String) -> Bool {
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
  |                  `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:561:71: error: cannot find type 'Selector' in scope
559 |     }
560 |
561 |     private static func swizzleConfigurationProperty(getter original: Selector, label _: String) {
    |                                                                       `- error: cannot find type 'Selector' in scope
562 |         guard let method = class_getClassMethod(URLSessionConfiguration.self, original) else {
563 |             return
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:562:28: error: cannot find 'class_getClassMethod' in scope
560 |
561 |     private static func swizzleConfigurationProperty(getter original: Selector, label _: String) {
562 |         guard let method = class_getClassMethod(URLSessionConfiguration.self, original) else {
    |                            `- error: cannot find 'class_getClassMethod' in scope
563 |             return
564 |         }
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:566:27: error: cannot find 'method_getImplementation' in scope
564 |         }
565 |
566 |         let originalIMP = method_getImplementation(method)
    |                           `- error: cannot find 'method_getImplementation' in scope
567 |
568 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector) -> URLSessionConfiguration
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:568:65: error: cannot find type 'Selector' in scope
566 |         let originalIMP = method_getImplementation(method)
567 |
568 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector) -> URLSessionConfiguration
    |                                                                 `- error: cannot find type 'Selector' in scope
569 |
570 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:572:62: error: 'URLSessionConfiguration' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
570 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
571 |
572 |         let swizzledBlock: @convention(block) (AnyObject) -> URLSessionConfiguration = { obj in
    |                                                              `- error: 'URLSessionConfiguration' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
573 |             let config = originalFunction(obj, original)
574 |             injectProtocol(into: config)
Foundation.URLSessionConfiguration:2:18: note: 'URLSessionConfiguration' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionConfiguration = AnyObject
  |                  `- note: 'URLSessionConfiguration' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:578:27: error: cannot find 'imp_implementationWithBlock' in scope
576 |         }
577 |
578 |         let swizzledIMP = imp_implementationWithBlock(swizzledBlock)
    |                           `- error: cannot find 'imp_implementationWithBlock' in scope
579 |         method_setImplementation(method, swizzledIMP)
580 |     }
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:579:9: error: cannot find 'method_setImplementation' in scope
577 |
578 |         let swizzledIMP = imp_implementationWithBlock(swizzledBlock)
579 |         method_setImplementation(method, swizzledIMP)
    |         `- error: cannot find 'method_setImplementation' in scope
580 |     }
581 |
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:590:24: error: cannot find 'NSSelectorFromString' in scope
588 |     /// the property-getter swizzle, the protocol is injected when the session is created.
589 |     private static func swizzleSessionInit() {
590 |         let selector = NSSelectorFromString("sessionWithConfiguration:delegate:delegateQueue:")
    |                        `- error: cannot find 'NSSelectorFromString' in scope
591 |         guard let method = class_getClassMethod(URLSession.self, selector) else {
592 |             return
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:591:28: error: cannot find 'class_getClassMethod' in scope
589 |     private static func swizzleSessionInit() {
590 |         let selector = NSSelectorFromString("sessionWithConfiguration:delegate:delegateQueue:")
591 |         guard let method = class_getClassMethod(URLSession.self, selector) else {
    |                            `- error: cannot find 'class_getClassMethod' in scope
592 |             return
593 |         }
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:595:27: error: cannot find 'method_getImplementation' in scope
593 |         }
594 |
595 |         let originalIMP = method_getImplementation(method)
    |                           `- error: cannot find 'method_getImplementation' in scope
596 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector, URLSessionConfiguration, URLSessionDelegate?, OperationQueue?) -> URLSession
597 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:596:65: error: cannot find type 'Selector' in scope
594 |
595 |         let originalIMP = method_getImplementation(method)
596 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector, URLSessionConfiguration, URLSessionDelegate?, OperationQueue?) -> URLSession
    |                                                                 `- error: cannot find type 'Selector' in scope
597 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
598 |
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:596:100: error: cannot find type 'URLSessionDelegate' in scope
594 |
595 |         let originalIMP = method_getImplementation(method)
596 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector, URLSessionConfiguration, URLSessionDelegate?, OperationQueue?) -> URLSession
    |                                                                                                    `- error: cannot find type 'URLSessionDelegate' in scope
597 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
598 |
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:596:121: error: cannot find type 'OperationQueue' in scope
594 |
595 |         let originalIMP = method_getImplementation(method)
596 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector, URLSessionConfiguration, URLSessionDelegate?, OperationQueue?) -> URLSession
    |                                                                                                                         `- error: cannot find type 'OperationQueue' in scope
597 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
598 |
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:600:49: error: cannot find type 'URLSessionDelegate' in scope
598 |
599 |         let swizzledBlock: @convention(block) (
600 |             AnyObject, URLSessionConfiguration, URLSessionDelegate?, OperationQueue?) -> URLSession = { obj, config, delegate, queue in
    |                                                 `- error: cannot find type 'URLSessionDelegate' in scope
601 |             injectProtocol(into: config)
602 |             return originalFunction(obj, selector, config, delegate, queue)
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:600:70: error: cannot find type 'OperationQueue' in scope
598 |
599 |         let swizzledBlock: @convention(block) (
600 |             AnyObject, URLSessionConfiguration, URLSessionDelegate?, OperationQueue?) -> URLSession = { obj, config, delegate, queue in
    |                                                                      `- error: cannot find type 'OperationQueue' in scope
601 |             injectProtocol(into: config)
602 |             return originalFunction(obj, selector, config, delegate, queue)
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:605:27: error: cannot find 'imp_implementationWithBlock' in scope
603 |         }
604 |
605 |         let swizzledIMP = imp_implementationWithBlock(swizzledBlock)
    |                           `- error: cannot find 'imp_implementationWithBlock' in scope
606 |         method_setImplementation(method, swizzledIMP)
607 |     }
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:606:9: error: cannot find 'method_setImplementation' in scope
604 |
605 |         let swizzledIMP = imp_implementationWithBlock(swizzledBlock)
606 |         method_setImplementation(method, swizzledIMP)
    |         `- error: cannot find 'method_setImplementation' in scope
607 |     }
608 |
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:614:24: error: '#selector' can only be used with the Objective-C runtime
612 |     /// URL loading system internals, not the user's code that initiated the request.
613 |     private static func swizzleTaskResume() {
614 |         let selector = #selector(URLSessionTask.resume)
    |                        `- error: '#selector' can only be used with the Objective-C runtime
615 |         guard let method = class_getInstanceMethod(URLSessionTask.self, selector) else {
616 |             return
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:615:28: error: cannot find 'class_getInstanceMethod' in scope
613 |     private static func swizzleTaskResume() {
614 |         let selector = #selector(URLSessionTask.resume)
615 |         guard let method = class_getInstanceMethod(URLSessionTask.self, selector) else {
    |                            `- error: cannot find 'class_getInstanceMethod' in scope
616 |             return
617 |         }
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:619:27: error: cannot find 'method_getImplementation' in scope
617 |         }
618 |
619 |         let originalIMP = method_getImplementation(method)
    |                           `- error: cannot find 'method_getImplementation' in scope
620 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector) -> Void
621 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:620:65: error: cannot find type 'Selector' in scope
618 |
619 |         let originalIMP = method_getImplementation(method)
620 |         typealias OriginalFunction = @convention(c) (AnyObject, Selector) -> Void
    |                                                                 `- error: cannot find type 'Selector' in scope
621 |         let originalFunction = unsafeBitCast(originalIMP, to: OriginalFunction.self)
622 |
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:624:42: warning: conditional cast from 'AnyObject' to 'URLSessionTask' (aka 'AnyObject') always succeeds
622 |
623 |         let swizzledBlock: @convention(block) (AnyObject) -> Void = { task in
624 |             guard let sessionTask = task as? URLSessionTask else {
    |                                          `- warning: conditional cast from 'AnyObject' to 'URLSessionTask' (aka 'AnyObject') always succeeds
625 |                 originalFunction(task, selector)
626 |                 return
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:645:27: error: cannot find 'imp_implementationWithBlock' in scope
643 |         }
644 |
645 |         let swizzledIMP = imp_implementationWithBlock(swizzledBlock)
    |                           `- error: cannot find 'imp_implementationWithBlock' in scope
646 |         method_setImplementation(method, swizzledIMP)
647 |     }
/host/spi-builder-workspace/Sources/Airgap/Airgap.swift:646:9: error: cannot find 'method_setImplementation' in scope
644 |
645 |         let swizzledIMP = imp_implementationWithBlock(swizzledBlock)
646 |         method_setImplementation(method, swizzledIMP)
    |         `- error: cannot find 'method_setImplementation' in scope
647 |     }
648 | }
/host/spi-builder-workspace/Sources/Airgap/AirgapObserver.swift:29:2: error: Objective-C interoperability is disabled
27 | ///
28 | /// Individual tests that need real network access call `Airgap.allowNetworkAccess()`.
29 | @objc(AirgapObserver)
   |  `- error: Objective-C interoperability is disabled
30 | open class AirgapObserver: NSObject, XCTestObservation, @unchecked Sendable {
31 |     override public init() {
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:57:76: error: cannot find type 'URLRequest' in scope
 55 |     // Captured request metadata keyed by URL string, for including body/header info in violations.
 56 |     #if compiler(>=6.0)
 57 |         private nonisolated(unsafe) static var _capturedRequests: [String: URLRequest] = [:]
    |                                                                            `- error: cannot find type 'URLRequest' in scope
 58 |     #else
 59 |         private static var _capturedRequests: [String: URLRequest] = [:]
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:64:55: error: cannot find type 'URLRequest' in scope
 62 |     // MARK: - URLProtocol overrides
 63 |
 64 |     override public static func canInit(with request: URLRequest) -> Bool {
    |                                                       `- error: cannot find type 'URLRequest' in scope
 65 |         guard isActive, !isAllowed else { return false }
 66 |
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:101:78: error: cannot find type 'URLRequest' in scope
 99 |     }
100 |
101 |     override public static func canonicalRequest(for request: URLRequest) -> URLRequest {
    |                                                                              `- error: cannot find type 'URLRequest' in scope
102 |         request
103 |     }
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:101:63: error: cannot find type 'URLRequest' in scope
 99 |     }
100 |
101 |     override public static func canonicalRequest(for request: URLRequest) -> URLRequest {
    |                                                               `- error: cannot find type 'URLRequest' in scope
102 |         request
103 |     }
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:105:26: error: method does not override any method from its superclass
103 |     }
104 |
105 |     override public func startLoading() {
    |                          `- error: method does not override any method from its superclass
106 |         let url = request.url?.absoluteString ?? "<unknown URL>"
107 |         let method = request.httpMethod ?? "GET"
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:141:26: error: method does not override any method from its superclass
139 |     }
140 |
141 |     override public func stopLoading() {
    |                          `- error: method does not override any method from its superclass
142 |         // Nothing to clean up
143 |     }
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:149:72: error: cannot find type 'URLRequest' in scope
147 |     /// Called by the swizzled `URLSessionTask.resume()` to provide accurate caller attribution.
148 |     /// These take priority over stacks captured in `canInit(with:)`.
149 |     static func storeCapturedCallStack(_ callStack: [String], request: URLRequest?, forURL urlString: String) {
    |                                                                        `- error: cannot find type 'URLRequest' in scope
150 |         lock.withLock {
151 |             _capturedCallStacks[urlString] = callStack
/host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift:8:39: error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
  6 | /// and injected into `URLSessionConfiguration.default` and `.ephemeral` via swizzling to catch
  7 | /// custom session configurations.
  8 | public final class AirgapURLProtocol: URLProtocol, @unchecked Sendable {
    |                                       `- error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
  9 |     // MARK: - Thread-safe state
 10 |
Foundation.URLProtocol:2:18: note: 'URLProtocol' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLProtocol = AnyObject
  |                  `- note: 'URLProtocol' has been explicitly marked unavailable here
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/Airgap/Airgap.swift /host/spi-builder-workspace/Sources/Airgap/AirgapObserver.swift /host/spi-builder-workspace/Sources/Airgap/AirgapTestCase.swift /host/spi-builder-workspace/Sources/Airgap/AirgapTrait.swift /host/spi-builder-workspace/Sources/Airgap/AirgapURLProtocol.swift /host/spi-builder-workspace/Sources/Airgap/AsyncMutex.swift /host/spi-builder-workspace/Sources/Airgap/Violation.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Airgap -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/Objects-normal/wasm32/Airgap_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/Objects-normal/wasm32/Modules/Airgap.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/Objects-normal/wasm32/Modules/Airgap.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/Objects-normal/wasm32/Airgap-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/Objects-normal/wasm32/Airgap-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/Objects-normal/wasm32/Airgap-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Airgap.build/Debug-webassembly-wasm32/Airgap-t.build/Objects-normal/wasm32/Modules/Airgap.swiftmodule
error: Build failed
BUILD FAILURE 6.4 wasm