Build Information
Failed to build SwiftExecutors, reference main (165c31), with Swift 6.1 for Wasm on 2 Dec 2025 01:44:00 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/Kosikowski/swift-executors.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/Kosikowski/swift-executors
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 165c316 Bump actions/checkout from 5 to 6 (#2)
Cloned https://github.com/Kosikowski/swift-executors.git
Revision (git rev-parse @):
165c31646782b30d6eca7f32cfec7810a17e60f1
SUCCESS checkout https://github.com/Kosikowski/swift-executors.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/Kosikowski/swift-executors.git
https://github.com/Kosikowski/swift-executors.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "SwiftExecutors",
"name" : "SwiftExecutors",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "18.0"
},
{
"name" : "macos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "SwiftExecutors",
"targets" : [
"SwiftExecutors"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwiftExecutorsCLI",
"targets" : [
"SwiftExecutorsCLI"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "SwiftExecutorsTests",
"module_type" : "SwiftTarget",
"name" : "SwiftExecutorsTests",
"path" : "Tests/SwiftExecutorsTests",
"sources" : [
"DispatchQueueTaskExecutorTests.swift",
"QueueTaskExecutorTests.swift",
"ThreadExecutorTests.swift"
],
"target_dependencies" : [
"SwiftExecutors"
],
"type" : "test"
},
{
"c99name" : "SwiftExecutorsCLI",
"module_type" : "SwiftTarget",
"name" : "SwiftExecutorsCLI",
"path" : "Sources/SwiftExecutorsCLI",
"product_memberships" : [
"SwiftExecutorsCLI"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SwiftExecutors"
],
"type" : "executable"
},
{
"c99name" : "SwiftExecutors",
"module_type" : "SwiftTarget",
"name" : "SwiftExecutors",
"path" : "Sources/SwiftExecutors",
"product_memberships" : [
"SwiftExecutors",
"SwiftExecutorsCLI"
],
"sources" : [
"DispatchQueueTaskExecutor.swift",
"QueueTaskExecutor.swift",
"ThreadExecutor.swift"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
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:4dfe22dedd7a52399668938cbd466a34545eff77bced906005dc4032a6549d90
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/7] Write sources
[2/7] Write swift-version-24593BA9C3E375BF.txt
[4/11] Compiling SwiftExecutors QueueTaskExecutor.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:17:24: error: cannot find type 'OperationQueue' in scope
15 | public final class QueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private operation queue used as the underlying thread pool.
17 | private let queue: OperationQueue
| `- error: cannot find type 'OperationQueue' in scope
18 |
19 | /// Creates a new task executor backed by an NSOperationQueue.
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:26:38: error: cannot find 'OperationQueue' in scope
24 | /// - qos: Quality of service for priority handling (e.g. `.userInitiated`, `.background`).
25 | public init(label: String = "TaskExec",
26 | maxConcurrent: Int = OperationQueue.defaultMaxConcurrentOperationCount,
| `- error: cannot find 'OperationQueue' in scope
27 | qos: QualityOfService = .default)
28 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:29:17: error: cannot find 'OperationQueue' in scope
27 | qos: QualityOfService = .default)
28 | {
29 | queue = OperationQueue()
| `- error: cannot find 'OperationQueue' in scope
30 | queue.name = label
31 | queue.maxConcurrentOperationCount = maxConcurrent // Throttle concurrency at the queue level
[5/11] Compiling SwiftExecutors ThreadExecutor.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:21:25: error: cannot find type 'Thread' in scope
19 | public final class ThreadExecutor: SerialExecutor, @unchecked Sendable {
20 | /// The long-lived worker thread. Lives for the lifetime of the executor.
21 | private var thread: Thread!
| `- error: cannot find type 'Thread' in scope
22 |
23 | /// Exposes the thread for testing purposes only.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:25:28: error: cannot find type 'Thread' in scope
23 | /// Exposes the thread for testing purposes only.
24 | @_spi(ThreadExecutorTesting)
25 | public var testThread: Thread {
| `- error: cannot find type 'Thread' in scope
26 | thread
27 | }
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
30 | /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
31 | /// and is guaranteed to exist before `init` returns.
32 | private var runLoop: CFRunLoop!
| `- error: cannot find type 'CFRunLoop' in scope
33 |
34 | /// Spins up the thread & run-loop pair exactly once.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:121:11: error: cannot find type 'Thread' in scope
119 | }
120 |
121 | extension Thread {
| `- error: cannot find type 'Thread' in scope
122 | static var currentQos: QualityOfService {
123 | switch qos_class_self() {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:42:21: error: cannot find 'DispatchSemaphore' in scope
40 | // Step 1: A semaphore so the main thread can wait until the worker
41 | // thread has captured its run-loop.
42 | let ready = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
43 |
44 | // Step 2: Define the thread body - this runs *on the new thread*.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:45:22: error: cannot find 'Thread' in scope
43 |
44 | // Step 2: Define the thread body - this runs *on the new thread*.
45 | let thread = Thread { [weak self] in
| `- error: cannot find 'Thread' in scope
46 | // Save the run-loop so enqueue(_:) can get to it later.
47 | self?.runLoop = CFRunLoopGetCurrent()
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:47:29: error: cannot find 'CFRunLoopGetCurrent' in scope
45 | let thread = Thread { [weak self] in
46 | // Save the run-loop so enqueue(_:) can get to it later.
47 | self?.runLoop = CFRunLoopGetCurrent()
| `- error: cannot find 'CFRunLoopGetCurrent' in scope
48 |
49 | // Tell the main thread the run-loop is ready to accept work.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:54:13: error: cannot find 'CFRunLoopRun' in scope
52 | // Start the run-loop. From here on the thread parks inside
53 | // the CFRunLoop event pump until we stop it in deinit.
54 | CFRunLoopRun()
| `- error: cannot find 'CFRunLoopRun' in scope
55 | }
56 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:59:35: error: cannot find 'Thread' in scope
57 | // Step 3: Human-readable thread label for debuggers & Instruments.
58 | thread.name = name
59 | thread.qualityOfService = Thread.currentQos // Inherit caller's QoS
| `- error: cannot find 'Thread' in scope
60 | // To prevent priority inversion set to .userInteractive
61 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:87:9: error: cannot find 'CFRunLoopPerformBlock' in scope
85 | // 3. Ask the run-loop to perform the block on its own thread.
86 | // `defaultMode` is fine; if you need a custom mode, pass it here.
87 | CFRunLoopPerformBlock(runLoop,
| `- error: cannot find 'CFRunLoopPerformBlock' in scope
88 | CFRunLoopMode.defaultMode.rawValue)
89 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:88:31: error: cannot find 'CFRunLoopMode' in scope
86 | // `defaultMode` is fine; if you need a custom mode, pass it here.
87 | CFRunLoopPerformBlock(runLoop,
88 | CFRunLoopMode.defaultMode.rawValue)
| `- error: cannot find 'CFRunLoopMode' in scope
89 | {
90 | // 3a. Finally run the job on the target thread.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:96:9: error: cannot find 'CFRunLoopWakeUp' in scope
94 |
95 | // 4. In case the run-loop is napping, prod it so it wakes up soon.
96 | CFRunLoopWakeUp(runLoop)
| `- error: cannot find 'CFRunLoopWakeUp' in scope
97 | }
98 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:109:9: error: cannot find 'CFRunLoopPerformBlock' in scope
107 | // Gracefully stop the run-loop *on its own thread*.
108 | // We can't call CFRunLoopStop() from a different thread.
109 | CFRunLoopPerformBlock(runLoop,
| `- error: cannot find 'CFRunLoopPerformBlock' in scope
110 | CFRunLoopMode.defaultMode.rawValue)
111 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:110:31: error: cannot find 'CFRunLoopMode' in scope
108 | // We can't call CFRunLoopStop() from a different thread.
109 | CFRunLoopPerformBlock(runLoop,
110 | CFRunLoopMode.defaultMode.rawValue)
| `- error: cannot find 'CFRunLoopMode' in scope
111 | {
112 | CFRunLoopStop(self.runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:112:13: error: cannot find 'CFRunLoopStop' in scope
110 | CFRunLoopMode.defaultMode.rawValue)
111 | {
112 | CFRunLoopStop(self.runLoop)
| `- error: cannot find 'CFRunLoopStop' in scope
113 | }
114 | CFRunLoopWakeUp(runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:114:9: error: cannot find 'CFRunLoopWakeUp' in scope
112 | CFRunLoopStop(self.runLoop)
113 | }
114 | CFRunLoopWakeUp(runLoop)
| `- error: cannot find 'CFRunLoopWakeUp' in scope
115 |
116 | // Mark the thread as cancelled so well-behaved APIs can bail out.
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/11] Compiling SwiftExecutors DispatchQueueTaskExecutor.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | public final class DispatchQueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private dispatch queue used as the underlying thread pool.
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 |
19 | /// Creates a new task executor backed by a GCD dispatch queue.
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:27:22: error: cannot find type 'DispatchQoS' in scope
25 | /// - target: Target queue for execution (nil for default).
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:28:29: error: cannot find type 'DispatchQueue' in scope
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
| `- error: cannot find type 'DispatchQueue' in scope
29 | target: DispatchQueue? = nil)
30 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:29:25: error: cannot find type 'DispatchQueue' in scope
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
30 | {
31 | queue = DispatchQueue(
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:46:34: error: cannot find type 'DispatchQoS' in scope
44 | /// - target: Target queue for execution (nil for default).
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
47 | target: DispatchQueue? = nil)
48 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:47:37: error: cannot find type 'DispatchQueue' in scope
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
47 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
48 | {
49 | self.init(label: concurrentLabel, qos: qos, attributes: .concurrent, target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:59:34: error: cannot find type 'DispatchQoS' in scope
57 | /// - target: Target queue for execution (nil for default).
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
60 | target: DispatchQueue? = nil)
61 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:60:37: error: cannot find type 'DispatchQueue' in scope
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
60 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
61 | {
62 | self.init(label: serialLabel, qos: qos, attributes: [], target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:31:17: error: cannot find 'DispatchQueue' in scope
29 | target: DispatchQueue? = nil)
30 | {
31 | queue = DispatchQueue(
| `- error: cannot find 'DispatchQueue' in scope
32 | label: label,
33 | qos: qos,
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:49:66: error: cannot infer contextual base in reference to member 'concurrent'
47 | target: DispatchQueue? = nil)
48 | {
49 | self.init(label: concurrentLabel, qos: qos, attributes: .concurrent, target: target)
| `- error: cannot infer contextual base in reference to member 'concurrent'
50 | }
51 |
[7/11] Emitting module SwiftExecutors
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | public final class DispatchQueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private dispatch queue used as the underlying thread pool.
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 |
19 | /// Creates a new task executor backed by a GCD dispatch queue.
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:27:22: error: cannot find type 'DispatchQoS' in scope
25 | /// - target: Target queue for execution (nil for default).
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:28:29: error: cannot find type 'DispatchQueue' in scope
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
| `- error: cannot find type 'DispatchQueue' in scope
29 | target: DispatchQueue? = nil)
30 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:29:25: error: cannot find type 'DispatchQueue' in scope
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
30 | {
31 | queue = DispatchQueue(
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:46:34: error: cannot find type 'DispatchQoS' in scope
44 | /// - target: Target queue for execution (nil for default).
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
47 | target: DispatchQueue? = nil)
48 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:47:37: error: cannot find type 'DispatchQueue' in scope
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
47 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
48 | {
49 | self.init(label: concurrentLabel, qos: qos, attributes: .concurrent, target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:59:34: error: cannot find type 'DispatchQoS' in scope
57 | /// - target: Target queue for execution (nil for default).
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
60 | target: DispatchQueue? = nil)
61 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:60:37: error: cannot find type 'DispatchQueue' in scope
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
60 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
61 | {
62 | self.init(label: serialLabel, qos: qos, attributes: [], target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:17:24: error: cannot find type 'OperationQueue' in scope
15 | public final class QueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private operation queue used as the underlying thread pool.
17 | private let queue: OperationQueue
| `- error: cannot find type 'OperationQueue' in scope
18 |
19 | /// Creates a new task executor backed by an NSOperationQueue.
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:26:38: error: cannot find 'OperationQueue' in scope
24 | /// - qos: Quality of service for priority handling (e.g. `.userInitiated`, `.background`).
25 | public init(label: String = "TaskExec",
26 | maxConcurrent: Int = OperationQueue.defaultMaxConcurrentOperationCount,
| `- error: cannot find 'OperationQueue' in scope
27 | qos: QualityOfService = .default)
28 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:21:25: error: cannot find type 'Thread' in scope
19 | public final class ThreadExecutor: SerialExecutor, @unchecked Sendable {
20 | /// The long-lived worker thread. Lives for the lifetime of the executor.
21 | private var thread: Thread!
| `- error: cannot find type 'Thread' in scope
22 |
23 | /// Exposes the thread for testing purposes only.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:25:28: error: cannot find type 'Thread' in scope
23 | /// Exposes the thread for testing purposes only.
24 | @_spi(ThreadExecutorTesting)
25 | public var testThread: Thread {
| `- error: cannot find type 'Thread' in scope
26 | thread
27 | }
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
30 | /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
31 | /// and is guaranteed to exist before `init` returns.
32 | private var runLoop: CFRunLoop!
| `- error: cannot find type 'CFRunLoop' in scope
33 |
34 | /// Spins up the thread & run-loop pair exactly once.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:121:11: error: cannot find type 'Thread' in scope
119 | }
120 |
121 | extension Thread {
| `- error: cannot find type 'Thread' in scope
122 | static var currentQos: QualityOfService {
123 | switch qos_class_self() {
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:4dfe22dedd7a52399668938cbd466a34545eff77bced906005dc4032a6549d90
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/5] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling SwiftExecutors ThreadExecutor.swift
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:21:25: error: cannot find type 'Thread' in scope
19 | public final class ThreadExecutor: SerialExecutor, @unchecked Sendable {
20 | /// The long-lived worker thread. Lives for the lifetime of the executor.
21 | private var thread: Thread!
| `- error: cannot find type 'Thread' in scope
22 |
23 | /// Exposes the thread for testing purposes only.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:25:28: error: cannot find type 'Thread' in scope
23 | /// Exposes the thread for testing purposes only.
24 | @_spi(ThreadExecutorTesting)
25 | public var testThread: Thread {
| `- error: cannot find type 'Thread' in scope
26 | thread
27 | }
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
30 | /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
31 | /// and is guaranteed to exist before `init` returns.
32 | private var runLoop: CFRunLoop!
| `- error: cannot find type 'CFRunLoop' in scope
33 |
34 | /// Spins up the thread & run-loop pair exactly once.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:121:11: error: cannot find type 'Thread' in scope
119 | }
120 |
121 | extension Thread {
| `- error: cannot find type 'Thread' in scope
122 | static var currentQos: QualityOfService {
123 | switch qos_class_self() {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:42:21: error: cannot find 'DispatchSemaphore' in scope
40 | // Step 1: A semaphore so the main thread can wait until the worker
41 | // thread has captured its run-loop.
42 | let ready = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
43 |
44 | // Step 2: Define the thread body - this runs *on the new thread*.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:45:22: error: cannot find 'Thread' in scope
43 |
44 | // Step 2: Define the thread body - this runs *on the new thread*.
45 | let thread = Thread { [weak self] in
| `- error: cannot find 'Thread' in scope
46 | // Save the run-loop so enqueue(_:) can get to it later.
47 | self?.runLoop = CFRunLoopGetCurrent()
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:47:29: error: cannot find 'CFRunLoopGetCurrent' in scope
45 | let thread = Thread { [weak self] in
46 | // Save the run-loop so enqueue(_:) can get to it later.
47 | self?.runLoop = CFRunLoopGetCurrent()
| `- error: cannot find 'CFRunLoopGetCurrent' in scope
48 |
49 | // Tell the main thread the run-loop is ready to accept work.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:54:13: error: cannot find 'CFRunLoopRun' in scope
52 | // Start the run-loop. From here on the thread parks inside
53 | // the CFRunLoop event pump until we stop it in deinit.
54 | CFRunLoopRun()
| `- error: cannot find 'CFRunLoopRun' in scope
55 | }
56 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:59:35: error: cannot find 'Thread' in scope
57 | // Step 3: Human-readable thread label for debuggers & Instruments.
58 | thread.name = name
59 | thread.qualityOfService = Thread.currentQos // Inherit caller's QoS
| `- error: cannot find 'Thread' in scope
60 | // To prevent priority inversion set to .userInteractive
61 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:87:9: error: cannot find 'CFRunLoopPerformBlock' in scope
85 | // 3. Ask the run-loop to perform the block on its own thread.
86 | // `defaultMode` is fine; if you need a custom mode, pass it here.
87 | CFRunLoopPerformBlock(runLoop,
| `- error: cannot find 'CFRunLoopPerformBlock' in scope
88 | CFRunLoopMode.defaultMode.rawValue)
89 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:88:31: error: cannot find 'CFRunLoopMode' in scope
86 | // `defaultMode` is fine; if you need a custom mode, pass it here.
87 | CFRunLoopPerformBlock(runLoop,
88 | CFRunLoopMode.defaultMode.rawValue)
| `- error: cannot find 'CFRunLoopMode' in scope
89 | {
90 | // 3a. Finally run the job on the target thread.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:96:9: error: cannot find 'CFRunLoopWakeUp' in scope
94 |
95 | // 4. In case the run-loop is napping, prod it so it wakes up soon.
96 | CFRunLoopWakeUp(runLoop)
| `- error: cannot find 'CFRunLoopWakeUp' in scope
97 | }
98 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:109:9: error: cannot find 'CFRunLoopPerformBlock' in scope
107 | // Gracefully stop the run-loop *on its own thread*.
108 | // We can't call CFRunLoopStop() from a different thread.
109 | CFRunLoopPerformBlock(runLoop,
| `- error: cannot find 'CFRunLoopPerformBlock' in scope
110 | CFRunLoopMode.defaultMode.rawValue)
111 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:110:31: error: cannot find 'CFRunLoopMode' in scope
108 | // We can't call CFRunLoopStop() from a different thread.
109 | CFRunLoopPerformBlock(runLoop,
110 | CFRunLoopMode.defaultMode.rawValue)
| `- error: cannot find 'CFRunLoopMode' in scope
111 | {
112 | CFRunLoopStop(self.runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:112:13: error: cannot find 'CFRunLoopStop' in scope
110 | CFRunLoopMode.defaultMode.rawValue)
111 | {
112 | CFRunLoopStop(self.runLoop)
| `- error: cannot find 'CFRunLoopStop' in scope
113 | }
114 | CFRunLoopWakeUp(runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:114:9: error: cannot find 'CFRunLoopWakeUp' in scope
112 | CFRunLoopStop(self.runLoop)
113 | }
114 | CFRunLoopWakeUp(runLoop)
| `- error: cannot find 'CFRunLoopWakeUp' in scope
115 |
116 | // Mark the thread as cancelled so well-behaved APIs can bail out.
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/9] Emitting module SwiftExecutors
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | public final class DispatchQueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private dispatch queue used as the underlying thread pool.
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 |
19 | /// Creates a new task executor backed by a GCD dispatch queue.
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:27:22: error: cannot find type 'DispatchQoS' in scope
25 | /// - target: Target queue for execution (nil for default).
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:28:29: error: cannot find type 'DispatchQueue' in scope
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
| `- error: cannot find type 'DispatchQueue' in scope
29 | target: DispatchQueue? = nil)
30 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:29:25: error: cannot find type 'DispatchQueue' in scope
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
30 | {
31 | queue = DispatchQueue(
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:46:34: error: cannot find type 'DispatchQoS' in scope
44 | /// - target: Target queue for execution (nil for default).
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
47 | target: DispatchQueue? = nil)
48 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:47:37: error: cannot find type 'DispatchQueue' in scope
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
47 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
48 | {
49 | self.init(label: concurrentLabel, qos: qos, attributes: .concurrent, target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:59:34: error: cannot find type 'DispatchQoS' in scope
57 | /// - target: Target queue for execution (nil for default).
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
60 | target: DispatchQueue? = nil)
61 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:60:37: error: cannot find type 'DispatchQueue' in scope
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
60 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
61 | {
62 | self.init(label: serialLabel, qos: qos, attributes: [], target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:17:24: error: cannot find type 'OperationQueue' in scope
15 | public final class QueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private operation queue used as the underlying thread pool.
17 | private let queue: OperationQueue
| `- error: cannot find type 'OperationQueue' in scope
18 |
19 | /// Creates a new task executor backed by an NSOperationQueue.
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:26:38: error: cannot find 'OperationQueue' in scope
24 | /// - qos: Quality of service for priority handling (e.g. `.userInitiated`, `.background`).
25 | public init(label: String = "TaskExec",
26 | maxConcurrent: Int = OperationQueue.defaultMaxConcurrentOperationCount,
| `- error: cannot find 'OperationQueue' in scope
27 | qos: QualityOfService = .default)
28 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:21:25: error: cannot find type 'Thread' in scope
19 | public final class ThreadExecutor: SerialExecutor, @unchecked Sendable {
20 | /// The long-lived worker thread. Lives for the lifetime of the executor.
21 | private var thread: Thread!
| `- error: cannot find type 'Thread' in scope
22 |
23 | /// Exposes the thread for testing purposes only.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:25:28: error: cannot find type 'Thread' in scope
23 | /// Exposes the thread for testing purposes only.
24 | @_spi(ThreadExecutorTesting)
25 | public var testThread: Thread {
| `- error: cannot find type 'Thread' in scope
26 | thread
27 | }
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
30 | /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
31 | /// and is guaranteed to exist before `init` returns.
32 | private var runLoop: CFRunLoop!
| `- error: cannot find type 'CFRunLoop' in scope
33 |
34 | /// Spins up the thread & run-loop pair exactly once.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:121:11: error: cannot find type 'Thread' in scope
119 | }
120 |
121 | extension Thread {
| `- error: cannot find type 'Thread' in scope
122 | static var currentQos: QualityOfService {
123 | switch qos_class_self() {
[4/9] Compiling SwiftExecutors DispatchQueueTaskExecutor.swift
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | public final class DispatchQueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private dispatch queue used as the underlying thread pool.
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 |
19 | /// Creates a new task executor backed by a GCD dispatch queue.
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:27:22: error: cannot find type 'DispatchQoS' in scope
25 | /// - target: Target queue for execution (nil for default).
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:28:29: error: cannot find type 'DispatchQueue' in scope
26 | public init(label: String = "DispatchTaskExec",
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
| `- error: cannot find type 'DispatchQueue' in scope
29 | target: DispatchQueue? = nil)
30 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:29:25: error: cannot find type 'DispatchQueue' in scope
27 | qos: DispatchQoS = .default,
28 | attributes: DispatchQueue.Attributes = [],
29 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
30 | {
31 | queue = DispatchQueue(
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:46:34: error: cannot find type 'DispatchQoS' in scope
44 | /// - target: Target queue for execution (nil for default).
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
47 | target: DispatchQueue? = nil)
48 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:47:37: error: cannot find type 'DispatchQueue' in scope
45 | public convenience init(concurrentLabel: String = "ConcurrentDispatchExec",
46 | qos: DispatchQoS = .default,
47 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
48 | {
49 | self.init(label: concurrentLabel, qos: qos, attributes: .concurrent, target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:59:34: error: cannot find type 'DispatchQoS' in scope
57 | /// - target: Target queue for execution (nil for default).
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
60 | target: DispatchQueue? = nil)
61 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:60:37: error: cannot find type 'DispatchQueue' in scope
58 | public convenience init(serialLabel: String = "SerialDispatchExec",
59 | qos: DispatchQoS = .default,
60 | target: DispatchQueue? = nil)
| `- error: cannot find type 'DispatchQueue' in scope
61 | {
62 | self.init(label: serialLabel, qos: qos, attributes: [], target: target)
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:31:17: error: cannot find 'DispatchQueue' in scope
29 | target: DispatchQueue? = nil)
30 | {
31 | queue = DispatchQueue(
| `- error: cannot find 'DispatchQueue' in scope
32 | label: label,
33 | qos: qos,
/host/spi-builder-workspace/Sources/SwiftExecutors/DispatchQueueTaskExecutor.swift:49:66: error: cannot infer contextual base in reference to member 'concurrent'
47 | target: DispatchQueue? = nil)
48 | {
49 | self.init(label: concurrentLabel, qos: qos, attributes: .concurrent, target: target)
| `- error: cannot infer contextual base in reference to member 'concurrent'
50 | }
51 |
[5/9] Compiling SwiftExecutors QueueTaskExecutor.swift
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:17:24: error: cannot find type 'OperationQueue' in scope
15 | public final class QueueTaskExecutor: TaskExecutor, @unchecked Sendable {
16 | /// Private operation queue used as the underlying thread pool.
17 | private let queue: OperationQueue
| `- error: cannot find type 'OperationQueue' in scope
18 |
19 | /// Creates a new task executor backed by an NSOperationQueue.
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:26:38: error: cannot find 'OperationQueue' in scope
24 | /// - qos: Quality of service for priority handling (e.g. `.userInitiated`, `.background`).
25 | public init(label: String = "TaskExec",
26 | maxConcurrent: Int = OperationQueue.defaultMaxConcurrentOperationCount,
| `- error: cannot find 'OperationQueue' in scope
27 | qos: QualityOfService = .default)
28 | {
/host/spi-builder-workspace/Sources/SwiftExecutors/QueueTaskExecutor.swift:29:17: error: cannot find 'OperationQueue' in scope
27 | qos: QualityOfService = .default)
28 | {
29 | queue = OperationQueue()
| `- error: cannot find 'OperationQueue' in scope
30 | queue.name = label
31 | queue.maxConcurrentOperationCount = maxConcurrent // Throttle concurrency at the queue level
BUILD FAILURE 6.1 wasm