The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Timers, reference main (d77a85), with Swift 6.3 for Wasm on 13 Apr 2026 18:43:31 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/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
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.3
Building package at path:  $PWD
https://github.com/dreymonde/Timers.git
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/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-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 |         )
BUILD FAILURE 6.3 wasm