Build Information
Successful build of Rainbow, reference 4.2.0 (16da5c
), with Swift 6.1 for macOS (SPM) on 26 Jul 2025 09:57:30 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/onevcat/Rainbow.git
Reference: 4.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/onevcat/Rainbow
* tag 4.2.0 -> FETCH_HEAD
HEAD is now at 16da5c6 Bump version to 4.2.0
Cloned https://github.com/onevcat/Rainbow.git
Revision (git rev-parse @):
16da5c62dd737258c6df2e8c430f8a3202f655a7
SUCCESS checkout https://github.com/onevcat/Rainbow.git at 4.2.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "rainbow",
"name": "Rainbow",
"url": "https://github.com/onevcat/Rainbow.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Rainbow",
"dependencies": [
]
}
]
}
Fetching https://github.com/onevcat/Rainbow.git
[1/1335] Fetching rainbow
Fetched https://github.com/onevcat/Rainbow.git from cache (0.93s)
Creating working copy for https://github.com/onevcat/Rainbow.git
Working copy of https://github.com/onevcat/Rainbow.git resolved at 4.2.0 (16da5c6)
warning: '.resolve-product-dependencies': dependency 'rainbow' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/onevcat/Rainbow.git
https://github.com/onevcat/Rainbow.git
{
"dependencies" : [
],
"manifest_display_name" : "Rainbow",
"name" : "Rainbow",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Rainbow",
"targets" : [
"Rainbow"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RainbowPlayground",
"targets" : [
"RainbowPlayground"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "RainbowTests",
"module_type" : "SwiftTarget",
"name" : "RainbowTests",
"path" : "Tests",
"sources" : [
"RainbowTests/ColorApproximatedTests.swift",
"RainbowTests/ColorTests.swift",
"RainbowTests/ConditionalStylingTests.swift",
"RainbowTests/ConsoleStringTests.swift",
"RainbowTests/ConsoleTextParserTests.swift",
"RainbowTests/EdgeCaseTests.swift",
"RainbowTests/HSLColorTests.swift",
"RainbowTests/PerformanceTests.swift",
"RainbowTests/RainbowTests.swift",
"RainbowTests/StyledStringBuilderTests.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "test"
},
{
"c99name" : "RainbowPlayground",
"module_type" : "SwiftTarget",
"name" : "RainbowPlayground",
"path" : "Playground",
"product_memberships" : [
"RainbowPlayground"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "executable"
},
{
"c99name" : "Rainbow",
"module_type" : "SwiftTarget",
"name" : "Rainbow",
"path" : "Sources",
"product_memberships" : [
"Rainbow",
"RainbowPlayground"
],
"sources" : [
"BackgroundColor.swift",
"CodesParser.swift",
"Color.swift",
"ColorApproximation.swift",
"ConditionalStyleBuilder.swift",
"ControlCode.swift",
"HSLColorConverter.swift",
"ModesExtractor.swift",
"OutputTarget.swift",
"Rainbow.swift",
"String+ConditionalStyling.swift",
"String+Rainbow.swift",
"StringGenerator.swift",
"Style.swift",
"StyledStringBuilder.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/7] Write sources
[2/7] Write RainbowPlayground-entitlement.plist
[3/7] Write swift-version-2F0A5646E1D333AE.txt
[5/22] Compiling Rainbow String+Rainbow.swift
[6/23] Compiling Rainbow Style.swift
[7/23] Compiling Rainbow String+ConditionalStyling.swift
[8/23] Compiling Rainbow StringGenerator.swift
[9/23] Compiling Rainbow StyledStringBuilder.swift
[10/23] Compiling Rainbow ConditionalStyleBuilder.swift
[11/23] Compiling Rainbow ControlCode.swift
[12/23] Compiling Rainbow OutputTarget.swift
/Users/admin/builder/spi-builder-workspace/Sources/OutputTarget.swift:46:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// Detected output target by current environment.
46 | static var current: OutputTarget = {
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:98:23: warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
96 | /// Output target for `Rainbow`. `Rainbow` should detect correct target itself, so you rarely need to set it.
97 | /// However, if you want the colorized string to be different, or the detection is not correct, you can set it manually.
98 | public static var outputTarget = OutputTarget.current
| |- warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'outputTarget' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'outputTarget' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
99 |
100 | static var environment = ProcessInfo.processInfo.environment
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:100:16: warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | public static var outputTarget = OutputTarget.current
99 |
100 | static var environment = ProcessInfo.processInfo.environment
| |- warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environment' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'environment' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static func hasValidValueInEnvironment(_ key: String) -> Bool {
102 | guard !key.isEmpty, let value = environment[key] else {
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:121:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
119 | /// set and `FORCE_COLOR` not set to a valid value ("0" or empty value is treated as "unset". `FORCE_COLOR` has
120 | /// higher priority than `NO_COLOR` if set).
121 | public static var enabled = environmentAvailable
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'enabled' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
122 |
123 | public static func extractEntry(for string: String) -> Entry {
[13/23] Compiling Rainbow Rainbow.swift
/Users/admin/builder/spi-builder-workspace/Sources/OutputTarget.swift:46:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// Detected output target by current environment.
46 | static var current: OutputTarget = {
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:98:23: warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
96 | /// Output target for `Rainbow`. `Rainbow` should detect correct target itself, so you rarely need to set it.
97 | /// However, if you want the colorized string to be different, or the detection is not correct, you can set it manually.
98 | public static var outputTarget = OutputTarget.current
| |- warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'outputTarget' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'outputTarget' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
99 |
100 | static var environment = ProcessInfo.processInfo.environment
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:100:16: warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | public static var outputTarget = OutputTarget.current
99 |
100 | static var environment = ProcessInfo.processInfo.environment
| |- warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environment' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'environment' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static func hasValidValueInEnvironment(_ key: String) -> Bool {
102 | guard !key.isEmpty, let value = environment[key] else {
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:121:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
119 | /// set and `FORCE_COLOR` not set to a valid value ("0" or empty value is treated as "unset". `FORCE_COLOR` has
120 | /// higher priority than `NO_COLOR` if set).
121 | public static var enabled = environmentAvailable
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'enabled' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
122 |
123 | public static func extractEntry(for string: String) -> Entry {
[14/23] Compiling Rainbow Color.swift
[15/23] Compiling Rainbow ColorApproximation.swift
[16/23] Emitting module Rainbow
/Users/admin/builder/spi-builder-workspace/Sources/OutputTarget.swift:46:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// Detected output target by current environment.
46 | static var current: OutputTarget = {
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:98:23: warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
96 | /// Output target for `Rainbow`. `Rainbow` should detect correct target itself, so you rarely need to set it.
97 | /// However, if you want the colorized string to be different, or the detection is not correct, you can set it manually.
98 | public static var outputTarget = OutputTarget.current
| |- warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'outputTarget' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'outputTarget' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
99 |
100 | static var environment = ProcessInfo.processInfo.environment
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:100:16: warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | public static var outputTarget = OutputTarget.current
99 |
100 | static var environment = ProcessInfo.processInfo.environment
| |- warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environment' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'environment' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static func hasValidValueInEnvironment(_ key: String) -> Bool {
102 | guard !key.isEmpty, let value = environment[key] else {
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:121:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
119 | /// set and `FORCE_COLOR` not set to a valid value ("0" or empty value is treated as "unset". `FORCE_COLOR` has
120 | /// higher priority than `NO_COLOR` if set).
121 | public static var enabled = environmentAvailable
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'enabled' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
122 |
123 | public static func extractEntry(for string: String) -> Entry {
[17/23] Compiling Rainbow HSLColorConverter.swift
[18/23] Compiling Rainbow ModesExtractor.swift
[19/23] Compiling Rainbow BackgroundColor.swift
[20/23] Compiling Rainbow CodesParser.swift
[21/25] Compiling RainbowPlayground main.swift
[22/25] Emitting module RainbowPlayground
[22/25] Write Objects.LinkFileList
[23/25] Linking RainbowPlayground
[24/25] Applying RainbowPlayground
Build complete! (4.88s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Rainbow",
"name" : "Rainbow",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Rainbow",
"targets" : [
"Rainbow"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RainbowPlayground",
"targets" : [
"RainbowPlayground"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "RainbowTests",
"module_type" : "SwiftTarget",
"name" : "RainbowTests",
"path" : "Tests",
"sources" : [
"RainbowTests/ColorApproximatedTests.swift",
"RainbowTests/ColorTests.swift",
"RainbowTests/ConditionalStylingTests.swift",
"RainbowTests/ConsoleStringTests.swift",
"RainbowTests/ConsoleTextParserTests.swift",
"RainbowTests/EdgeCaseTests.swift",
"RainbowTests/HSLColorTests.swift",
"RainbowTests/PerformanceTests.swift",
"RainbowTests/RainbowTests.swift",
"RainbowTests/StyledStringBuilderTests.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "test"
},
{
"c99name" : "RainbowPlayground",
"module_type" : "SwiftTarget",
"name" : "RainbowPlayground",
"path" : "Playground",
"product_memberships" : [
"RainbowPlayground"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "executable"
},
{
"c99name" : "Rainbow",
"module_type" : "SwiftTarget",
"name" : "Rainbow",
"path" : "Sources",
"product_memberships" : [
"Rainbow",
"RainbowPlayground"
],
"sources" : [
"BackgroundColor.swift",
"CodesParser.swift",
"Color.swift",
"ColorApproximation.swift",
"ConditionalStyleBuilder.swift",
"ControlCode.swift",
"HSLColorConverter.swift",
"ModesExtractor.swift",
"OutputTarget.swift",
"Rainbow.swift",
"String+ConditionalStyling.swift",
"String+Rainbow.swift",
"StringGenerator.swift",
"Style.swift",
"StyledStringBuilder.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.