Build Information
Failed to build Timers, reference main (d77a85
), with Swift 6.1 for Wasm on 28 May 2025 17:34:15 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dreymonde/Timers.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/dreymonde/Timers
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d77a85c update README
Cloned https://github.com/dreymonde/Timers.git
Revision (git rev-parse @):
d77a85ca78b724d8f444fb0d9f6ddb33d0acc06e
SUCCESS checkout https://github.com/dreymonde/Timers.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/dreymonde/Timers.git
https://github.com/dreymonde/Timers.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Timers",
"name" : "Timers",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Timers",
"targets" : [
"Timers"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TimersTests",
"module_type" : "SwiftTarget",
"name" : "TimersTests",
"path" : "Tests/TimersTests",
"sources" : [
"TimersTests.swift"
],
"target_dependencies" : [
"Timers"
],
"type" : "test"
},
{
"c99name" : "Timers",
"module_type" : "SwiftTarget",
"name" : "Timers",
"path" : "Sources/Timers",
"product_memberships" : [
"Timers"
],
"sources" : [
"Timers.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" 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:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module Timers
/host/spi-builder-workspace/Sources/Timers/Timers.swift:25:29: error: 'main' is unavailable: RunLoop is not available on WASI
23 | extension Timers {
24 | public func manuallyAddTimer(
25 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
26 | runLoopMode: RunLoop.Mode = .common,
27 | timer: Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/Timers/Timers.swift:38:29: error: 'main' is unavailable: RunLoop is not available on WASI
36 | withTarget target: TargetType,
37 | handler: @escaping (TargetType, Timer) -> Void,
38 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
39 | runLoopMode: RunLoop.Mode = .common,
40 | makeTimer: @escaping (_ timerBlock: @escaping TimerBlock) -> Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
[4/4] Compiling Timers Timers.swift
/host/spi-builder-workspace/Sources/Timers/Timers.swift:25:29: error: 'main' is unavailable: RunLoop is not available on WASI
23 | extension Timers {
24 | public func manuallyAddTimer(
25 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
26 | runLoopMode: RunLoop.Mode = .common,
27 | timer: Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/Timers/Timers.swift:38:29: error: 'main' is unavailable: RunLoop is not available on WASI
36 | withTarget target: TargetType,
37 | handler: @escaping (TargetType, Timer) -> Void,
38 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
39 | runLoopMode: RunLoop.Mode = .common,
40 | makeTimer: @escaping (_ timerBlock: @escaping TimerBlock) -> Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/Timers/Timers.swift:29:17: error: value of type 'RunLoop' has no member 'add'
27 | timer: Timer
28 | ) {
29 | runLoop.add(timer, forMode: runLoopMode)
| `- error: value of type 'RunLoop' has no member 'add'
30 | timers.append(timer)
31 | }
/host/spi-builder-workspace/Sources/Timers/Timers.swift:65:81: warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
62 | handler: @escaping (TargetType, Timer) -> Void
63 | ) {
64 | addCustomTimer(withTarget: target, handler: handler) { timerBlock in
| `- note: parameter 'timerBlock' is implicitly non-sendable
65 | let timer = Timer(timeInterval: timeInterval, repeats: true, block: timerBlock)
| `- warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
66 | timer.tolerance = tolerance
67 | return timer
/host/spi-builder-workspace/Sources/Timers/Timers.swift:102:28: warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
95 | withTarget: target,
96 | handler: handler,
97 | makeTimer: { timerBlock in
| `- note: parameter 'timerBlock' is implicitly non-sendable
98 | let timer = Timer(
99 | fire: fireAt,
100 | interval: timeInterval,
101 | repeats: true,
102 | block: timerBlock
| `- warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
103 | )
104 | timer.tolerance = tolerance
/host/spi-builder-workspace/Sources/Timers/Timers.swift:138:73: warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
135 | withTarget: target,
136 | handler: { target, _ in handler(target) },
137 | makeTimer: { timerBlock in
| `- note: parameter 'timerBlock' is implicitly non-sendable
138 | Timer(fire: fireAt, interval: 0, repeats: false, block: timerBlock)
| `- warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
139 | }
140 | )
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" 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:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
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/3] Emitting module Timers
/host/spi-builder-workspace/Sources/Timers/Timers.swift:25:29: error: 'main' is unavailable: RunLoop is not available on WASI
23 | extension Timers {
24 | public func manuallyAddTimer(
25 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
26 | runLoopMode: RunLoop.Mode = .common,
27 | timer: Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/Timers/Timers.swift:38:29: error: 'main' is unavailable: RunLoop is not available on WASI
36 | withTarget target: TargetType,
37 | handler: @escaping (TargetType, Timer) -> Void,
38 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
39 | runLoopMode: RunLoop.Mode = .common,
40 | makeTimer: @escaping (_ timerBlock: @escaping TimerBlock) -> Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
[3/3] Compiling Timers Timers.swift
/host/spi-builder-workspace/Sources/Timers/Timers.swift:25:29: error: 'main' is unavailable: RunLoop is not available on WASI
23 | extension Timers {
24 | public func manuallyAddTimer(
25 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
26 | runLoopMode: RunLoop.Mode = .common,
27 | timer: Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/Timers/Timers.swift:38:29: error: 'main' is unavailable: RunLoop is not available on WASI
36 | withTarget target: TargetType,
37 | handler: @escaping (TargetType, Timer) -> Void,
38 | runLoop: RunLoop = .main,
| `- error: 'main' is unavailable: RunLoop is not available on WASI
39 | runLoopMode: RunLoop.Mode = .common,
40 | makeTimer: @escaping (_ timerBlock: @escaping TimerBlock) -> Timer
Foundation.RunLoop.main:3:18: note: 'main' has been explicitly marked unavailable here
1 | class RunLoop {
2 | @available(*, unavailable, message: "RunLoop is not available on WASI")
3 | open class var main: RunLoop { get }}
| `- note: 'main' has been explicitly marked unavailable here
4 |
/host/spi-builder-workspace/Sources/Timers/Timers.swift:29:17: error: value of type 'RunLoop' has no member 'add'
27 | timer: Timer
28 | ) {
29 | runLoop.add(timer, forMode: runLoopMode)
| `- error: value of type 'RunLoop' has no member 'add'
30 | timers.append(timer)
31 | }
/host/spi-builder-workspace/Sources/Timers/Timers.swift:65:81: warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
62 | handler: @escaping (TargetType, Timer) -> Void
63 | ) {
64 | addCustomTimer(withTarget: target, handler: handler) { timerBlock in
| `- note: parameter 'timerBlock' is implicitly non-sendable
65 | let timer = Timer(timeInterval: timeInterval, repeats: true, block: timerBlock)
| `- warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
66 | timer.tolerance = tolerance
67 | return timer
/host/spi-builder-workspace/Sources/Timers/Timers.swift:102:28: warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
95 | withTarget: target,
96 | handler: handler,
97 | makeTimer: { timerBlock in
| `- note: parameter 'timerBlock' is implicitly non-sendable
98 | let timer = Timer(
99 | fire: fireAt,
100 | interval: timeInterval,
101 | repeats: true,
102 | block: timerBlock
| `- warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
103 | )
104 | timer.tolerance = tolerance
/host/spi-builder-workspace/Sources/Timers/Timers.swift:138:73: warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
135 | withTarget: target,
136 | handler: { target, _ in handler(target) },
137 | makeTimer: { timerBlock in
| `- note: parameter 'timerBlock' is implicitly non-sendable
138 | Timer(fire: fireAt, interval: 0, repeats: false, block: timerBlock)
| `- warning: passing non-sendable parameter 'timerBlock' to function expecting a @Sendable closure
139 | }
140 | )
BUILD FAILURE 6.1 wasm