Build Information
Successful build of SSpec, reference master (2e6842), with Swift 6.4 for macOS (SPM) on 16 Sep 2026 05:57:53 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dimakura/sspec.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dimakura/sspec
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 2e68427 Extensibility fixes (#33)
Cloned https://github.com/dimakura/sspec.git
Revision (git rev-parse @):
2e6842709607cdbfd3013e7df0dbe32b60932656
SUCCESS checkout https://github.com/dimakura/sspec.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/dimakura/sspec.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 126]
[Planning deferred tasks]
[31 / 56]
[44 / 73] Rainbow
[44 / 73] Progress
[53 / 73] Rainbow
[54 / 73] Rainbow
[56 / 73] Rainbow
[71 / 85] SSpec
[72 / 85] SSpec
[80 / 85] SSpec
[80 / 85] Rainbow
Build complete! (5.65 sec)
Fetching https://github.com/jkandzi/Progress.swift
Fetching https://github.com/onevcat/Rainbow
[1/1478] Fetching rainbow
[2/1943] Fetching rainbow, progress.swift
Fetched https://github.com/onevcat/Rainbow (1.04s)
Fetched https://github.com/jkandzi/Progress.swift (1.04s)
Computing version for https://github.com/jkandzi/Progress.swift
Computed https://github.com/jkandzi/Progress.swift at 0.4.0 (1.73s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 3.2.0 (0.66s)
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 3.2.0
Creating working copy for https://github.com/jkandzi/Progress.swift
Working copy of https://github.com/jkandzi/Progress.swift resolved at 0.4.0
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m return id
[0;36m54 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Expectations/Array.swift:18:32: [1;33mwarning: [1;39muse of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Expectations for equatable arrays.
[0;36m18 |[0;0m extension SSExpect where T == [Equatable] {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m19 |[0;0m private func areEqual<X: Equatable>(_ a: T?, _ b: [X]) -> Bool {
[0;36m20 |[0;0m guard let A = a as? [X] else { return false }
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m return id
[0;36m54 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m return id
[0;36m54 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Expectations/Array.swift:18:32: [1;33mwarning: [1;39muse of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Expectations for equatable arrays.
[0;36m18 |[0;0m extension SSExpect where T == [Equatable] {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m19 |[0;0m private func areEqual<X: Equatable>(_ a: T?, _ b: [X]) -> Bool {
[0;36m20 |[0;0m guard let A = a as? [X] else { return false }
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m return id
[0;36m54 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m return id
[0;36m54 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m return id
[0;36m54 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m53 |[0;0m return id
[0;36m54 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "progress.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/jkandzi/Progress.swift"
}
],
"manifest_display_name" : "SSpec",
"name" : "SSpec",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SSpec",
"targets" : [
"SSpec"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SSpecTests",
"module_type" : "SwiftTarget",
"name" : "SSpecTests",
"path" : "Tests/SSpecTests",
"sources" : [
"Extensions/DummyExtension.swift",
"General/ArraySpec.swift",
"General/BeforeAfterSpec.swift",
"General/BoolSpec.swift",
"General/EquatableSpec.swift",
"General/NilableSpec.swift",
"General/StringSpec.swift",
"SSpec/ExtensionSpec.swift",
"SSpec/NodeSpec.swift",
"SSpec/SessionSpec.swift",
"SSpec/VersionSpec.swift",
"SSpecTests.swift"
],
"target_dependencies" : [
"SSpec"
],
"type" : "test"
},
{
"c99name" : "SSpec",
"module_type" : "SwiftTarget",
"name" : "SSpec",
"path" : "Sources/SSpec",
"product_dependencies" : [
"Rainbow",
"Progress"
],
"product_memberships" : [
"SSpec"
],
"sources" : [
"Collectors/DotReporter.swift",
"Collectors/ProgressReporter.swift",
"Collectors/Reporter.swift",
"Collectors/SpecReporter.swift",
"Collectors/TimeTaken.swift",
"Collectors/Welcomer.swift",
"Expectations/Array.swift",
"Expectations/Bool.swift",
"Expectations/Change.swift",
"Expectations/Comparable.swift",
"Expectations/Equatable.swift",
"Expectations/Generic.swift",
"Expectations/String.swift",
"Expectations/ToString.swift",
"SSpec.swift",
"Session/Events.swift",
"Session/Session.swift",
"Session/Tree.swift",
"Tree/After.swift",
"Tree/Before.swift",
"Tree/Describe.swift",
"Tree/Example.swift",
"Tree/IdGenerator.swift",
"Tree/Node.swift",
"Tree/Root.swift",
"Version.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.