Build Information
Failed to build OpenCombineJS, reference main (e393e6), with Swift 6.4 for Android on 18 Sep 2026 06:28:45 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftwasm/OpenCombineJS.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/swiftwasm/OpenCombineJS
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at e393e6d Update to v2 of Contributor Covenant in shared GitHub repo (#7)
Cloned https://github.com/swiftwasm/OpenCombineJS.git
Revision (git rev-parse @):
e393e6d449511615ea5445b04f4b97dc6e5fb141
SUCCESS checkout https://github.com/swiftwasm/OpenCombineJS.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/swiftwasm/OpenCombineJS.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/OpenCombine/OpenCombine.git
Fetching https://github.com/swiftwasm/JavaScriptKit.git
[1/8284] Fetching opencombine
[8285/49047] Fetching opencombine, javascriptkit
Fetched https://github.com/OpenCombine/OpenCombine.git (2.46s)
Fetched https://github.com/swiftwasm/JavaScriptKit.git (2.47s)
Computing version for https://github.com/OpenCombine/OpenCombine.git
Computed https://github.com/OpenCombine/OpenCombine.git at 0.14.0 (2.71s)
Computing version for https://github.com/swiftwasm/JavaScriptKit.git
Computed https://github.com/swiftwasm/JavaScriptKit.git at 0.59.0 (0.26s)
Fetching https://github.com/swiftlang/swift-syntax
[1/79951] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax (3.51s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 603.0.2 (3.84s)
Creating working copy for https://github.com/swiftwasm/JavaScriptKit.git
Working copy of https://github.com/swiftwasm/JavaScriptKit.git resolved at 0.59.0
Creating working copy for https://github.com/OpenCombine/OpenCombine.git
Working copy of https://github.com/OpenCombine/OpenCombine.git resolved at 0.14.0
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 603.0.2
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 798]
[Planning deferred tasks]
[164 / 328] SwiftSyntax600
[179 / 334] SwiftSyntax603
[202 / 338] OpenCombine
[205 / 347] SwiftSyntax510
[210 / 347] OpenCombine
[212 / 347] OpenCombine
[219 / 349] SwiftSyntax600
[224 / 349] SwiftSyntax510
[231 / 352] SwiftSyntax603
[238 / 353] SwiftSyntax601
[239 / 353] COpenCombineHelpers
[241 / 354] OpenCombine
[245 / 363] SwiftSyntax
[246 / 363] SwiftSyntax
[247 / 363] SwiftSyntax
[248 / 363] SwiftSyntax
[249 / 363] SwiftSyntax
[250 / 363] SwiftSyntax
[251 / 364] OpenCombine
[253 / 364] OpenCombine
[253 / 364] SwiftSyntax
[265 / 384] SwiftParser
[267 / 392] SwiftParser
[270 / 392] SwiftDiagnostics
[275 / 392] SwiftParser
[281 / 392] SwiftParser
[282 / 392] SwiftParser
[284 / 392] SwiftParser
[288 / 392] SwiftParser
[290 / 392] SwiftDiagnostics
[291 / 392] SwiftOperators
[294 / 392] SwiftDiagnostics
[296 / 392] SwiftDiagnostics
[298 / 392] SwiftParserDiagnostics
[299 / 392] SwiftParserDiagnostics
[303 / 394] SwiftOperators
[306 / 404] SwiftParserDiagnostics
[307 / 414] SwiftParser
[309 / 414] SwiftParserDiagnostics
[312 / 415] SwiftOperators
[317 / 415] SwiftParserDiagnostics
[319 / 415] SwiftParserDiagnostics
[321 / 415] SwiftParserDiagnostics
[326 / 415] SwiftSyntaxBuilder
[330 / 415] SwiftOperators
[332 / 415] SwiftOperators
[334 / 415] SwiftOperators
[339 / 425] SwiftSyntaxBuilder
[342 / 426] SwiftSyntaxBuilder
[343 / 426] SwiftSyntaxBuilder
[344 / 426] SwiftSyntaxBuilder
[347 / 426] SwiftSyntaxBuilder
[355 / 427]
[357 / 436] SwiftIfConfig
[361 / 437] SwiftParserDiagnostics
[364 / 438] SwiftSyntaxBuilder
[366 / 438] SwiftSyntaxBuilder
[367 / 438] SwiftIfConfig
[374 / 439] SwiftIfConfig
[382 / 448] SwiftSyntaxMacros
[384 / 448] SwiftSyntaxMacros
[390 / 451] SwiftSyntaxMacroExpansion
[396 / 459] SwiftSyntaxMacroExpansion
[398 / 460] SwiftSyntaxMacros
[408 / 461]
[412 / 470] SwiftCompilerPluginMessageHandling
[413 / 470] SwiftCompilerPluginMessageHandling
[414 / 470] SwiftCompilerPluginMessageHandling
[416 / 470] SwiftCompilerPluginMessageHandling
[418 / 470] SwiftCompilerPluginMessageHandling
[423 / 471]
[426 / 474] SwiftSyntaxMacroExpansion
[432 / 474] SwiftCompilerPluginMessageHandling
[434 / 475] SwiftCompilerPluginMessageHandling
[436 / 476] SwiftSyntax
[439 / 477] SwiftSyntax
[446 / 477] SwiftIfConfig
[450 / 477] SwiftCompilerPlugin
[455 / 478] BridgeJSMacros
[462 / 485] BridgeJSMacros
[463 / 485] BridgeJSMacros
[467 / 486] BridgeJSMacros
[468 / 487] JavaScriptKit
[477 / 496] JavaScriptKit
[487 / 501] OpenCombineJS
/host/spi-builder-workspace/Sources/OpenCombineJS/JSValueDecoder.swift:18:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'JSValueDecoder' to imported protocol 'TopLevelDecoder'; this will not behave correctly if the owners of 'JavaScriptKit' introduce this conformance in the future[0;0m
[0;36m16 |[0;0m import OpenCombine
[0;36m17 |[0;0m
[0;36m18 |[0;0m extension JSValueDecoder: TopLevelDecoder {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'JSValueDecoder' to imported protocol 'TopLevelDecoder'; this will not behave correctly if the owners of 'JavaScriptKit' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m19 |[0;0m public func decode<T: Decodable>(_ type: T.Type, from value: JSValue) throws -> T {
[0;36m20 |[0;0m try decode(type, from: value, userInfo: [:])
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/OpenCombineJS/JSPromise.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile JSPromise.swift
/host/spi-builder-workspace/Sources/OpenCombineJS/JSPromise.swift:24:25: [1;31merror: [1;39mtype 'JSValue' does not conform to protocol 'Error'[0;0m
[0;36m22 |[0;0m
[0;36m23 |[0;0m /// `Future` instance that handles subscriptions to this publisher.
[0;36m24 |[0;0m private var future: Future<JSValue, JSValue>
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'JSValue' does not conform to protocol 'Error'[0;0m
[0;36m25 |[0;0m
[0;36m26 |[0;0m fileprivate init(promise: JSPromise) {
/host/spi-builder-workspace/Sources/OpenCombineJS/JSPromise.swift:38:17: [1;31merror: [1;39mno type for 'Downstream.Failure' can satisfy both 'Downstream.Failure == JSValue' and 'Downstream.Failure : Error'[0;0m
[0;36m36 |[0;0m }
[0;36m37 |[0;0m
[0;36m38 |[0;0m public func receive<Downstream: Subscriber>(subscriber: Downstream)
[0;36m|[0;0m `- [1;31merror: [1;39mno type for 'Downstream.Failure' can satisfy both 'Downstream.Failure == JSValue' and 'Downstream.Failure : Error'[0;0m
[0;36m39 |[0;0m where Downstream.Input == JSValue, Downstream.Failure == JSValue
[0;36m40 |[0;0m {
/host/spi-builder-workspace/Sources/OpenCombineJS/JSPromise.swift:19:15: [1;31merror: [1;39mtype 'JSPromise.PromisePublisher' does not conform to protocol 'Publisher'[0;0m
[0;36m17 |[0;0m
[0;36m18 |[0;0m public extension JSPromise {
[0;36m19 |[0;0m final class PromisePublisher: Publisher {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'JSPromise.PromisePublisher' does not conform to protocol 'Publisher'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m20 |[0;0m public typealias Output = JSValue
[0;36m21 |[0;0m public typealias Failure = JSValue
[0;36m|[0;0m `- [1;39mnote: [1;39mpossibly intended match 'JSPromise.PromisePublisher.Failure' (aka 'JSValue') does not conform to 'Error'[0;0m
[0;36m22 |[0;0m
[0;36m23 |[0;0m /// `Future` instance that handles subscriptions to this publisher.
[0;36m:[0;0m
[0;36m36 |[0;0m }
[0;36m37 |[0;0m
[0;36m38 |[0;0m public func receive<Downstream: Subscriber>(subscriber: Downstream)
[0;36m|[0;0m `- [1;39mnote: [1;39mcandidate has non-matching type '<Downstream> (subscriber: Downstream) -> ()' [with Failure = _][0;0m
[0;36m39 |[0;0m where Downstream.Input == JSValue, Downstream.Failure == JSValue
[0;36m40 |[0;0m {
/host/spi-builder-workspace/.build/checkouts/OpenCombine/Sources/OpenCombine/GENERATED-RootProtocols.swift:59:20: [1;39mnote: [1;39mprotocol requires nested type 'Failure'[0;0m
[0;36m57 |[0;0m ///
[0;36m58 |[0;0m /// Use `Never` if this `Publisher` does not publish errors.
[0;36m59 |[0;0m associatedtype Failure: Error
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires nested type 'Failure'[0;0m
[0;36m60 |[0;0m
[0;36m61 |[0;0m /// Attaches the specified subscriber to this publisher.
[0;36m:[0;0m
[0;36m68 |[0;0m /// - Parameter subscriber: The subscriber to attach to this publisher. After
[0;36m69 |[0;0m /// attaching, the subscriber can start to receive values.
[0;36m70 |[0;0m func receive<Subscriber: OpenCombine.Subscriber>(subscriber: Subscriber)
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function 'receive(subscriber:)' with type '<Subscriber> (subscriber: Subscriber) -> ()'[0;0m
[0;36m71 |[0;0m where Failure == Subscriber.Failure, Output == Subscriber.Input
[0;36m72 |[0;0m }
/host/spi-builder-workspace/Sources/OpenCombineJS/JSPromise.swift:27:17: [1;31merror: [1;39mcannot infer contextual base in reference to member 'init'[0;0m
[0;36m25 |[0;0m
[0;36m26 |[0;0m fileprivate init(promise: JSPromise) {
[0;36m27 |[0;0m future = [4;39m.init[0;0m { resolver in
[0;36m|[0;0m `- [1;31merror: [1;39mcannot infer contextual base in reference to member 'init'[0;0m
[0;36m28 |[0;0m promise.then(success: {
[0;36m29 |[0;0m resolver(.success($0))
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-frontend -frontend -c -primary-file /host/spi-builder-workspace/Sources/OpenCombineJS/JSPromise.swift /host/spi-builder-workspace/Sources/OpenCombineJS/JSScheduler.swift /host/spi-builder-workspace/Sources/OpenCombineJS/JSValueDecoder.swift -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/Objects-normal/aarch64/JSPromise.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/Objects-normal/aarch64/JSPromise.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/Objects-normal/aarch64/JSPromise.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/Objects-normal/aarch64/JSPromise.dia -target aarch64-unknown-linux-android28 -Xllvm -aarch64-use-tbi -disable-objc-interop -sdk /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -sysroot /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -I /host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -load-plugin-executable /host/spi-builder-workspace/.build/out/Products/Debug-linux-x86_64/BridgeJSMacros\#BridgeJSMacros -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins/testing\#/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_android.artifactbundle/swift-android/swift-resources/usr/lib/swift-aarch64 -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/18 -Xcc -fmodule-map-file\=/host/spi-builder-workspace/.build/checkouts/JavaScriptKit/Sources/_CJavaScriptKit/include/module.modulemap -Xcc -fmodule-map-file\=/host/spi-builder-workspace/.build/out/Intermediates.noindex/GeneratedModuleMaps-android-aarch64/COpenCombineHelpers.modulemap -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/checkouts/JavaScriptKit/Sources/_CJavaScriptKit/include -Xcc -I/host/spi-builder-workspace/.build/checkouts/OpenCombine/Sources/COpenCombineHelpers/include -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name OpenCombineJS -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/Objects-normal/aarch64/OpenCombineJS_const_extract_protocols.json -in-process-plugin-server-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/local/lib/swift/host/plugins -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/Objects-normal/aarch64/JSPromise.o -index-unit-output-path /OpenCombineJS.build/Debug-android-aarch64/OpenCombineJS-t.build/Objects-normal/aarch64/JSPromise.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android