Build Information
Successful build of Noora, reference 0.49.1 (b49330
), with Swift 6.2 (beta) for Linux on 27 Aug 2025 21:54:08 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/noora.git
Reference: 0.49.1
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/tuist/noora
* tag 0.49.1 -> FETCH_HEAD
HEAD is now at b493303 [Release] Noora CLI 0.49.1
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
b493303b36fb52611958f735e80f464e73699ba0
SUCCESS checkout https://github.com/tuist/noora.git at 0.49.1
========================================
Build
========================================
Selected platform: linux
Swift version: 6.2
Building package at path: $PWD
https://github.com/tuist/noora.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:c6c8e08ea30bca759adf847aac87887750120fe9b6eaea09f5af37036a41e81a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Fetching https://github.com/tuist/path
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/apple/swift-log
[1/1335] Fetching rainbow
[1270/1704] Fetching rainbow, path
[1705/5601] Fetching rainbow, path, swift-log
Fetched https://github.com/onevcat/Rainbow from cache (0.37s)
[1/15689] Fetching swift-argument-parser
Fetched https://github.com/tuist/path from cache (1.25s)
Fetched https://github.com/apple/swift-log from cache (1.25s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.26s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (4.50s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.4 (0.60s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.51s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.0 (2.88s)
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.2.0
Creating working copy for https://github.com/tuist/path
Working copy of https://github.com/tuist/path resolved at 0.3.8
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.4
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/21] Write sources
[9/21] Write swift-version-24593BA9C3E375BF.txt
[11/45] Compiling Rainbow BackgroundColor.swift
[12/45] Compiling Rainbow CodesParser.swift
[13/45] Emitting module Rainbow
[14/46] Compiling Rainbow String+ConditionalStyling.swift
[15/46] Compiling Rainbow String+Rainbow.swift
[16/46] Compiling Rainbow StringGenerator.swift
[17/46] Compiling Rainbow Style.swift
[18/46] Emitting module Path
[19/46] Compiling Path Path.swift
[20/47] Wrapping AST for Path for debugging
[22/47] Compiling ArgumentParserToolInfo ToolInfo.swift
[23/47] Emitting module ArgumentParserToolInfo
[24/48] Wrapping AST for ArgumentParserToolInfo for debugging
[26/92] Emitting module Logging
[27/92] Compiling Logging Locks.swift
[28/92] Compiling Logging MetadataProvider.swift
[29/92] Compiling ArgumentParser NameSpecification.swift
[30/92] Compiling ArgumentParser Option.swift
[31/92] Compiling ArgumentParser OptionGroup.swift
[32/92] Compiling ArgumentParser AsyncParsableCommand.swift
[33/92] Compiling ArgumentParser EnumerableFlag.swift
[34/92] Compiling ArgumentParser ExpressibleByArgument.swift
[35/92] Compiling ArgumentParser Errors.swift
[36/92] Compiling ArgumentParser Flag.swift
[37/92] Compiling Rainbow StyledStringBuilder.swift
[39/93] Compiling Logging Logging.swift
[40/93] Compiling Logging LogHandler.swift
[40/93] Wrapping AST for Rainbow for debugging
[42/94] Wrapping AST for Logging for debugging
[44/129] Emitting module Noora
[45/133] Compiling Noora LengthValidationRule.swift
[46/133] Compiling Noora NonEmptyValidationRule.swift
[47/133] Compiling Noora RegexValidationRule.swift
[48/133] Compiling Noora Validator.swift
[49/133] Compiling Noora ValidatableRule.swift
[50/133] Compiling Noora ValidationError.swift
[51/133] Compiling Noora InputValidating.swift
[55/139] Compiling Noora ValidatableError.swift
[59/139] Compiling Noora TableData.swift
[60/139] Compiling Noora TableRenderer.swift
[61/139] Compiling Noora TableStyle.swift
[62/139] Compiling Noora TextPrompt.swift
[63/139] Compiling Noora YesOrNoChoicePrompt.swift
[64/139] Compiling Noora Renderer.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[65/139] Compiling Noora Spinner.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[66/139] Compiling Noora StandardPipelines.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[67/139] Compiling Noora Terminal.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[68/139] Compiling Noora TerminalText.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
36 | } else {
37 | self.timer?.invalidate()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[69/139] Compiling Noora SingleChoicePrompt.swift
[70/139] Compiling Noora PaginatedTable.swift
[71/139] Compiling Noora SelectableTable.swift
[72/139] Compiling Noora Table.swift
[73/139] Compiling Noora TableColumn.swift
[74/139] Compiling Noora Content.swift
[75/139] Compiling Noora Stack.swift
[76/139] Compiling Noora Character+isPrintable.swift
[77/139] Compiling Noora String+Rainbow.swift
[78/139] Compiling Noora String+ValidatableError.swift
[79/139] Compiling Noora Noora.swift
[80/139] Compiling Noora NooraMock.swift
[81/139] Compiling Noora StandardPipelineType.swift
[82/139] Compiling Noora Theme.swift
[83/139] Compiling Noora KeyStrokeListener.swift
[84/139] Compiling Noora Alert.swift
[85/139] Compiling Noora CollapsibleStep.swift
[86/139] Compiling Noora MultipleChoicePrompt.swift
[87/139] Compiling Noora ProgressBarStep.swift
[88/139] Compiling Noora ProgressStep.swift
[89/139] Compiling ArgumentParser Tree.swift
[90/139] Compiling ArgumentParser CodingKeyValidator.swift
[91/139] Compiling ArgumentParser NonsenseFlagsValidator.swift
[92/139] Compiling ArgumentParser ParsableArgumentsValidation.swift
[93/139] Compiling ArgumentParser PositionalArgumentsValidator.swift
[94/139] Compiling ArgumentParser UniqueNamesValidator.swift
[95/140] Wrapping AST for Noora for debugging
[96/140] Write Objects.LinkFileList
[97/140] Archiving libNoora.a
[100/140] Compiling ArgumentParser InputOrigin.swift
[101/140] Compiling ArgumentParser Name.swift
[102/140] Compiling ArgumentParser Parsed.swift
[103/140] Compiling ArgumentParser ParsedValues.swift
[104/140] Compiling ArgumentParser ParserError.swift
[130/140] Emitting module ArgumentParser
[137/141] Wrapping AST for ArgumentParser for debugging
[139/153] Compiling examples_cli YesOrNoChoicePromptCommand.swift
[140/154] Compiling examples_cli ExamplesCLI.swift
[141/154] Compiling examples_cli ProgressStepCommand.swift
[142/154] Compiling examples_cli SingleChoicePromptCommand.swift
[143/154] Compiling examples_cli AlertCommand.swift
[144/154] Compiling examples_cli CollapsibleStepCommand.swift
[145/154] Compiling examples_cli FormatCommand.swift
[146/154] Compiling examples_cli InfoCommand.swift
[147/154] Emitting module examples_cli
[148/154] Compiling examples_cli MultipleChoicePromptCommand.swift
[149/154] Compiling examples_cli ProgressBarStepCommand.swift
[150/154] Compiling examples_cli TextPromptCommand.swift
[151/154] Compiling examples_cli TableCommand.swift
[152/155] Wrapping AST for examples-cli for debugging
[153/155] Write Objects.LinkFileList
[154/155] Linking examples-cli
Build complete! (38.24s)
Build complete.
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "4.2.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "path",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.8",
"upper_bound" : "0.4.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tuist/path"
}
],
"manifest_display_name" : "Noora",
"name" : "Noora",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "Noora",
"targets" : [
"Noora"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "examples-cli",
"targets" : [
"examples-cli"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "examples_cli",
"module_type" : "SwiftTarget",
"name" : "examples-cli",
"path" : "cli/Sources/examples-cli",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"examples-cli"
],
"sources" : [
"Commands/AlertCommand.swift",
"Commands/CollapsibleStepCommand.swift",
"Commands/FormatCommand.swift",
"Commands/InfoCommand.swift",
"Commands/MultipleChoicePromptCommand.swift",
"Commands/ProgressBarStepCommand.swift",
"Commands/ProgressStepCommand.swift",
"Commands/SingleChoicePromptCommand.swift",
"Commands/TableCommand.swift",
"Commands/TextPromptCommand.swift",
"Commands/YesOrNoChoicePromptCommand.swift",
"ExamplesCLI.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "executable"
},
{
"c99name" : "NooraTests",
"module_type" : "SwiftTarget",
"name" : "NooraTests",
"path" : "cli/Tests/NooraTests",
"sources" : [
"Components/CollapsibleStepTests.swift",
"Components/CompletionTests.swift",
"Components/MultipleChoicePromptTests.swift",
"Components/NooraTests.swift",
"Components/ProgressBarStepTests.swift",
"Components/ProgressStepTests.swift",
"Components/SingleChoicePromptTests.swift",
"Components/TableTests.swift",
"Components/TextPromptTests.swift",
"Components/YesOrNoChoicePromptTests.swift",
"Mocks/MockKeyStrokeListener.swift",
"Mocks/MockRenderer.swift",
"Mocks/MockSpinner.swift",
"Mocks/MockStandardPipeline.swift",
"Mocks/MockTerminal.swift",
"Mocks/MockValidator.swift",
"NooraTheme+Test.swift",
"Utilities/NooraMockTests.swift",
"Utilities/TerminalTextTests.swift",
"Validator/LengthValidationRuleTests.swift",
"Validator/NonEmptyValidationRuleTests.swift",
"Validator/RegexValidationRuleTests.swift",
"Validator/ValidatorTests.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "test"
},
{
"c99name" : "Noora",
"module_type" : "SwiftTarget",
"name" : "Noora",
"path" : "cli/Sources/Noora",
"product_dependencies" : [
"Rainbow",
"Logging",
"Path"
],
"product_memberships" : [
"Noora",
"examples-cli"
],
"sources" : [
"Components/Alert.swift",
"Components/CollapsibleStep.swift",
"Components/MultipleChoicePrompt.swift",
"Components/ProgressBarStep.swift",
"Components/ProgressStep.swift",
"Components/SingleChoicePrompt.swift",
"Components/Table/PaginatedTable.swift",
"Components/Table/SelectableTable.swift",
"Components/Table/Table.swift",
"Components/Table/TableColumn.swift",
"Components/Table/TableData.swift",
"Components/Table/TableRenderer.swift",
"Components/Table/TableStyle.swift",
"Components/TextPrompt.swift",
"Components/YesOrNoChoicePrompt.swift",
"Content.swift",
"DataStructures/Stack.swift",
"Extensions/Character+isPrintable.swift",
"Extensions/String+Rainbow.swift",
"Extensions/String+ValidatableError.swift",
"Noora.swift",
"NooraMock.swift",
"StandardPipelineType.swift",
"Theme.swift",
"Utilities/KeyStrokeListener.swift",
"Utilities/Renderer.swift",
"Utilities/Spinner.swift",
"Utilities/StandardPipelines.swift",
"Utilities/Terminal.swift",
"Utilities/TerminalText.swift",
"Validator/Core/ValidatableError.swift",
"Validator/Core/ValidatableRule.swift",
"Validator/Core/ValidationError.swift",
"Validator/InputValidating.swift",
"Validator/Rules/LengthValidationRule.swift",
"Validator/Rules/NonEmptyValidationRule.swift",
"Validator/Rules/RegexValidationRule.swift",
"Validator/Validator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8.1"
}
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:c6c8e08ea30bca759adf847aac87887750120fe9b6eaea09f5af37036a41e81a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Done.