Build Information
Successful build of RPiLight, reference main (c546e2), with Swift 6.4 for Linux on 18 Sep 2026 02:12:42 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/kaiede/rpilight.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/kaiede/rpilight
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at c546e24 Fix Bootstrap Script for Development Only Use
Cloned https://github.com/kaiede/rpilight.git
Revision (git rev-parse @):
c546e24b00bd0c9bfe9c2f3dc4467f2d388f8b38
SUCCESS checkout https://github.com/kaiede/rpilight.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/kaiede/rpilight.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/Kaiede/PCA9685.git
Fetching https://github.com/Kaiede/SingleBoard.git
Fetching https://github.com/jpsim/Yams.git
Fetching https://github.com/Kaiede/MCP4725.git
Fetching https://github.com/Kaiede/Ephemeris.git
Fetching https://github.com/apple/swift-log.git
[1/28] Fetching mcp4725
[29/98] Fetching mcp4725, pca9685
[57/375] Fetching mcp4725, pca9685, singleboard
[116/585] Fetching mcp4725, pca9685, singleboard, ephemeris
Fetched https://github.com/Kaiede/PCA9685.git (0.44s)
Fetched https://github.com/Kaiede/Ephemeris.git (0.45s)
Fetching https://github.com/kareman/Moderator.git
[283/305] Fetching mcp4725, singleboard
Fetched https://github.com/Kaiede/MCP4725.git (0.48s)
[1/8096] Fetching swift-log
[82/19957] Fetching swift-log, yams
Fetched https://github.com/apple/swift-log.git (0.64s)
[5812/11861] Fetching yams
[8897/12519] Fetching yams, moderator
Fetched https://github.com/Kaiede/SingleBoard.git (1.16s)
Fetched https://github.com/jpsim/Yams.git (1.17s)
[468/658] Fetching moderator
Fetched https://github.com/kareman/Moderator.git (0.87s)
Computing version for https://github.com/Kaiede/SingleBoard.git
Computed https://github.com/Kaiede/SingleBoard.git at 1.0.0 (2.48s)
Computing version for https://github.com/Kaiede/MCP4725.git
Computed https://github.com/Kaiede/MCP4725.git at 0.1.0 (0.16s)
Computing version for https://github.com/Kaiede/PCA9685.git
Computed https://github.com/Kaiede/PCA9685.git at 3.0.0 (0.17s)
Computing version for https://github.com/Kaiede/Ephemeris.git
Computed https://github.com/Kaiede/Ephemeris.git at 1.0.2 (0.17s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 2.0.0 (0.19s)
Computing version for https://github.com/kareman/Moderator.git
Computed https://github.com/kareman/Moderator.git at 0.5.1 (0.23s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.21s)
Creating working copy for https://github.com/Kaiede/Ephemeris.git
Working copy of https://github.com/Kaiede/Ephemeris.git resolved at 1.0.2
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/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 2.0.0
Creating working copy for https://github.com/Kaiede/PCA9685.git
Working copy of https://github.com/Kaiede/PCA9685.git resolved at 3.0.0
Creating working copy for https://github.com/Kaiede/MCP4725.git
Working copy of https://github.com/Kaiede/MCP4725.git resolved at 0.1.0
Creating working copy for https://github.com/Kaiede/SingleBoard.git
Working copy of https://github.com/Kaiede/SingleBoard.git resolved at 1.0.0
Creating working copy for https://github.com/kareman/Moderator.git
Working copy of https://github.com/kareman/Moderator.git resolved at 0.5.1
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 335]
[Planning deferred tasks]
[50 / 147] Logging
[88 / 180] Logging
[92 / 180] Logging
[95 / 180] Logging
[107 / 180] Ephemeris
[116 / 180] SingleBoard-product
[117 / 180] Moderator
[119 / 180] SingleBoard
[120 / 180] Moderator-product
[121 / 180] SingleBoard
[123 / 180] SingleBoard
[128 / 181] SingleBoard
[134 / 182] Ephemeris-product
[137 / 182] CYaml
[144 / 192] Yams
[148 / 193] Yams
[149 / 194] Yams
[155 / 194]
[161 / 200] MCP4725
[180 / 210] LED
[181 / 210] LED
[189 / 211] LED
[195 / 212]
[202 / 222] Service
[206 / 223] Service
[218 / 225] LED
/host/spi-builder-workspace/Sources/RPiLight/ServiceGlue.swift:54:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'LEDChannel' to imported protocol 'Channel'; this will not behave correctly if the owners of 'LED' introduce this conformance in the future[0;0m
[0;36m52 |[0;0m }
[0;36m53 |[0;0m
[0;36m54 |[0;0m extension LEDChannel: Channel {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'LEDChannel' to imported protocol 'Channel'; this will not behave correctly if the owners of 'LED' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m55 |[0;0m
[0;36m56 |[0;0m extension ServiceControllerDescription: LEDModuleConfig {}
/host/spi-builder-workspace/Sources/RPiLight/ServiceGlue.swift:56:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ServiceControllerDescription' to imported protocol 'LEDModuleConfig'; this will not behave correctly if the owners of 'Service' introduce this conformance in the future[0;0m
[0;36m54 |[0;0m extension LEDChannel: Channel {}
[0;36m55 |[0;0m
[0;36m56 |[0;0m extension ServiceControllerDescription: LEDModuleConfig {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ServiceControllerDescription' to imported protocol 'LEDModuleConfig'; this will not behave correctly if the owners of 'Service' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m57 |[0;0m
[0;36m58 |[0;0m // MARK: Casting Support between Logging and Service types
/host/spi-builder-workspace/Sources/RPiLight/ServiceLogHandler.swift:31:7: [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;36m29 |[0;0m // swiftlint:disable function_parameter_count
[0;36m30 |[0;0m
[0;36m31 |[0;0m class ServiceLogHandler: LogHandler {
[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;36m32 |[0;0m private static var stdOut: StdoutOutputStream = StdoutOutputStream()
[0;36m33 |[0;0m private static var stdErr: StderrOutputStream = StderrOutputStream()
/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>
[223 / 230] RPiLight-product
[225 / 230] Service
/host/spi-builder-workspace/Sources/RPiLight/ServiceLogHandler.swift:31:7: [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;36m29 |[0;0m // swiftlint:disable function_parameter_count
[0;36m30 |[0;0m
[0;36m31 |[0;0m class ServiceLogHandler: LogHandler {
[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;36m32 |[0;0m private static var stdOut: StdoutOutputStream = StdoutOutputStream()
[0;36m33 |[0;0m private static var stdErr: StderrOutputStream = StderrOutputStream()
/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>
/host/spi-builder-workspace/Sources/RPiLight/ServiceGlue.swift:54:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'LEDChannel' to imported protocol 'Channel'; this will not behave correctly if the owners of 'LED' introduce this conformance in the future[0;0m
[0;36m52 |[0;0m }
[0;36m53 |[0;0m
[0;36m54 |[0;0m extension LEDChannel: Channel {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'LEDChannel' to imported protocol 'Channel'; this will not behave correctly if the owners of 'LED' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m55 |[0;0m
[0;36m56 |[0;0m extension ServiceControllerDescription: LEDModuleConfig {}
/host/spi-builder-workspace/Sources/RPiLight/ServiceGlue.swift:56:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ServiceControllerDescription' to imported protocol 'LEDModuleConfig'; this will not behave correctly if the owners of 'Service' introduce this conformance in the future[0;0m
[0;36m54 |[0;0m extension LEDChannel: Channel {}
[0;36m55 |[0;0m
[0;36m56 |[0;0m extension ServiceControllerDescription: LEDModuleConfig {}
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ServiceControllerDescription' to imported protocol 'LEDModuleConfig'; this will not behave correctly if the owners of 'Service' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m57 |[0;0m
[0;36m58 |[0;0m // MARK: Casting Support between Logging and Service types
[228 / 231] RPiLight-product
[232 / 232] RPiLight-product
Build complete! (9.32 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "moderator",
"requirement" : {
"range" : [
{
"lower_bound" : "0.5.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kareman/Moderator.git"
},
{
"identity" : "yams",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/jpsim/Yams.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"
},
{
"identity" : "ephemeris",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Kaiede/Ephemeris.git"
},
{
"identity" : "pca9685",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Kaiede/PCA9685.git"
},
{
"identity" : "mcp4725",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Kaiede/MCP4725.git"
},
{
"identity" : "singleboard",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Kaiede/SingleBoard.git"
}
],
"manifest_display_name" : "RPiLight",
"name" : "RPiLight",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "RPiLight",
"targets" : [
"RPiLight"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "ServiceTests",
"module_type" : "SwiftTarget",
"name" : "ServiceTests",
"path" : "Tests/ServiceTests",
"sources" : [
"BehaviorTests.swift",
"ChannelControllerTests.swift",
"DayTimeTests.swift",
"EventTests.swift",
"LayerTests.swift",
"LightControllerTests.swift",
"ScheduleDescriptionTests.swift",
"ServiceDescriptionTests.swift",
"SwiftExtensionsTests.swift"
],
"target_dependencies" : [
"Service"
],
"type" : "test"
},
{
"c99name" : "Service",
"module_type" : "SwiftTarget",
"name" : "Service",
"path" : "Sources/Service",
"product_dependencies" : [
"Logging",
"Ephemeris",
"Yams"
],
"product_memberships" : [
"RPiLight"
],
"sources" : [
"Behavior.swift",
"ChannelController.swift",
"ChannelPoint.swift",
"DayTime.swift",
"Event.swift",
"Layer.swift",
"LightController.swift",
"LogUtilities.swift",
"ScheduleDescription.swift",
"ServiceDescription.swift",
"SwiftExtensions.swift",
"Timers.swift"
],
"target_dependencies" : [
"LED"
],
"type" : "library"
},
{
"c99name" : "RPiLight",
"module_type" : "SwiftTarget",
"name" : "RPiLight",
"path" : "Sources/RPiLight",
"product_dependencies" : [
"Moderator"
],
"product_memberships" : [
"RPiLight"
],
"sources" : [
"LightService.swift",
"ServiceGlue.swift",
"ServiceLogHandler.swift",
"main.swift"
],
"target_dependencies" : [
"Service"
],
"type" : "executable"
},
{
"c99name" : "LEDTests",
"module_type" : "SwiftTarget",
"name" : "LEDTests",
"path" : "Tests/LEDTests",
"sources" : [
"ChannelTests.swift",
"ModuleTests.swift",
"TypeTests.swift"
],
"target_dependencies" : [
"LED"
],
"type" : "test"
},
{
"c99name" : "LED",
"module_type" : "SwiftTarget",
"name" : "LED",
"path" : "Sources/LED",
"product_dependencies" : [
"Logging",
"MCP4725",
"PCA9685",
"SingleBoard"
],
"product_memberships" : [
"RPiLight"
],
"sources" : [
"LEDModule.swift",
"LEDModule_Internal.swift",
"MCP4725.swift",
"PCA9685.swift",
"RaspberryPi.swift",
"Simulated.swift",
"Types.swift",
"Utilities.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
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.