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.41.0 (4e1be3), with Swift 6.0 for Linux on 20 Jun 2025 19:56:13 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" 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.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/noora.git
Reference: 0.41.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/tuist/noora
 * tag               0.41.0     -> FETCH_HEAD
HEAD is now at 4e1be37 [Release] Noora CLI 0.41.0
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
4e1be378778145cc209eea8ebc1880a300168def
SUCCESS checkout https://github.com/tuist/noora.git at 0.41.0
========================================
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-4609320-1":/host -w "$PWD" 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:f0ebbd71bee66c692411a61ab9a7ee6edc82316b7a7b4c6173cc06c00f20ed39
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/apple/swift-log
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/tuist/path
[1/354] Fetching path
[355/4190] Fetching path, swift-log
[547/5386] Fetching path, swift-log, rainbow
[5387/20766] Fetching path, swift-log, rainbow, swift-argument-parser
Fetched https://github.com/tuist/path from cache (1.38s)
Fetched https://github.com/onevcat/Rainbow from cache (1.38s)
Fetched https://github.com/apple/swift-log from cache (1.41s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.43s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (4.90s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (1.23s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (0.73s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.1.0 (2.00s)
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.1.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.1
Creating working copy for https://github.com/tuist/path
Working copy of https://github.com/tuist/path resolved at 0.3.8
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/20] Write sources
[8/20] Write swift-version-24593BA9C3E375BF.txt
[10/40] Emitting module Path
[11/40] Emitting module ArgumentParserToolInfo
[12/40] Compiling Rainbow StringGenerator.swift
[13/41] Compiling Rainbow ControlCode.swift
[14/41] Compiling Rainbow ModesExtractor.swift
[15/41] Compiling Rainbow Style.swift
[16/41] Compiling Rainbow String+Rainbow.swift
[17/41] Compiling Logging LogHandler.swift
[18/41] Compiling Path Path.swift
[20/42] Compiling ArgumentParserToolInfo ToolInfo.swift
[22/43] Compiling Rainbow OutputTarget.swift
[23/43] Emitting module Logging
[24/43] Compiling Logging Locks.swift
[25/43] Compiling Rainbow Rainbow.swift
[26/43] Compiling Logging MetadataProvider.swift
[27/43] Compiling Rainbow BackgroundColor.swift
[28/43] Compiling Rainbow CodesParser.swift
[29/43] Emitting module Rainbow
[30/43] Compiling Rainbow Color.swift
[31/43] Compiling Rainbow ColorApproximation.swift
[33/44] Compiling Logging Logging.swift
[34/45] Wrapping AST for Rainbow for debugging
[35/45] Wrapping AST for ArgumentParserToolInfo for debugging
[36/45] Wrapping AST for Path for debugging
[37/45] Wrapping AST for Logging for debugging
[39/109] Compiling Noora ValidationError.swift
[40/109] Compiling Noora InputValidating.swift
[41/109] Compiling Noora LengthValidationRule.swift
[42/112] Compiling ArgumentParser OptionGroup.swift
[43/112] Compiling Noora NooraMock.swift
[44/112] Compiling Noora Theme.swift
[45/112] Compiling Noora KeyStrokeListener.swift
[46/112] Compiling Noora Renderer.swift
[47/112] Compiling ArgumentParser Argument.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()
[48/112] Compiling ArgumentParser ArgumentHelp.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()
[50/112] Compiling Noora TerminalText.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/TerminalText.swift:43:17: warning: immutable value 'href' was never used; consider replacing with '_' or removing it
 41 |             case let .link(
 42 |                 title,
 43 |                 href
    |                 `- warning: immutable value 'href' was never used; consider replacing with '_' or removing it
 44 |             ): "(\(title))"
 45 |             case let .primary(primary): primary
[51/112] Compiling Noora ValidatableError.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/TerminalText.swift:43:17: warning: immutable value 'href' was never used; consider replacing with '_' or removing it
 41 |             case let .link(
 42 |                 title,
 43 |                 href
    |                 `- warning: immutable value 'href' was never used; consider replacing with '_' or removing it
 44 |             ): "(\(title))"
 45 |             case let .primary(primary): primary
