Build Information
Failed to build Rainbow, reference 4.1.0 (0c627a
), with Swift 6.1 for Android on 30 May 2025 04:41:07 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/onevcat/Rainbow.git
Reference: 4.1.0
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/onevcat/Rainbow
* tag 4.1.0 -> FETCH_HEAD
HEAD is now at 0c627a4 Upgrade project settings
Cloned https://github.com/onevcat/Rainbow.git
Revision (git rev-parse @):
0c627a4f8a39ef37eadec1ceec02e4a7f55561ac
SUCCESS checkout https://github.com/onevcat/Rainbow.git at 4.1.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/onevcat/Rainbow.git
https://github.com/onevcat/Rainbow.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Rainbow",
"name" : "Rainbow",
"path" : "/host/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/ConsoleStringTests.swift",
"RainbowTests/ConsoleTextParserTests.swift",
"RainbowTests/RainbowTests.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",
"ControlCode.swift",
"ModesExtractor.swift",
"OutputTarget.swift",
"Rainbow.swift",
"String+Rainbow.swift",
"StringGenerator.swift",
"Style.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Building for debugging...
[0/7] Write sources
[2/7] Write swift-version-24593BA9C3E375BF.txt
[4/18] Compiling Rainbow StringGenerator.swift
[5/19] Compiling Rainbow String+Rainbow.swift
[6/19] Compiling Rainbow Style.swift
[7/19] Compiling Rainbow Rainbow.swift
/host/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
/host/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 {
/host/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 {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/19] Compiling Rainbow ControlCode.swift
[9/19] Compiling Rainbow ModesExtractor.swift
[10/19] Compiling Rainbow BackgroundColor.swift
[11/19] Compiling Rainbow CodesParser.swift
[12/19] Compiling Rainbow Color.swift
[13/19] Compiling Rainbow ColorApproximation.swift
[14/19] Emitting module Rainbow
/host/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")
/host/spi-builder-workspace/Sources/OutputTarget.swift:49:58: error: cannot find 'isatty' in scope
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
49 | if let t = termType, t.lowercased() != "dumb" && isatty(fileno(stdout)) != 0 {
| `- error: cannot find 'isatty' in scope
50 | return .console
51 | }
/host/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
/host/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 {
/host/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 {
[15/19] Compiling Rainbow OutputTarget.swift
/host/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")
/host/spi-builder-workspace/Sources/OutputTarget.swift:49:58: error: cannot find 'isatty' in scope
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
49 | if let t = termType, t.lowercased() != "dumb" && isatty(fileno(stdout)) != 0 {
| `- error: cannot find 'isatty' in scope
50 | return .console
51 | }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/5] Write swift-version-24593BA9C3E375BF.txt
[2/16] Compiling Rainbow StringGenerator.swift
[3/16] Compiling Rainbow String+Rainbow.swift
[4/17] Compiling Rainbow Rainbow.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/17] Compiling Rainbow ControlCode.swift
[6/17] Compiling Rainbow ModesExtractor.swift
[7/17] Compiling Rainbow BackgroundColor.swift
[8/17] Compiling Rainbow CodesParser.swift
[9/17] Compiling Rainbow Color.swift
[10/17] Compiling Rainbow ColorApproximation.swift
[11/17] Emitting module Rainbow
/host/spi-builder-workspace/Sources/OutputTarget.swift:49:58: error: cannot find 'isatty' in scope
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
49 | if let t = termType, t.lowercased() != "dumb" && isatty(fileno(stdout)) != 0 {
| `- error: cannot find 'isatty' in scope
50 | return .console
51 | }
[12/17] Compiling Rainbow OutputTarget.swift
/host/spi-builder-workspace/Sources/OutputTarget.swift:49:58: error: cannot find 'isatty' in scope
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
49 | if let t = termType, t.lowercased() != "dumb" && isatty(fileno(stdout)) != 0 {
| `- error: cannot find 'isatty' in scope
50 | return .console
51 | }
[13/17] Compiling Rainbow Style.swift
BUILD FAILURE 6.1 android