Build Information
Failed to build Swift2MD, reference master (ea9b16), with Swift 6.3 for Wasm on 18 Apr 2026 19:34:28 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-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>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/herrkaefer/Swift2MD.git
Reference: master
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/herrkaefer/Swift2MD
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at ea9b16c Fix CI matrix and improve Swift toolchain compatibility
Cloned https://github.com/herrkaefer/Swift2MD.git
Revision (git rev-parse @):
ea9b16c3912a09b73f01d0c4bd7c801771b0a95e
SUCCESS checkout https://github.com/herrkaefer/Swift2MD.git at master
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.3
Building package at path: $PWD
https://github.com/herrkaefer/Swift2MD.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-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
Fetching https://github.com/apple/swift-argument-parser.git
[1/17529] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.67s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.7.1 (9.03s)
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.7.1
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/13] Write sources
[6/13] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/23] Emitting module Swift2MD
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:8:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
6 | struct CloudflareClient: Sendable {
7 | let credentials: CloudflareCredentials
8 | let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
9 | let timeout: Duration
10 | let maxRetryCount: Int
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:15:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
13 | init(
14 | credentials: CloudflareCredentials,
15 | session: URLSession = .shared,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 | timeout: Duration = .seconds(60),
17 | maxRetryCount: Int = 2,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:15:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
13 | init(
14 | credentials: CloudflareCredentials,
15 | session: URLSession = .shared,
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
16 | timeout: Duration = .seconds(60),
17 | maxRetryCount: Int = 2,
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:15:32: error: value of type '_' expected to be instance of class or class-constrained type
13 | init(
14 | credentials: CloudflareCredentials,
15 | session: URLSession = .shared,
| `- error: value of type '_' expected to be instance of class or class-constrained type
16 | timeout: Duration = .seconds(60),
17 | maxRetryCount: Int = 2,
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:8:9: warning: stored property 'session' of 'Sendable'-conforming struct 'CloudflareClient' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
6 | struct CloudflareClient: Sendable {
7 | let credentials: CloudflareCredentials
8 | let session: URLSession
| `- warning: stored property 'session' of 'Sendable'-conforming struct 'CloudflareClient' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
9 | let timeout: Duration
10 | let maxRetryCount: Int
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:9:34: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
7 | public struct MarkdownConverter: Sendable {
8 | private let client: CloudflareClient
9 | private let downloadSession: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
10 |
11 | /// Creates a converter with required Cloudflare credentials and options.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:28:53: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 | }
27 |
28 | init(client: CloudflareClient, downloadSession: URLSession) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | self.client = client
30 | self.downloadSession = downloadSession
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:89:60: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | }
88 |
89 | private func inferredFilename(from url: URL, response: URLResponse) -> String {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
90 | let candidate = url.lastPathComponent
91 | if SupportedFormat(filename: candidate) != nil {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:9:17: warning: stored property 'downloadSession' of 'Sendable'-conforming struct 'MarkdownConverter' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
7 | public struct MarkdownConverter: Sendable {
8 | private let client: CloudflareClient
9 | private let downloadSession: URLSession
| `- warning: stored property 'downloadSession' of 'Sendable'-conforming struct 'MarkdownConverter' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
10 |
11 | /// Creates a converter with required Cloudflare credentials and options.
[9/24] Compiling ArgumentParserToolInfo ToolInfo.swift
[10/24] Emitting module ArgumentParserToolInfo
[11/25] Wrapping AST for ArgumentParserToolInfo for debugging
[13/71] Emitting module ArgumentParser
[14/77] Compiling Swift2MD Swift2MD.swift
[15/77] Compiling Swift2MD Configuration.swift
[16/77] Compiling Swift2MD Errors.swift
[17/77] Compiling Swift2MD SupportedFormat.swift
[18/77] Compiling Swift2MD MarkdownConverter.swift
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:9:34: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
7 | public struct MarkdownConverter: Sendable {
8 | private let client: CloudflareClient
9 | private let downloadSession: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
10 |
11 | /// Creates a converter with required Cloudflare credentials and options.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:28:53: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
26 | }
27 |
28 | init(client: CloudflareClient, downloadSession: URLSession) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
29 | self.client = client
30 | self.downloadSession = downloadSession
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:89:60: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | }
88 |
89 | private func inferredFilename(from url: URL, response: URLResponse) -> String {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
90 | let candidate = url.lastPathComponent
91 | if SupportedFormat(filename: candidate) != nil {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:9:17: warning: stored property 'downloadSession' of 'Sendable'-conforming struct 'MarkdownConverter' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
7 | public struct MarkdownConverter: Sendable {
8 | private let client: CloudflareClient
9 | private let downloadSession: URLSession
| `- warning: stored property 'downloadSession' of 'Sendable'-conforming struct 'MarkdownConverter' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
10 |
11 | /// Creates a converter with required Cloudflare credentials and options.
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:13:53: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
11 | /// Creates a converter with required Cloudflare credentials and options.
12 | public init(credentials: CloudflareCredentials, options: ConvertOptions = .init()) {
13 | let configuration = URLSessionConfiguration.ephemeral
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
14 | configuration.timeoutIntervalForRequest = options.timeout.timeInterval
15 | configuration.timeoutIntervalForResource = options.timeout.timeInterval
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:16:23: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
14 | configuration.timeoutIntervalForRequest = options.timeout.timeInterval
15 | configuration.timeoutIntervalForResource = options.timeout.timeInterval
16 | let session = URLSession(configuration: configuration)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
17 |
18 | self.client = CloudflareClient(
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:36:23: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
34 | public func convert(_ url: URL) async throws -> ConversionResult {
35 | let data: Data
36 | let response: URLResponse
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
37 |
38 | do {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:39:58: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
37 |
38 | do {
39 | (data, response) = try await downloadSession.data(from: url)
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
40 | } catch {
41 | throw Swift2MDError.networkError(underlying: error)
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:44:40: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
42 | }
43 |
44 | if let httpResponse = response as? HTTPURLResponse,
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
45 | !(200...299).contains(httpResponse.statusCode) {
46 | let body = String(data: data, encoding: .utf8) ?? ""
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:44:44: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
42 | }
43 |
44 | if let httpResponse = response as? HTTPURLResponse,
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
45 | !(200...299).contains(httpResponse.statusCode) {
46 | let body = String(data: data, encoding: .utf8) ?? ""
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:45:47: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
43 |
44 | if let httpResponse = response as? HTTPURLResponse,
45 | !(200...299).contains(httpResponse.statusCode) {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
46 | let body = String(data: data, encoding: .utf8) ?? ""
47 | throw Swift2MDError.httpError(statusCode: httpResponse.statusCode, body: body)
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:47:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
45 | !(200...299).contains(httpResponse.statusCode) {
46 | let body = String(data: data, encoding: .utf8) ?? ""
47 | throw Swift2MDError.httpError(statusCode: httpResponse.statusCode, body: body)
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
48 | }
49 |
/host/spi-builder-workspace/Sources/Swift2MD/MarkdownConverter.swift:95:36: error: value of type 'URLResponse' (aka 'AnyObject') has no member 'mimeType'
93 | }
94 |
95 | if let mimeType = response.mimeType,
| `- error: value of type 'URLResponse' (aka 'AnyObject') has no member 'mimeType'
96 | let format = SupportedFormat(mimeType: mimeType) {
97 | return "downloaded.\(format.fileExtension)"
[19/77] Compiling Swift2MD CloudflareClient.swift
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:8:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
6 | struct CloudflareClient: Sendable {
7 | let credentials: CloudflareCredentials
8 | let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
9 | let timeout: Duration
10 | let maxRetryCount: Int
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:15:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
13 | init(
14 | credentials: CloudflareCredentials,
15 | session: URLSession = .shared,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
16 | timeout: Duration = .seconds(60),
17 | maxRetryCount: Int = 2,
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:15:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
13 | init(
14 | credentials: CloudflareCredentials,
15 | session: URLSession = .shared,
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
16 | timeout: Duration = .seconds(60),
17 | maxRetryCount: Int = 2,
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:15:32: error: value of type '_' expected to be instance of class or class-constrained type
13 | init(
14 | credentials: CloudflareCredentials,
15 | session: URLSession = .shared,
| `- error: value of type '_' expected to be instance of class or class-constrained type
16 | timeout: Duration = .seconds(60),
17 | maxRetryCount: Int = 2,
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:8:9: warning: stored property 'session' of 'Sendable'-conforming struct 'CloudflareClient' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
6 | struct CloudflareClient: Sendable {
7 | let credentials: CloudflareCredentials
8 | let session: URLSession
| `- warning: stored property 'session' of 'Sendable'-conforming struct 'CloudflareClient' has non-Sendable type 'AnyObject'; this is an error in the Swift 6 language mode
9 | let timeout: Duration
10 | let maxRetryCount: Int
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:39:23: error: cannot find 'URLRequest' in scope
37 |
38 | let endpoint = URL(string: "https://api.cloudflare.com/client/v4/accounts/\(credentials.accountId)/ai/tomarkdown")!
39 | var request = URLRequest(url: endpoint)
| `- error: cannot find 'URLRequest' in scope
40 | request.httpMethod = "POST"
41 | request.timeoutInterval = timeout.timeInterval
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:50:58: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
48 | while true {
49 | do {
50 | let (data, response) = try await session.data(for: request)
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
51 |
52 | guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:67:59: error: cannot infer key path type from context; consider explicitly specifying a root type
65 | let decoded = try JSONDecoder().decode(APIEnvelope.self, from: data)
66 | guard decoded.success else {
67 | let messages = decoded.errors.map(\.message) + decoded.messages.map(\.message)
| `- error: cannot infer key path type from context; consider explicitly specifying a root type
68 | throw Swift2MDError.apiError(messages: messages)
69 | }
/host/spi-builder-workspace/Sources/Swift2MD/CloudflareClient.swift:67:93: error: cannot infer key path type from context; consider explicitly specifying a root type
65 | let decoded = try JSONDecoder().decode(APIEnvelope.self, from: data)
66 | guard decoded.success else {
67 | let messages = decoded.errors.map(\.message) + decoded.messages.map(\.message)
| `- error: cannot infer key path type from context; consider explicitly specifying a root type
68 | throw Swift2MDError.apiError(messages: messages)
69 | }
[20/77] Compiling Swift2MD MultipartFormData.swift
[21/77] Compiling Swift2MD ConversionResult.swift
BUILD FAILURE 6.3 wasm