The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Timers, reference 0.1.0 (436dc7), with Swift 6.1 for Wasm on 28 May 2025 17:33:54 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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: 0.1.0
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
 * tag               0.1.0      -> FETCH_HEAD
HEAD is now at 436dc71 update README
Cloned https://github.com/dreymonde/Timers.git
Revision (git rev-parse @):
436dc713e932af950054f05fccfc10959afa924a
SUCCESS checkout https://github.com/dreymonde/Timers.git at 0.1.0
========================================
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-3":/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-3":/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