[52/112] Compiling Noora ValidatableRule.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/TerminalText.swift:43:17: warning: immutable value 'href' was never used; consider replacing with '_' or removing it
 41 |             case let .link(
 42 |                 title,
 43 |                 href
    |                 `- warning: immutable value 'href' was never used; consider replacing with '_' or removing it
 44 |             ): "(\(title))"
 45 |             case let .primary(primary): primary
[53/117] Compiling Noora NonEmptyValidationRule.swift
[54/117] Compiling Noora RegexValidationRule.swift
[55/117] Compiling Noora Validator.swift
[56/117] Compiling Noora Character+isPrintable.swift
[57/117] Compiling Noora String+Rainbow.swift
[58/117] Compiling Noora String+ValidatableError.swift
[59/117] Compiling Noora Noora.swift
[64/117] Compiling Noora SingleChoicePrompt.swift
[65/117] Compiling Noora TextPrompt.swift
[66/117] Compiling Noora YesOrNoChoicePrompt.swift
[67/117] Compiling Noora Stack.swift
[74/117] Emitting module Noora
[75/117] Compiling Noora Alert.swift
[76/117] Compiling Noora CollapsibleStep.swift
[77/117] Compiling Noora ProgressBarStep.swift
[78/117] Compiling ArgumentParser ZshCompletionsGenerator.swift
[79/118] Compiling ArgumentParser CollectionExtensions.swift
[80/118] Compiling ArgumentParser Platform.swift
[81/118] Compiling ArgumentParser SequenceExtensions.swift
[82/118] Compiling ArgumentParser StringExtensions.swift
[83/118] Compiling ArgumentParser Tree.swift
[90/118] Emitting module ArgumentParser
[96/118] Wrapping AST for Noora for debugging
[97/118] Write Objects.LinkFileList
[98/118] Archiving libNoora.a
[106/118] Compiling ArgumentParser Parsed.swift
[107/118] Compiling ArgumentParser ParsedValues.swift
[108/118] Compiling ArgumentParser ParserError.swift
[109/118] Compiling ArgumentParser SplitArguments.swift
[110/118] Compiling ArgumentParser DumpHelpGenerator.swift
[111/118] Compiling ArgumentParser HelpCommand.swift
[112/118] Compiling ArgumentParser HelpGenerator.swift
[113/118] Compiling ArgumentParser MessageInfo.swift
[114/118] Compiling ArgumentParser UsageGenerator.swift
[115/119] Wrapping AST for ArgumentParser for debugging
[117/128] Compiling examples_cli YesOrNoChoicePromptCommand.swift
[118/129] Compiling examples_cli TextPromptCommand.swift
[119/129] Compiling examples_cli ExamplesCLI.swift
[120/129] Compiling examples_cli FormatCommand.swift
[121/129] Emitting module examples_cli
[122/129] Compiling examples_cli AlertCommand.swift
[123/129] Compiling examples_cli CollapsibleStepCommand.swift
[124/129] Compiling examples_cli SingleChoicePromptCommand.swift
[125/129] Compiling examples_cli ProgressStepCommand.swift
[126/129] Compiling examples_cli ProgressBarStepCommand.swift
[127/130] Wrapping AST for examples-cli for debugging
[128/130] Write Objects.LinkFileList
[129/130] Linking examples-cli
Build complete! (34.78s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "rainbow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.1.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/onevcat/Rainbow"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.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.3",
            "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/ProgressBarStepCommand.swift",
        "Commands/ProgressStepCommand.swift",
        "Commands/SingleChoicePromptCommand.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/ProgressBarStepTests.swift",
        "Components/ProgressStepTests.swift",
        "Components/SingleChoicePromptTests.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/ProgressBarStep.swift",
        "Components/ProgressStep.swift",
        "Components/SingleChoicePrompt.swift",
        "Components/TextPrompt.swift",
        "Components/YesOrNoChoicePrompt.swift",
        "DataStructures/Stack.swift",
        "Extensions/Character+isPrintable.swift",
        "Extensions/String+Rainbow.swift",
        "Extensions/String+ValidatableError.swift",
        "Noora.swift",
        "NooraMock.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:f0ebbd71bee66c692411a61ab9a7ee6edc82316b7a7b4c6173cc06c00f20ed39
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.