Build Information
Failed to build Regulate, reference main (3dbaf3), with Swift 6.4 for Wasm on 18 Sep 2026 22:04:10 UTC.
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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sideeffect-io/Regulate.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/sideeffect-io/Regulate
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 3dbaf34 Merge pull request #1 from sideeffect-io/feature/task-extensions
Cloned https://github.com/sideeffect-io/Regulate.git
Revision (git rev-parse @):
3dbaf34cf489792e9b944be5a3aaa31e20ff5b03
SUCCESS checkout https://github.com/sideeffect-io/Regulate.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/sideeffect-io/Regulate.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: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] Regulate
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/Regulator.swift:10:46: [1;31merror: [1;39mcannot find type 'ObservableObject' in scope[0;0m
[0;36m8 |[0;0m import Foundation
[0;36m9 |[0;0m
[0;36m10 |[0;0m public protocol Regulator<Value>: AnyObject, [4;39mObservableObject[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'ObservableObject' in scope[0;0m
[0;36m11 |[0;0m associatedtype Value
[0;36m12 |[0;0m init()
/host/spi-builder-workspace/Sources/Debouncer.swift:17:14: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m15 |[0;0m /// - Returns: the debounced regulator
[0;36m16 |[0;0m static func debounce(
[0;36m17 |[0;0m dueTime: [4;39mDispatchTimeInterval[0;0m,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m18 |[0;0m output: @Sendable @escaping (Success) async -> Void
[0;36m19 |[0;0m ) -> some Regulator<Success> {
/host/spi-builder-workspace/Sources/Debouncer.swift:41:18: [1;31merror: [1;39mcannot find type 'DispatchTime' in scope[0;0m
[0;36m39 |[0;0m struct DueValue {
[0;36m40 |[0;0m let value: Value
[0;36m41 |[0;0m let dueTime: [4;39mDispatchTime[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTime' in scope[0;0m
[0;36m42 |[0;0m }
[0;36m43 |[0;0m
/host/spi-builder-workspace/Sources/Debouncer.swift:83:23: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m81 |[0;0m
[0;36m82 |[0;0m public var output: (@Sendable (Value) async -> Void)?
[0;36m83 |[0;0m public var dueTime: [4;39mDispatchTimeInterval[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m84 |[0;0m
[0;36m85 |[0;0m private let lock: os_unfair_lock_t = UnsafeMutablePointer<os_unfair_lock_s>.allocate(capacity: 1)
/host/spi-builder-workspace/Sources/Debouncer.swift:85:21: [1;31merror: [1;39mcannot find type 'os_unfair_lock_t' in scope[0;0m
[0;36m83 |[0;0m public var dueTime: DispatchTimeInterval
[0;36m84 |[0;0m
[0;36m85 |[0;0m private let lock: [4;39mos_unfair_lock_t[0;0m = UnsafeMutablePointer<os_unfair_lock_s>.allocate(capacity: 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'os_unfair_lock_t' in scope[0;0m
[0;36m86 |[0;0m private var stateMachine = StateMachine()
[0;36m87 |[0;0m private var task: Task<Void, Never>?
/host/spi-builder-workspace/Sources/Debouncer.swift:85:61: [1;31merror: [1;39mcannot find type 'os_unfair_lock_s' in scope[0;0m
[0;36m83 |[0;0m public var dueTime: DispatchTimeInterval
[0;36m84 |[0;0m
[0;36m85 |[0;0m private let lock: os_unfair_lock_t = UnsafeMutablePointer<[4;39mos_unfair_lock_s[0;0m>.allocate(capacity: 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'os_unfair_lock_s' in scope[0;0m
[0;36m86 |[0;0m private var stateMachine = StateMachine()
[0;36m87 |[0;0m private var task: Task<Void, Never>?
/host/spi-builder-workspace/Sources/Debouncer.swift:98:14: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m96 |[0;0m /// - output: the block to execute once the regulation is done
[0;36m97 |[0;0m public init(
[0;36m98 |[0;0m dueTime: [4;39mDispatchTimeInterval[0;0m,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m99 |[0;0m output: (@Sendable (Value) async -> Void)? = nil
[0;36m100 |[0;0m ) {
/host/spi-builder-workspace/Sources/Debouncer.swift:38:59: [1;31merror: [1;39mcannot find type 'ObservableObject' in scope[0;0m
[0;36m36 |[0;0m /// // will only print "99" 2 seconds after the last call to `push(_:)`
[0;36m37 |[0;0m /// ```
[0;36m38 |[0;0m public final class Debouncer<Value>: @unchecked Sendable, [4;39mObservableObject[0;0m, Regulator {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'ObservableObject' in scope[0;0m
[0;36m39 |[0;0m struct DueValue {
[0;36m40 |[0;0m let value: Value
/host/spi-builder-workspace/Sources/Regulator.swift:16:16: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m14 |[0;0m func cancel()
[0;36m15 |[0;0m var output: (@Sendable (Value) async -> Void)? { get set }
[0;36m16 |[0;0m var dueTime: [4;39mDispatchTimeInterval[0;0m { get set }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m17 |[0;0m }
[0;36m18 |[0;0m
/host/spi-builder-workspace/Sources/Supporting/DispatchTimeInterval+Nanoseconds.swift:10:11: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m8 |[0;0m import Foundation
[0;36m9 |[0;0m
[0;36m10 |[0;0m extension [4;39mDispatchTimeInterval[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m11 |[0;0m var nanoseconds: UInt64 {
[0;36m12 |[0;0m switch self {
/host/spi-builder-workspace/Sources/Throttler.swift:18:14: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m16 |[0;0m /// - Returns: the throttled regulator
[0;36m17 |[0;0m static func throttle(
[0;36m18 |[0;0m dueTime: [4;39mDispatchTimeInterval[0;0m,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m19 |[0;0m latest: Bool = true,
[0;36m20 |[0;0m output: @Sendable @escaping (Success) async -> Void
/host/spi-builder-workspace/Sources/Throttler.swift:88:23: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m86 |[0;0m
[0;36m87 |[0;0m public var output: (@Sendable (Value) async -> Void)?
[0;36m88 |[0;0m public var dueTime: [4;39mDispatchTimeInterval[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m89 |[0;0m
[0;36m90 |[0;0m private let latest: Bool
/host/spi-builder-workspace/Sources/Throttler.swift:91:21: [1;31merror: [1;39mcannot find type 'os_unfair_lock_t' in scope[0;0m
[0;36m89 |[0;0m
[0;36m90 |[0;0m private let latest: Bool
[0;36m91 |[0;0m private let lock: [4;39mos_unfair_lock_t[0;0m = UnsafeMutablePointer<os_unfair_lock_s>.allocate(capacity: 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'os_unfair_lock_t' in scope[0;0m
[0;36m92 |[0;0m private var stateMachine = StateMachine()
[0;36m93 |[0;0m private var task: Task<Void, Never>?
/host/spi-builder-workspace/Sources/Throttler.swift:91:61: [1;31merror: [1;39mcannot find type 'os_unfair_lock_s' in scope[0;0m
[0;36m89 |[0;0m
[0;36m90 |[0;0m private let latest: Bool
[0;36m91 |[0;0m private let lock: os_unfair_lock_t = UnsafeMutablePointer<[4;39mos_unfair_lock_s[0;0m>.allocate(capacity: 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'os_unfair_lock_s' in scope[0;0m
[0;36m92 |[0;0m private var stateMachine = StateMachine()
[0;36m93 |[0;0m private var task: Task<Void, Never>?
/host/spi-builder-workspace/Sources/Throttler.swift:105:14: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m103 |[0;0m /// - output: the block to execute once the regulation is done
[0;36m104 |[0;0m public init(
[0;36m105 |[0;0m dueTime: [4;39mDispatchTimeInterval[0;0m,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m106 |[0;0m latest: Bool = true,
[0;36m107 |[0;0m output: (@Sendable (Value) async -> Void)? = nil
/host/spi-builder-workspace/Sources/Throttler.swift:40:59: [1;31merror: [1;39mcannot find type 'ObservableObject' in scope[0;0m
[0;36m38 |[0;0m /// // will only print an index once every 2 seconds (the latest received index before the `tick`)
[0;36m39 |[0;0m /// ```
[0;36m40 |[0;0m public final class Throttler<Value>: @unchecked Sendable, [4;39mObservableObject[0;0m, Regulator {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'ObservableObject' in scope[0;0m
[0;36m41 |[0;0m struct StateMachine {
[0;36m42 |[0;0m enum State {
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/Debouncer.swift /host/spi-builder-workspace/Sources/Regulator.swift /host/spi-builder-workspace/Sources/Supporting/DispatchTimeInterval+Nanoseconds.swift /host/spi-builder-workspace/Sources/SwiftUI/Binding+Regulate.swift /host/spi-builder-workspace/Sources/SwiftUI/Button+Regulated.swift /host/spi-builder-workspace/Sources/SwiftUI/RegulatedButtonStyle.swift /host/spi-builder-workspace/Sources/Throttler.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 5 -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/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Regulate -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/Objects-normal/wasm32/Regulate_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/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/Objects-normal/wasm32/Modules/Regulate.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/Objects-normal/wasm32/Modules/Regulate.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/Objects-normal/wasm32/Regulate-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/Objects-normal/wasm32/Regulate-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/Objects-normal/wasm32/Regulate-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Regulate.build/Debug-webassembly-wasm32/Regulate-t.build/Objects-normal/wasm32/Modules/Regulate.swiftmodule
error: Build failed
BUILD FAILURE 6.4 wasm