Build Information
Failed to build Promise, reference 1.14.0 (5152cf), with Swift 6.3 for Android on 10 Apr 2026 09:13:38 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/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:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/timvermeulen/promise.git
Reference: 1.14.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/timvermeulen/promise
* tag 1.14.0 -> FETCH_HEAD
HEAD is now at 5152cf8 Call callbacks from the last context only
Cloned https://github.com/timvermeulen/promise.git
Revision (git rev-parse @):
5152cf895afe696193c881af6bfc5c3caa876db4
SUCCESS checkout https://github.com/timvermeulen/promise.git at 1.14.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/timvermeulen/promise.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/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:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--4F562202D5529B1.txt
[3/15] Compiling Promise Result.swift
[4/16] Compiling Promise Traversable.swift
[5/16] Compiling Promise BasicFuture.swift
[6/16] Compiling Promise BasicPromise.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/16] Emitting module Promise
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:54:8: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended [#NominalTypes]
52 | }
53 |
54 | public extension URLSession {
| `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended [#NominalTypes]
55 | func dataTask(with request: URLRequest) -> Future<(data: Data, response: HTTPURLResponse)> {
56 | return Future { promise in
[#NominalTypes]: <https://docs.swift.org/compiler/documentation/diagnostics/nominal-types>
[8/16] Compiling Promise Future+Extras.swift
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:54:8: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended [#NominalTypes]
52 | }
53 |
54 | public extension URLSession {
| `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended [#NominalTypes]
55 | func dataTask(with request: URLRequest) -> Future<(data: Data, response: HTTPURLResponse)> {
56 | return Future { promise in
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:24:59: warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
21 |
22 | func asyncAfter(deadline: DispatchTime, on queue: DispatchQueue) -> Future {
23 | return async { resolve in
| `- note: parameter 'resolve' is implicitly non-Sendable
24 | queue.asyncAfter(deadline: deadline, execute: resolve)
| `- warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
25 | }
26 | }
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:45:19: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
43 | func delayed(by interval: TimeInterval) -> Future {
44 | return on(.main).async { resolve in
45 | Timer.scheduledTimer(withTimeInterval: interval, repeats: false) { _ in resolve() }
| `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
46 | }
47 | }
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:55:33: error: cannot find type 'URLRequest' in scope
53 |
54 | public extension URLSession {
55 | func dataTask(with request: URLRequest) -> Future<(data: Data, response: HTTPURLResponse)> {
| `- error: cannot find type 'URLRequest' in scope
56 | return Future { promise in
57 | let task = dataTask(with: request) { data, response, error in
[#NominalTypes]: <https://docs.swift.org/compiler/documentation/diagnostics/nominal-types>
[9/16] Compiling Promise Future+Foundation.swift
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:54:8: error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended [#NominalTypes]
52 | }
53 |
54 | public extension URLSession {
| `- error: non-nominal type 'URLSession' (aka 'AnyObject') cannot be extended [#NominalTypes]
55 | func dataTask(with request: URLRequest) -> Future<(data: Data, response: HTTPURLResponse)> {
56 | return Future { promise in
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:24:59: warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
21 |
22 | func asyncAfter(deadline: DispatchTime, on queue: DispatchQueue) -> Future {
23 | return async { resolve in
| `- note: parameter 'resolve' is implicitly non-Sendable
24 | queue.asyncAfter(deadline: deadline, execute: resolve)
| `- warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
25 | }
26 | }
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:45:19: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
43 | func delayed(by interval: TimeInterval) -> Future {
44 | return on(.main).async { resolve in
45 | Timer.scheduledTimer(withTimeInterval: interval, repeats: false) { _ in resolve() }
| `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
46 | }
47 | }
/host/spi-builder-workspace/Sources/Promise/Future/Future+Foundation.swift:55:33: error: cannot find type 'URLRequest' in scope
53 |
54 | public extension URLSession {
55 | func dataTask(with request: URLRequest) -> Future<(data: Data, response: HTTPURLResponse)> {
| `- error: cannot find type 'URLRequest' in scope
56 | return Future { promise in
57 | let task = dataTask(with: request) { data, response, error in
[#NominalTypes]: <https://docs.swift.org/compiler/documentation/diagnostics/nominal-types>
[10/16] Compiling Promise Atomic.swift
/host/spi-builder-workspace/Sources/Promise/Miscellaneous/DispatchQueue+ExecutionContext.swift:5:38: warning: passing non-Sendable parameter '$0' to function expecting a '@Sendable' closure
3 | extension DispatchQueue {
4 | var asyncContext: ExecutionContext {
5 | return { self.async(execute: $0) }
| | `- warning: passing non-Sendable parameter '$0' to function expecting a '@Sendable' closure
| `- note: parameter '$0' is implicitly non-Sendable
6 | }
7 | }
[11/16] Compiling Promise DispatchQueue+ExecutionContext.swift
/host/spi-builder-workspace/Sources/Promise/Miscellaneous/DispatchQueue+ExecutionContext.swift:5:38: warning: passing non-Sendable parameter '$0' to function expecting a '@Sendable' closure
3 | extension DispatchQueue {
4 | var asyncContext: ExecutionContext {
5 | return { self.async(execute: $0) }
| | `- warning: passing non-Sendable parameter '$0' to function expecting a '@Sendable' closure
| `- note: parameter '$0' is implicitly non-Sendable
6 | }
7 | }
[12/16] Compiling Promise Future.swift
[13/16] Compiling Promise Promise.swift
[14/16] Compiling Promise ExecutionContext.swift
[15/16] Compiling Promise BasicFuture+Extras.swift
/host/spi-builder-workspace/Sources/Promise/BasicFuture/BasicFuture+Foundation.swift:21:59: warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
18 |
19 | func asyncAfter(deadline: DispatchTime, on queue: DispatchQueue) -> BasicFuture {
20 | return async { resolve in
| `- note: parameter 'resolve' is implicitly non-Sendable
21 | queue.asyncAfter(deadline: deadline, execute: resolve)
| `- warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
22 | }
23 | }
/host/spi-builder-workspace/Sources/Promise/BasicFuture/BasicFuture+Foundation.swift:46:19: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
44 | func delayed(by interval: TimeInterval) -> BasicFuture {
45 | return on(.main).async { resolve in
46 | Timer.scheduledTimer(withTimeInterval: interval, repeats: false) { _ in resolve() }
| `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
47 | }
48 | }
[16/16] Compiling Promise BasicFuture+Foundation.swift
/host/spi-builder-workspace/Sources/Promise/BasicFuture/BasicFuture+Foundation.swift:21:59: warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
18 |
19 | func asyncAfter(deadline: DispatchTime, on queue: DispatchQueue) -> BasicFuture {
20 | return async { resolve in
| `- note: parameter 'resolve' is implicitly non-Sendable
21 | queue.asyncAfter(deadline: deadline, execute: resolve)
| `- warning: passing non-Sendable parameter 'resolve' to function expecting a '@Sendable' closure
22 | }
23 | }
/host/spi-builder-workspace/Sources/Promise/BasicFuture/BasicFuture+Foundation.swift:46:19: warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
44 | func delayed(by interval: TimeInterval) -> BasicFuture {
45 | return on(.main).async { resolve in
46 | Timer.scheduledTimer(withTimeInterval: interval, repeats: false) { _ in resolve() }
| `- warning: result of call to 'scheduledTimer(withTimeInterval:repeats:block:)' is unused [#no-usage]
47 | }
48 | }
BUILD FAILURE 6.3 android