Build Information
Successful build of NodeSwiftLogging, reference main (c05928), with Swift 6.4 for Linux on 22 Sep 2026 04:27:55 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-1":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/stevengharris/NodeSwiftLogging.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/stevengharris/NodeSwiftLogging
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at c05928d Fix typo in README
Cloned https://github.com/stevengharris/NodeSwiftLogging.git
Revision (git rev-parse @):
c05928d8bd767d48adcef1bdb353f015e44f3773
SUCCESS checkout https://github.com/stevengharris/NodeSwiftLogging.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/stevengharris/NodeSwiftLogging.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-1":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/kabiroberai/node-swift.git
[1/2405] Fetching node-swift
[2/10537] Fetching node-swift, swift-log
Fetched https://github.com/apple/swift-log.git (0.56s)
Fetched https://github.com/kabiroberai/node-swift.git (0.56s)
Computing version for https://github.com/kabiroberai/node-swift.git
Computed https://github.com/kabiroberai/node-swift.git at 1.5.2 (1.66s)
Fetching https://github.com/swiftlang/swift-syntax.git
[1/80002] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax.git (3.46s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 603.0.2 (4.65s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.20s)
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
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 603.0.2
Creating working copy for https://github.com/kabiroberai/node-swift.git
Working copy of https://github.com/kabiroberai/node-swift.git resolved at 1.5.2
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 740]
[Planning deferred tasks]
[144 / 304]
[162 / 332] SwiftSyntax510
[186 / 332] SwiftSyntax600
[200 / 332] Logging
[201 / 332] Logging
[211 / 335] SwiftSyntax602
[215 / 336] Logging-product
[220 / 337] SwiftSyntax510
[225 / 338] SwiftSyntax603
[230 / 339] SwiftSyntax
[235 / 348] SwiftSyntax
[236 / 348] SwiftSyntax
[238 / 348] SwiftSyntax
[239 / 349] SwiftSyntax
[240 / 349] Logging
[242 / 349] Logging
[242 / 349] SwiftSyntax
[253 / 360] SwiftDiagnostics
[255 / 377] SwiftParser
[255 / 377] SwiftBasicFormat
[258 / 377] SwiftDiagnostics
[264 / 377] SwiftBasicFormat
[269 / 377] SwiftParser
[270 / 377] SwiftParser
[271 / 377] SwiftParser
[273 / 377] SwiftParser
[278 / 377] SwiftParser
[280 / 377] SwiftDiagnostics
[281 / 377] SwiftDiagnostics
[282 / 377] SwiftDiagnostics
[283 / 377] SwiftOperators
[284 / 377] SwiftOperators
[286 / 377] SwiftDiagnostics
[287 / 377] SwiftBasicFormat
[289 / 378] SwiftParserDiagnostics
[293 / 380] SwiftOperators
[296 / 398] SwiftOperators
[297 / 398] SwiftParserDiagnostics
[298 / 399] SwiftParserDiagnostics
[299 / 400] SwiftParserDiagnostics
[300 / 400] SwiftOperators
[301 / 400] SwiftParserDiagnostics
[308 / 400] SwiftParserDiagnostics
[311 / 400] SwiftParserDiagnostics
[316 / 400] SwiftSyntaxBuilder
[320 / 400] SwiftOperators
[321 / 400] SwiftOperators
[323 / 400] SwiftOperators
[325 / 400] SwiftBasicFormat
[330 / 410] SwiftSyntaxBuilder
[331 / 410] SwiftSyntaxBuilder
[333 / 411] SwiftSyntaxBuilder
[334 / 412] SwiftSyntaxBuilder
[335 / 412] SwiftSyntaxBuilder
[336 / 412] SwiftSyntaxBuilder
[337 / 412] SwiftParserDiagnostics
[351 / 422] SwiftIfConfig
[352 / 422] SwiftIfConfig
[353 / 422] SwiftIfConfig
[354 / 422] SwiftIfConfig
[355 / 422] SwiftIfConfig
[356 / 422] SwiftIfConfig
[363 / 432] SwiftSyntaxMacros
[365 / 433] SwiftSyntaxMacros
[367 / 433] SwiftSyntaxMacros
[370 / 433] SwiftSyntaxMacros
[376 / 433] SwiftSyntaxMacros-product
[384 / 444] SwiftSyntaxMacroExpansion
[386 / 444] SwiftSyntaxMacros
[387 / 445] SwiftSyntaxMacros
[389 / 445] SwiftSyntaxMacros
[390 / 445] SwiftSyntaxMacroExpansion
[397 / 446] SwiftCompilerPluginMessageHandling
[401 / 455] SwiftCompilerPluginMessageHandling
[402 / 455] SwiftCompilerPluginMessageHandling
[403 / 455] SwiftCompilerPluginMessageHandling
[404 / 455] SwiftCompilerPluginMessageHandling
[405 / 455] SwiftCompilerPluginMessageHandling
[408 / 455] SwiftCompilerPluginMessageHandling
[414 / 458] SwiftCompilerPlugin
[420 / 459] SwiftSyntaxMacroExpansion
[421 / 459] SwiftCompilerPlugin
[422 / 460] SwiftCompilerPlugin
[423 / 460] SwiftCompilerPluginMessageHandling
[425 / 461] SwiftSyntax
[428 / 462] SwiftSyntax
[434 / 462] SwiftSyntaxBuilder
[444 / 463] NodeAPIMacros
[453 / 472] NodeAPIMacros
[454 / 472] NodeAPIMacros
[458 / 473] NodeAPIMacros
[459 / 474] NodeAPI
[468 / 483] NodeAPI
[469 / 483] NodeAPI
[477 / 490] NodeSwiftLogging
[480 / 490] NodeAPI
[483 / 491] NodeSwiftLogging
macro expansion @NodeConstructor:2:49: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
`- /host/spi-builder-workspace/Sources/NodeConsole.swift:52:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m45 |[0;0m /// });
[0;36m46 |[0;0m @NodeActor
[0;36m47 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:)' here[0;0m
[0;36m48 |[0;0m public init(callback: NodeFunction) throws {
[0;36m49 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeConsoleQueue")
[0;36m50 |[0;0m self.callback = callback
[0;36m51 |[0;0m Self.console = self
[0;36m52 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:) as @NodeActor (NodeFunction) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m53 |[0;0m
[0;36m54 |[0;0m /// Run the `callback` on the `nodeQueue`, passing the `message`.
/host/spi-builder-workspace/Sources/NodeLogHandler.swift:11:15: [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m9 |[0;0m
[0;36m10 |[0;0m /// A SwiftLog backend that logs to node.js
[0;36m11 |[0;0m public struct NodeLogHandler: LogHandler, Sendable {
[0;36m|[0;0m `- [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m12 |[0;0m
[0;36m13 |[0;0m public var logLevel: Logging.Logger.Level
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/LogHandler.swift:249:17: [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m136 |[0;0m ///
[0;36m137 |[0;0m /// - Parameter event: The log event containing the level, message, metadata, and source location.
[0;36m138 |[0;0m func log(event: LogEvent)
[0;36m|[0;0m `- [1;39mnote: [1;39mrequirement 'log(event:)' declared here[0;0m
[0;36m139 |[0;0m
[0;36m140 |[0;0m /// Please do _not_ implement this method when you create a `LogHandler` implementation.
[0;36m:[0;0m
[0;36m247 |[0;0m /// Implement ``log(event:)`` in your ``LogHandler`` instead.
[0;36m248 |[0;0m @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
[0;36m249 |[0;0m public func log(event: LogEvent) {
[0;36m|[0;0m `- [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m250 |[0;0m self.log(
[0;36m251 |[0;0m level: event.level,
macro expansion @NodeConstructor:2:60: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
`- /host/spi-builder-workspace/Sources/NodeLogger.swift:67:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m51 |[0;0m /// - jsonConfig: The JSON stringified NodeLoggerConfig from node.js if needed.
[0;36m52 |[0;0m @NodeActor
[0;36m53 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:jsonConfig:)' here[0;0m
[0;36m54 |[0;0m init(callback: NodeFunction, jsonConfig: String? = nil) throws {
[0;36m55 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeLoggerQueue")
[0;36m:[0;0m
[0;36m65 |[0;0m self.logger = logger
[0;36m66 |[0;0m Self.nodeLogger = self
[0;36m67 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:jsonConfig:) as @NodeActor (NodeFunction, String? ) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m68 |[0;0m
[0;36m69 |[0;0m /// Pass the log data from provided by the Logger to node.js.
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[488 / 491] NodeSwiftLogging
/host/spi-builder-workspace/Sources/NodeLogHandler.swift:11:15: [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m9 |[0;0m
[0;36m10 |[0;0m /// A SwiftLog backend that logs to node.js
[0;36m11 |[0;0m public struct NodeLogHandler: LogHandler, Sendable {
[0;36m|[0;0m `- [1;33mwarning: [1;39mdeprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m12 |[0;0m
[0;36m13 |[0;0m public var logLevel: Logging.Logger.Level
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/LogHandler.swift:249:17: [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m136 |[0;0m ///
[0;36m137 |[0;0m /// - Parameter event: The log event containing the level, message, metadata, and source location.
[0;36m138 |[0;0m func log(event: LogEvent)
[0;36m|[0;0m `- [1;39mnote: [1;39mrequirement 'log(event:)' declared here[0;0m
[0;36m139 |[0;0m
[0;36m140 |[0;0m /// Please do _not_ implement this method when you create a `LogHandler` implementation.
[0;36m:[0;0m
[0;36m247 |[0;0m /// Implement ``log(event:)`` in your ``LogHandler`` instead.
[0;36m248 |[0;0m @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
[0;36m249 |[0;0m public func log(event: LogEvent) {
[0;36m|[0;0m `- [1;39mnote: [1;39m'log(event:)' declared here[0;0m
[0;36m250 |[0;0m self.log(
[0;36m251 |[0;0m level: event.level,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
macro expansion @NodeConstructor:2:60: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
`- /host/spi-builder-workspace/Sources/NodeLogger.swift:67:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m51 |[0;0m /// - jsonConfig: The JSON stringified NodeLoggerConfig from node.js if needed.
[0;36m52 |[0;0m @NodeActor
[0;36m53 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:jsonConfig:)' here[0;0m
[0;36m54 |[0;0m init(callback: NodeFunction, jsonConfig: String? = nil) throws {
[0;36m55 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeLoggerQueue")
[0;36m:[0;0m
[0;36m65 |[0;0m self.logger = logger
[0;36m66 |[0;0m Self.nodeLogger = self
[0;36m67 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:jsonConfig:) as @NodeActor (NodeFunction, String? ) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction, String?) throws -> NodeLogger._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction, Optional<String>) throws -> NodeLogger') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m68 |[0;0m
[0;36m69 |[0;0m /// Pass the log data from provided by the Logger to node.js.
macro expansion @NodeConstructor:2:49: [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
`- /host/spi-builder-workspace/Sources/NodeConsole.swift:52:6: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m45 |[0;0m /// });
[0;36m46 |[0;0m @NodeActor
[0;36m47 |[0;0m [4;39m @NodeConstructor[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'NodeConstructor' on initializer 'init(callback:)' here[0;0m
[0;36m48 |[0;0m public init(callback: NodeFunction) throws {
[0;36m49 |[0;0m nodeQueue = try NodeAsyncQueue(label: "nodeConsoleQueue")
[0;36m50 |[0;0m self.callback = callback
[0;36m51 |[0;0m Self.console = self
[0;36m52 |[0;0m }
[0;36m +--- [0;0mmacro expansion @NodeConstructor [0;36m-------------------------------[0;0m
[0;36m |[0;0m[0;36m1 |[0;0m @NodeActor public static let construct
[0;36m |[0;0m[0;36m2 |[0;0m = NodeConstructor(_NodeSelf.init(callback:) as @NodeActor (NodeFunction) throws -> _NodeSelf)
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole._NodeSelf' (aka '@NodeActor @Sendable (NodeFunction) throws -> NodeConsole') may introduce data races[0;0m
[0;36m +-------------------------------------[0;0m[0;36m-------------------------------[0;0m
[0;36m53 |[0;0m
[0;36m54 |[0;0m /// Run the `callback` on the `nodeQueue`, passing the `message`.
Build complete! (66.61 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "node-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kabiroberai/node-swift.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "NodeSwiftLogging",
"name" : "NodeSwiftLogging",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "NodeSwiftLogging",
"targets" : [
"NodeSwiftLogging"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "NodeSwiftLogging",
"module_type" : "SwiftTarget",
"name" : "NodeSwiftLogging",
"path" : "Sources",
"product_dependencies" : [
"NodeAPI",
"Logging"
],
"product_memberships" : [
"NodeSwiftLogging"
],
"sources" : [
"NodeConsole.swift",
"NodeLogHandler.swift",
"NodeLogger.swift",
"NodeLoggerConfig.swift",
"NodeLoggerData.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.