Build Information
Failed to build YFlow, reference main (ffb4d0), with Swift 6.1 for Wasm on 21 Oct 2025 06:24:52 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/SeeyouYsen/YFlow.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/SeeyouYsen/YFlow
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ffb4d07 Update Stream.swift
Cloned https://github.com/SeeyouYsen/YFlow.git
Revision (git rev-parse @):
ffb4d076f4287ee948cb6fa87bad763bd583e354
SUCCESS checkout https://github.com/SeeyouYsen/YFlow.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/SeeyouYsen/YFlow.git
https://github.com/SeeyouYsen/YFlow.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "YFlow",
"name" : "YFlow",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "16.0"
}
],
"products" : [
{
"name" : "YFlow",
"targets" : [
"YFlow"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "YFlowTests",
"module_type" : "SwiftTarget",
"name" : "YFlowTests",
"path" : "Tests/YFlowTests",
"sources" : [
"CompleterTests.swift",
"StreamTests.swift"
],
"target_dependencies" : [
"YFlow"
],
"type" : "test"
},
{
"c99name" : "YFlow",
"module_type" : "SwiftTarget",
"name" : "YFlow",
"path" : "Sources/YFlow",
"product_memberships" : [
"YFlow"
],
"sources" : [
"Completer.swift",
"Stream.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:062e4aaff76454b333ce7957a8e87c3beb342f1dedb64399abb81cdea021b526
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/5] Compiling YFlow Stream.swift
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:25: error: cannot find 'DispatchQueue' in scope
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot find 'DispatchQueue' in scope
61 |
62 | /// Flag indicating whether the stream has been cancelled
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:75: error: cannot infer contextual base in reference to member 'concurrent'
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
61 |
62 | /// Flag indicating whether the stream has been cancelled
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:74:29: error: cannot infer contextual base in reference to member 'barrier'
72 | public func cancel() {
73 | isCancelled = true
74 | queue.async(flags: .barrier) {
| `- error: cannot infer contextual base in reference to member 'barrier'
75 | self.listeners.removeAll()
76 | }
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:101:28: error: cannot infer contextual base in reference to member 'barrier'
99 | let wrapper = ListenerWrapper(listener)
100 |
101 | queue.sync(flags: .barrier) {
| `- error: cannot infer contextual base in reference to member 'barrier'
102 | self.listeners.append(wrapper)
103 | }
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:113:29: error: cannot infer contextual base in reference to member 'barrier'
111 | /// - Parameter wrapper: The listener wrapper to remove
112 | private func removeListener(_ wrapper: ListenerWrapper<T>) {
113 | queue.async(flags: .barrier) {
| `- error: cannot infer contextual base in reference to member 'barrier'
114 | self.listeners.removeAll { $0 === wrapper }
115 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/5] Compiling YFlow Completer.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:35:13: warning: cannot access property 'completions' with a non-sendable type '[Completer<T>.Completion]' (aka 'Array<(Result<T, any Error>) -> ()>') from nonisolated deinit; this is an error in the Swift 6 language mode
33 | /// Notifies all pending completions with an error if the completer was never completed
34 | deinit {
35 | if !completions.isEmpty {
| `- warning: cannot access property 'completions' with a non-sendable type '[Completer<T>.Completion]' (aka 'Array<(Result<T, any Error>) -> ()>') from nonisolated deinit; this is an error in the Swift 6 language mode
36 | let destroyedError = NSError(
37 | domain: "Completer",
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:41:31: warning: cannot access property 'completions' with a non-sendable type '[Completer<T>.Completion]' (aka 'Array<(Result<T, any Error>) -> ()>') from nonisolated deinit; this is an error in the Swift 6 language mode
39 | userInfo: [NSLocalizedDescriptionKey: "Completer was deallocated before completion"]
40 | )
41 | for completion in completions {
| `- warning: cannot access property 'completions' with a non-sendable type '[Completer<T>.Completion]' (aka 'Array<(Result<T, any Error>) -> ()>') from nonisolated deinit; this is an error in the Swift 6 language mode
42 | completion(.failure(destroyedError))
43 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:45:9: warning: cannot access property 'completions' with a non-sendable type '[Completer<T>.Completion]' (aka 'Array<(Result<T, any Error>) -> ()>') from nonisolated deinit; this is an error in the Swift 6 language mode
43 | }
44 | }
45 | completions.removeAll()
| `- warning: cannot access property 'completions' with a non-sendable type '[Completer<T>.Completion]' (aka 'Array<(Result<T, any Error>) -> ()>') from nonisolated deinit; this is an error in the Swift 6 language mode
46 | }
47 |
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:81:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
79 | /// - Parameter result: The value to complete with
80 | nonisolated public func completeSync(_ result: T) {
81 | Task { await complete(result) }
| | `- note: closure captures 'result' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
82 | }
83 |
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:81:22: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
79 | /// - Parameter result: The value to complete with
80 | nonisolated public func completeSync(_ result: T) {
81 | Task { await complete(result) }
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'result' to actor-isolated instance method 'complete' risks causing data races between actor-isolated and task-isolated uses
82 | }
83 |
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:118:31: warning: sending value of non-Sendable type '() async -> Void' risks causing data races; this is an error in the Swift 6 language mode
116 |
117 | if let timeout = timeout {
118 | timeoutTask = Task {
| |- warning: sending value of non-Sendable type '() async -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: Passing 'self'-isolated value of non-Sendable type '() async -> Void' as a 'sending' parameter risks causing races inbetween 'self'-isolated uses and uses reachable from the callee
119 | try? await Task.sleep(for: timeout)
120 | guard !isResolved else { return }
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:112:56: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
110 | timeoutTask?.cancel()
111 | switch result {
112 | case .success(let value): continuation.resume(returning: value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
113 | case .failure(let error): continuation.resume(throwing: error)
114 | }
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:155:36: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
153 |
154 | if let timeout = timeout {
155 | timeoutTask = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
156 | try? await Task.sleep(for: timeout)
157 | guard !isResolved else { return }
158 | isResolved = true
159 | onError(
| `- note: closure captures 'self'-isolated 'onError'
160 | NSError(
161 | domain: "Future", code: 1,
/host/spi-builder-workspace/Sources/YFlow/Completer.swift:147:56: warning: sending value of non-Sendable type 'T' risks causing data races; this is an error in the Swift 6 language mode
145 | timeoutTask?.cancel()
146 | switch result {
147 | case .success(let value): continuation.resume(returning: value)
| |- warning: sending value of non-Sendable type 'T' risks causing data races; this is an error in the Swift 6 language mode
| `- note: Passing task-isolated value of non-Sendable type 'T' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
148 | case .failure(let error):
149 | onError(error)
[5/5] Emitting module YFlow
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:25: error: cannot find 'DispatchQueue' in scope
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot find 'DispatchQueue' in scope
61 |
62 | /// Flag indicating whether the stream has been cancelled
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:75: error: cannot infer contextual base in reference to member 'concurrent'
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
61 |
62 | /// Flag indicating whether the stream has been cancelled
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:062e4aaff76454b333ce7957a8e87c3beb342f1dedb64399abb81cdea021b526
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/4] Compiling YFlow Completer.swift
[3/4] Emitting module YFlow
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:25: error: cannot find 'DispatchQueue' in scope
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot find 'DispatchQueue' in scope
61 |
62 | /// Flag indicating whether the stream has been cancelled
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:75: error: cannot infer contextual base in reference to member 'concurrent'
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
61 |
62 | /// Flag indicating whether the stream has been cancelled
[4/4] Compiling YFlow Stream.swift
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:25: error: cannot find 'DispatchQueue' in scope
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot find 'DispatchQueue' in scope
61 |
62 | /// Flag indicating whether the stream has been cancelled
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:60:75: error: cannot infer contextual base in reference to member 'concurrent'
58 |
59 | /// Concurrent dispatch queue for thread-safe listener management
60 | private let queue = DispatchQueue(label: "Stream.queue", attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
61 |
62 | /// Flag indicating whether the stream has been cancelled
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:74:29: error: cannot infer contextual base in reference to member 'barrier'
72 | public func cancel() {
73 | isCancelled = true
74 | queue.async(flags: .barrier) {
| `- error: cannot infer contextual base in reference to member 'barrier'
75 | self.listeners.removeAll()
76 | }
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:101:28: error: cannot infer contextual base in reference to member 'barrier'
99 | let wrapper = ListenerWrapper(listener)
100 |
101 | queue.sync(flags: .barrier) {
| `- error: cannot infer contextual base in reference to member 'barrier'
102 | self.listeners.append(wrapper)
103 | }
/host/spi-builder-workspace/Sources/YFlow/Stream.swift:113:29: error: cannot infer contextual base in reference to member 'barrier'
111 | /// - Parameter wrapper: The listener wrapper to remove
112 | private func removeListener(_ wrapper: ListenerWrapper<T>) {
113 | queue.async(flags: .barrier) {
| `- error: cannot infer contextual base in reference to member 'barrier'
114 | self.listeners.removeAll { $0 === wrapper }
115 | }
BUILD FAILURE 6.1 wasm