Build Information
Failed to build CampusDualKit, reference 0.2.1 (8f5824), with Swift 6.4 for Wasm on 19 Sep 2026 14:26:26 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jonasrichardrichter/CampusDualKit.git
Reference: 0.2.1
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/jonasrichardrichter/CampusDualKit
* tag 0.2.1 -> FETCH_HEAD
HEAD is now at 8f58241 Fix bug
Cloned https://github.com/jonasrichardrichter/CampusDualKit.git
Revision (git rev-parse @):
8f582414f43e9bb8f6f1fcaf19574cb04e0a7857
SUCCESS checkout https://github.com/jonasrichardrichter/CampusDualKit.git at 0.2.1
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/jonasrichardrichter/CampusDualKit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Fetching https://github.com/apple/swift-log.git
[1/8096] Fetching swift-log
Fetched https://github.com/apple/swift-log.git (0.53s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.75s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.15.1
Building for debugging...
[Pre-planning 1 / 96]
[21 / 37] CampusDualKit
[32 / 47] Logging
[41 / 56] CampusDualKit
[42 / 56] CampusDualKit
[46 / 56] CampusDualKit
[47 / 57] Logging
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/CampusDualKit/Extensions/URLSession+scheduleServiceDataTask.swift:10:10: [1;31merror: [1;39mnon-nominal type 'URLSession' (aka 'AnyObject') cannot be extended[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/nominal-types\NominalTypes]8;;\]
[0;36m8 |[0;0m import Foundation
[0;36m9 |[0;0m
[0;36m10 |[0;0m internal extension [4;39mURLSession[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mnon-nominal type 'URLSession' (aka 'AnyObject') cannot be extended[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/nominal-types\NominalTypes]8;;\]
[0;36m11 |[0;0m
[0;36m12 |[0;0m func scheduleServiceDataTask<T: Decodable>(request: URLRequest, session: URLSession, completion: @escaping (Result<T, ScheduleServiceError>) -> Void) {
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:32:84: [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m30 |[0;0m /// - session: The URLSession to be used, default should be .shared
[0;36m31 |[0;0m /// - completion: handler
[0;36m32 |[0;0m public static func login(for username: String, with password: String, session: [4;39mURLSession[0;0m = .shared, completion: @escaping (Result<ScheduleService, ScheduleServiceError>) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m33 |[0;0m
[0;36m34 |[0;0m if username.isEmpty {
Foundation.URLSession:2:18: [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[0;36m1 |[0;0m @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
[0;36m2 |[0;0m public typealias URLSession = AnyObject
[0;36m|[0;0m `- [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:32:98: [1;31merror: [1;39mvalue of type '_' expected to be instance of class or class-constrained type[0;0m
[0;36m30 |[0;0m /// - session: The URLSession to be used, default should be .shared
[0;36m31 |[0;0m /// - completion: handler
[0;36m32 |[0;0m public static func login(for username: String, with password: String, session: URLSession = .shared, completion: @escaping (Result<ScheduleService, ScheduleServiceError>) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '_' expected to be instance of class or class-constrained type[0;0m
[0;36m33 |[0;0m
[0;36m34 |[0;0m if username.isEmpty {
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:32:98: [1;31merror: [1;39mtype 'URLSession' (aka 'AnyObject') has no member 'shared'[0;0m
[0;36m30 |[0;0m /// - session: The URLSession to be used, default should be .shared
[0;36m31 |[0;0m /// - completion: handler
[0;36m32 |[0;0m public static func login(for username: String, with password: String, session: URLSession = [4;39m.shared[0;0m, completion: @escaping (Result<ScheduleService, ScheduleServiceError>) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'URLSession' (aka 'AnyObject') has no member 'shared'[0;0m
[0;36m33 |[0;0m
[0;36m34 |[0;0m if username.isEmpty {
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:73:84: [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m71 |[0;0m /// - Returns: An authenticated ScheduleService.
[0;36m72 |[0;0m @available(iOS 15.0, macOS 12.0, *)
[0;36m73 |[0;0m public static func login(for username: String, with password: String, session: [4;39mURLSession[0;0m = .shared) async throws -> ScheduleService {
[0;36m|[0;0m `- [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m74 |[0;0m try await withCheckedThrowingContinuation() { continuation in
[0;36m75 |[0;0m self.login(for: username, with: password, session: session) { result in
Foundation.URLSession:2:18: [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[0;36m1 |[0;0m @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
[0;36m2 |[0;0m public typealias URLSession = AnyObject
[0;36m|[0;0m `- [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:73:98: [1;31merror: [1;39mvalue of type '_' expected to be instance of class or class-constrained type[0;0m
[0;36m71 |[0;0m /// - Returns: An authenticated ScheduleService.
[0;36m72 |[0;0m @available(iOS 15.0, macOS 12.0, *)
[0;36m73 |[0;0m public static func login(for username: String, with password: String, session: URLSession = .shared) async throws -> ScheduleService {
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '_' expected to be instance of class or class-constrained type[0;0m
[0;36m74 |[0;0m try await withCheckedThrowingContinuation() { continuation in
[0;36m75 |[0;0m self.login(for: username, with: password, session: session) { result in
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:73:98: [1;31merror: [1;39mtype 'URLSession' (aka 'AnyObject') has no member 'shared'[0;0m
[0;36m71 |[0;0m /// - Returns: An authenticated ScheduleService.
[0;36m72 |[0;0m @available(iOS 15.0, macOS 12.0, *)
[0;36m73 |[0;0m public static func login(for username: String, with password: String, session: URLSession = [4;39m.shared[0;0m) async throws -> ScheduleService {
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'URLSession' (aka 'AnyObject') has no member 'shared'[0;0m
[0;36m74 |[0;0m try await withCheckedThrowingContinuation() { continuation in
[0;36m75 |[0;0m self.login(for: username, with: password, session: session) { result in
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:90:76: [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m88 |[0;0m /// - session: The URLSession to be used, default should be .shared
[0;36m89 |[0;0m /// - completion: handler
[0;36m90 |[0;0m public func studyDays(from startDate: Date, to endDate: Date, session: [4;39mURLSession[0;0m = .shared, completion: @escaping (Result<[StudyDay], ScheduleServiceError>) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m91 |[0;0m
[0;36m92 |[0;0m guard let url = URL(string: "?userid=\(self.username)&hash=\(self.hash)&start=\(startDate.timeIntervalSince1970)&end=\(endDate.timeIntervalSince1970)", relativeTo: URL.CampusDual.schedule) else {
Foundation.URLSession:2:18: [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[0;36m1 |[0;0m @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
[0;36m2 |[0;0m public typealias URLSession = AnyObject
[0;36m|[0;0m `- [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:90:90: [1;31merror: [1;39mvalue of type '_' expected to be instance of class or class-constrained type[0;0m
[0;36m88 |[0;0m /// - session: The URLSession to be used, default should be .shared
[0;36m89 |[0;0m /// - completion: handler
[0;36m90 |[0;0m public func studyDays(from startDate: Date, to endDate: Date, session: URLSession = .shared, completion: @escaping (Result<[StudyDay], ScheduleServiceError>) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type '_' expected to be instance of class or class-constrained type[0;0m
[0;36m91 |[0;0m
[0;36m92 |[0;0m guard let url = URL(string: "?userid=\(self.username)&hash=\(self.hash)&start=\(startDate.timeIntervalSince1970)&end=\(endDate.timeIntervalSince1970)", relativeTo: URL.CampusDual.schedule) else {
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:90:90: [1;31merror: [1;39mtype 'URLSession' (aka 'AnyObject') has no member 'shared'[0;0m
[0;36m88 |[0;0m /// - session: The URLSession to be used, default should be .shared
[0;36m89 |[0;0m /// - completion: handler
[0;36m90 |[0;0m public func studyDays(from startDate: Date, to endDate: Date, session: URLSession = [4;39m.shared[0;0m, completion: @escaping (Result<[StudyDay], ScheduleServiceError>) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mtype 'URLSession' (aka 'AnyObject') has no member 'shared'[0;0m
[0;36m91 |[0;0m
[0;36m92 |[0;0m guard let url = URL(string: "?userid=\(self.username)&hash=\(self.hash)&start=\(startDate.timeIntervalSince1970)&end=\(endDate.timeIntervalSince1970)", relativeTo: URL.CampusDual.schedule) else {
/host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:122:76: [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m120 |[0;0m /// - Returns: An array of StudyDay's in the given time period.
[0;36m121 |[0;0m @available(iOS 15.0, macOS 12.0, *)
[0;36m122 |[0;0m public func studyDays(from startDate: Date, to endDate: Date, session: [4;39mURLSession[0;0m) async throws -> [StudyDay] {
[0;36m|[0;0m `- [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m123 |[0;0m try await withCheckedThrowingContinuation() { continuation in
[0;36m124 |[0;0m self.studyDays(from: startDate, to: endDate) { result in
Foundation.URLSession:2:18: [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[0;36m1 |[0;0m @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
[0;36m2 |[0;0m public typealias URLSession = AnyObject
[0;36m|[0;0m `- [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[#NominalTypes]: <https://docs.swift.org/compiler/documentation/diagnostics/nominal-types>
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/CampusDualKit/Extensions/Logger+CustomInit.swift /host/spi-builder-workspace/Sources/CampusDualKit/Extensions/URL+CampusDual.swift /host/spi-builder-workspace/Sources/CampusDualKit/Extensions/URLSession+scheduleServiceDataTask.swift /host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/Lesson.swift /host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift /host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleServiceError.swift /host/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/StudyDay.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -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 -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/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_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -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/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name CampusDualKit -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/Objects-normal/wasm32/CampusDualKit_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/Objects-normal/wasm32/Modules/CampusDualKit.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/Objects-normal/wasm32/Modules/CampusDualKit.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/Objects-normal/wasm32/CampusDualKit-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/Objects-normal/wasm32/CampusDualKit-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/Objects-normal/wasm32/CampusDualKit-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/CampusDualKit.build/Debug-webassembly-wasm32/CampusDualKit-t.build/Objects-normal/wasm32/Modules/CampusDualKit.swiftmodule
error: Build failed
BUILD FAILURE 6.4 wasm