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.51.3 (99d3be), with Swift 6.0 for Linux on 5 Dec 2025 18:08:55 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/noora.git
Reference: 0.51.3
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.51.3     -> FETCH_HEAD
HEAD is now at 99d3bef [Release] Noora CLI 0.51.3
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
99d3bef655819d530ad467c017ae4ff7db27b0a3
SUCCESS checkout https://github.com/tuist/noora.git at 0.51.3
========================================
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-2":/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:d50cceb83aba9237d7903cc3c4ef7bd8f8bfaaf83777b35554908a03d392fd03
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/tuist/path
Fetching https://github.com/apple/swift-log
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/onevcat/Rainbow
[1/381] Fetching path
[382/1720] Fetching path, rainbow
[1721/7429] Fetching path, rainbow, swift-log
[2349/24306] Fetching path, rainbow, swift-log, swift-argument-parser
Fetched https://github.com/onevcat/Rainbow from cache (1.40s)
Fetched https://github.com/tuist/path from cache (1.40s)
Fetched https://github.com/apple/swift-log from cache (1.41s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.42s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (2.66s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.7.1 (0.79s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.2 (1.29s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.0 (2.74s)
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.2
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/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.2.0
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.7.1
[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 Rainbow
[12/45] Compiling Rainbow BackgroundColor.swift
[13/45] Compiling Rainbow CodesParser.swift
[14/46] Compiling Rainbow StringGenerator.swift
[15/46] Compiling Rainbow Style.swift
[16/46] Compiling Rainbow String+ConditionalStyling.swift
[17/46] Compiling Rainbow String+Rainbow.swift
[18/46] Emitting module Path
[19/46] Compiling Path Path.swift
[20/47] Compiling ArgumentParserToolInfo ToolInfo.swift
[21/47] Emitting module ArgumentParserToolInfo
[23/48] Wrapping AST for Path for debugging
[24/48] Wrapping AST for ArgumentParserToolInfo for debugging
[26/92] Compiling Logging Locks.swift
[27/92] Compiling Logging MetadataProvider.swift
[28/92] Compiling ArgumentParser FishCompletionsGenerator.swift
[29/92] Compiling ArgumentParser ZshCompletionsGenerator.swift
[30/92] Compiling ArgumentParser Flag.swift
[31/92] Compiling ArgumentParser NameSpecification.swift
[32/92] Compiling ArgumentParser ArgumentHelp.swift
[33/92] Compiling ArgumentParser ArgumentVisibility.swift
[34/92] Compiling ArgumentParser CompletionKind.swift
[35/92] Compiling ArgumentParser Errors.swift
[36/92] Compiling Rainbow StyledStringBuilder.swift
[38/93] Compiling Logging LogHandler.swift
[39/93] Compiling Logging Logging.swift
[40/93] Emitting module Logging
[41/94] Wrapping AST for Rainbow for debugging
[42/94] Wrapping AST for Logging for debugging
[44/130] Compiling Noora TerminalText.swift
[45/130] Compiling Noora ValidatableError.swift
[46/130] Compiling Noora ValidatableRule.swift
[47/130] Compiling Noora ValidationError.swift
[48/130] Compiling Noora InputValidating.swift
[49/134] Emitting module Noora
[50/134] Compiling Noora ProgressBarStep.swift
[51/134] Compiling Noora ProgressStep.swift
[52/134] Compiling Noora Renderer.swift
[53/134] Compiling Noora Spinner.swift
[54/134] Compiling Noora StandardPipelines.swift
[55/134] Compiling Noora Terminal.swift
[56/140] Compiling Noora LengthValidationRule.swift
[57/140] Compiling Noora NonEmptyValidationRule.swift
[58/140] Compiling Noora RegexValidationRule.swift
[59/140] Compiling Noora Validator.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()
/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()
/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()
/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()
[64/140] Compiling Noora TerminalText+DisplayWidth.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/140] Compiling ArgumentParser Platform.swift
[68/140] Compiling ArgumentParser SequenceExtensions.swift
[69/140] Compiling ArgumentParser StringExtensions.swift
[70/140] Compiling ArgumentParser SwiftExtensions.swift
[71/140] Compiling Noora TableData.swift
[72/140] Compiling Noora TableRenderer.swift
[73/140] Compiling Noora TableStyle.swift
[74/140] Compiling Noora TextPrompt.swift
[75/140] Compiling Noora YesOrNoChoicePrompt.swift
[76/140] Compiling Noora SingleChoicePrompt.swift
[77/140] Compiling Noora PaginatedTable.swift
[78/140] Compiling Noora SelectableTable.swift
[79/140] Compiling Noora Table.swift
[80/140] Compiling Noora TableColumn.swift
[81/140] Compiling ArgumentParser Tree.swift
[82/140] Compiling ArgumentParser CodingKeyValidator.swift
[83/140] Compiling ArgumentParser NonsenseFlagsValidator.swift
[84/140] Compiling ArgumentParser ParsableArgumentsValidation.swift
[85/140] Compiling ArgumentParser PositionalArgumentsValidator.swift
[86/140] Compiling ArgumentParser UniqueNamesValidator.swift
[90/140] Compiling Noora Alert.swift
[91/140] Compiling Noora CollapsibleStep.swift
[92/140] Compiling Noora MultipleChoicePrompt.swift
[93/140] Compiling Noora Noora.swift
[94/140] Compiling Noora NooraMock.swift
[95/140] Compiling Noora StandardPipelineType.swift
[96/140] Compiling Noora Theme.swift
[97/140] Compiling Noora KeyStrokeListener.swift
[98/140] Compiling Noora Content.swift
[99/140] Compiling Noora Stack.swift
[100/140] Compiling Noora Character+isPrintable.swift
[101/140] Compiling Noora String+Rainbow.swift
[102/140] Compiling Noora String+ValidatableError.swift
[115/141] Emitting module ArgumentParser
[116/141] Wrapping AST for Noora for debugging
[117/141] Write Objects.LinkFileList
[118/141] Archiving libNoora.a
[138/142] Wrapping AST for ArgumentParser for debugging
[140/154] Compiling examples_cli YesOrNoChoicePromptCommand.swift
[141/154] Compiling examples_cli TextPromptCommand.swift
[142/155] Compiling examples_cli ProgressStepCommand.swift
[143/155] Compiling examples_cli SingleChoicePromptCommand.swift
[144/155] Compiling examples_cli ExamplesCLI.swift
[145/155] Compiling examples_cli AlertCommand.swift
[146/155] Compiling examples_cli CollapsibleStepCommand.swift
[147/155] Emitting module examples_cli
[148/155] Compiling examples_cli MultipleChoicePromptCommand.swift
[149/155] Compiling examples_cli ProgressBarStepCommand.swift
[150/155] Compiling examples_cli FormatCommand.swift
[151/155] Compiling examples_cli InfoCommand.swift
[152/155] Compiling examples_cli TableCommand.swift
[153/156] Wrapping AST for examples-cli for debugging
[154/156] Write Objects.LinkFileList
[155/156] Linking examples-cli
Build complete! (48.48s)
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.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.7.1",
            "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/DisplayWidthTests.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+DisplayWidth.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:d50cceb83aba9237d7903cc3c4ef7bd8f8bfaaf83777b35554908a03d392fd03
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.