The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Noora, reference 0.49.1 (b49330), with Swift 6.0 for Linux on 27 Aug 2025 21:58:25 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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.0-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.0
Building package at path:  $PWD
https://github.com/tuist/noora.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:2ffdcefcdb291d9eb78a77ed5e4b4766a710a1cb89004e0bfdb0fefda731df2f
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/tuist/path
Fetching https://github.com/apple/swift-log
[1/1335] Fetching rainbow
[68/1704] Fetching rainbow, path
[1705/5601] Fetching rainbow, path, swift-log
Fetched https://github.com/tuist/path from cache (0.36s)
Fetched https://github.com/apple/swift-log from cache (0.36s)
[1/15689] Fetching swift-argument-parser
Fetched https://github.com/onevcat/Rainbow from cache (0.85s)
Fetched https://github.com/apple/swift-argument-parser from cache (0.86s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (2.50s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.4 (0.87s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.90s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.0 (3.03s)
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 GenerateDoccReference
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/21] Write sources
[9/21] Write swift-version-24593BA9C3E375BF.txt
[11/45] Emitting module Logging
[12/45] Emitting module Rainbow
[13/46] Emitting module Path
[14/46] Compiling Path Path.swift
[15/47] Compiling Rainbow BackgroundColor.swift
[16/47] Compiling Rainbow CodesParser.swift
[17/47] Compiling Rainbow String+ConditionalStyling.swift
[18/47] Compiling Rainbow String+Rainbow.swift
[19/47] Compiling Rainbow StringGenerator.swift
[20/47] Compiling Rainbow Style.swift
[21/47] Wrapping AST for Path for debugging
[23/47] Emitting module ArgumentParserToolInfo
[24/47] Compiling ArgumentParserToolInfo ToolInfo.swift
[26/48] Compiling Rainbow Color.swift
[27/48] Compiling Rainbow ColorApproximation.swift
[27/48] Wrapping AST for ArgumentParserToolInfo for debugging
[29/48] Compiling Rainbow ConditionalStyleBuilder.swift
[30/48] Compiling Rainbow ControlCode.swift
[31/48] Compiling Rainbow HSLColorConverter.swift
[32/48] Compiling Rainbow ModesExtractor.swift
[33/48] Compiling Rainbow OutputTarget.swift
[34/48] Compiling Rainbow Rainbow.swift
[35/48] Compiling Rainbow StyledStringBuilder.swift
[37/93] Compiling Logging MetadataProvider.swift
[38/93] Compiling Logging LogHandler.swift
[39/93] Compiling Logging Locks.swift
[40/93] Compiling Logging Logging.swift
[41/94] Wrapping AST for Rainbow for debugging
[42/94] Wrapping AST for Logging for debugging
[44/129] Emitting module Noora
[45/133] Compiling Noora SelectableTable.swift
[46/133] Compiling Noora Table.swift
[47/133] Compiling Noora TableColumn.swift
[48/133] Compiling Noora Noora.swift
[49/133] Compiling Noora NooraMock.swift
[50/133] Compiling Noora StandardPipelineType.swift
[51/139] Compiling Noora LengthValidationRule.swift
[52/139] Compiling Noora NonEmptyValidationRule.swift
[53/139] Compiling Noora RegexValidationRule.swift
[54/139] Compiling Noora Validator.swift
[55/139] Compiling Noora ValidatableError.swift
[56/139] Compiling Noora ValidatableRule.swift
[57/139] Compiling Noora ValidationError.swift
[58/139] Compiling Noora InputValidating.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
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
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
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
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
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
36 |                 } else {
37 |                     self.timer?.invalidate()
[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
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
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
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
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
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
36 |                 } else {
37 |                     self.timer?.invalidate()
[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
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
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
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
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
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
36 |                 } else {
37 |                     self.timer?.invalidate()
[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
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
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
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
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
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
36 |                 } else {
37 |                     self.timer?.invalidate()
[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
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
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
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
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
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
36 |                 } else {
37 |                     self.timer?.invalidate()
[69/139] Compiling Noora Content.swift
[70/139] Compiling Noora Stack.swift
[71/139] Compiling Noora Character+isPrintable.swift
[72/139] Compiling Noora String+Rainbow.swift
[73/139] Compiling Noora String+ValidatableError.swift
[77/139] Compiling Noora Theme.swift
[78/139] Compiling Noora KeyStrokeListener.swift
[79/139] Compiling Noora SingleChoicePrompt.swift
[80/139] Compiling Noora PaginatedTable.swift
[84/139] Compiling ArgumentParser Tree.swift
[85/139] Compiling ArgumentParser CodingKeyValidator.swift
[86/139] Compiling ArgumentParser NonsenseFlagsValidator.swift
[87/139] Compiling ArgumentParser ParsableArgumentsValidation.swift
[88/139] Compiling ArgumentParser PositionalArgumentsValidator.swift
[89/139] Compiling ArgumentParser UniqueNamesValidator.swift
[90/139] Compiling Noora Alert.swift
[91/139] Compiling Noora CollapsibleStep.swift
[92/139] Compiling Noora MultipleChoicePrompt.swift
[93/139] Compiling Noora ProgressBarStep.swift
[94/139] Compiling Noora ProgressStep.swift
[102/140] Emitting module ArgumentParser
[109/140] Wrapping AST for Noora for debugging
[110/140] Write Objects.LinkFileList
[119/140] Compiling ArgumentParser DumpHelpGenerator.swift
[120/140] Compiling ArgumentParser HelpCommand.swift
[121/140] Compiling ArgumentParser HelpGenerator.swift
[122/140] Compiling ArgumentParser MessageInfo.swift
[123/140] Compiling ArgumentParser UsageGenerator.swift
[123/140] Archiving libNoora.a
[137/141] Wrapping AST for ArgumentParser for debugging
[139/153] Compiling examples_cli YesOrNoChoicePromptCommand.swift
[140/153] Compiling examples_cli TextPromptCommand.swift
[141/154] Compiling examples_cli AlertCommand.swift
[142/154] Compiling examples_cli CollapsibleStepCommand.swift
[143/154] Emitting module examples_cli
[144/154] Compiling examples_cli FormatCommand.swift
[145/154] Compiling examples_cli InfoCommand.swift
[146/154] Compiling examples_cli ExamplesCLI.swift
[147/154] Compiling examples_cli TableCommand.swift
[148/154] Compiling examples_cli ProgressStepCommand.swift
[149/154] Compiling examples_cli SingleChoicePromptCommand.swift
[150/154] Compiling examples_cli MultipleChoicePromptCommand.swift
[151/154] Compiling examples_cli ProgressBarStepCommand.swift
[152/155] Wrapping AST for examples-cli for debugging
[153/155] Write Objects.LinkFileList
[154/155] Linking examples-cli
Build complete! (32.42s)
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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:2ffdcefcdb291d9eb78a77ed5e4b4766a710a1cb89004e0bfdb0fefda731df2f
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.