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 main (e1bb19), with Swift 6.0 for Linux on 12 Sep 2025 17:18:12 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.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/noora.git
Reference: main
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
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e1bb192 [Release] Noora Web web-0.20.0
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
e1bb19230e1bbf0ce426785e7a60a0cdb8008af0
SUCCESS checkout https://github.com/tuist/noora.git at main
========================================
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:2ffdcefcdb291d9eb78a77ed5e4b4766a710a1cb89004e0bfdb0fefda731df2f
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-argument-parser
Fetching https://github.com/apple/swift-log
Fetching https://github.com/tuist/path
[1/1335] Fetching rainbow
[736/1704] Fetching rainbow, path
[1705/17665] Fetching rainbow, path, swift-argument-parser
[1865/21568] Fetching rainbow, path, swift-argument-parser, swift-log
Fetched https://github.com/apple/swift-log from cache (0.50s)
[11760/17665] Fetching rainbow, path, swift-argument-parser
Fetched https://github.com/tuist/path from cache (0.78s)
Fetched https://github.com/onevcat/Rainbow from cache (0.78s)
Fetched https://github.com/apple/swift-argument-parser from cache (0.79s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (2.93s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.4 (0.74s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (2.63s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.0 (3.26s)
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.6.4
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
[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 Path
[12/45] Emitting module Rainbow
[13/46] Compiling Rainbow StringGenerator.swift
[14/46] Compiling Rainbow Style.swift
[15/46] Compiling Rainbow String+ConditionalStyling.swift
[16/46] Compiling Rainbow String+Rainbow.swift
[17/46] Compiling Path Path.swift
[19/47] Compiling ArgumentParserToolInfo ToolInfo.swift
[20/47] Emitting module ArgumentParserToolInfo
[21/48] Wrapping AST for Path for debugging
[23/48] Compiling Logging MetadataProvider.swift
[23/48] Wrapping AST for ArgumentParserToolInfo for debugging
[25/48] Compiling Rainbow HSLColorConverter.swift
[26/48] Compiling Rainbow ModesExtractor.swift
[27/48] Compiling Rainbow ConditionalStyleBuilder.swift
[28/48] Compiling Rainbow ControlCode.swift
[29/48] Compiling Rainbow OutputTarget.swift
[30/48] Compiling Rainbow Rainbow.swift
[31/48] Compiling Rainbow Color.swift
[32/48] Compiling Rainbow ColorApproximation.swift
[33/48] Compiling Rainbow BackgroundColor.swift
[34/48] Compiling Rainbow CodesParser.swift
[35/48] Compiling Rainbow StyledStringBuilder.swift
[37/93] Compiling Logging LogHandler.swift
[38/93] Compiling Logging Locks.swift
[39/93] Emitting module Logging
[40/93] Compiling Logging Logging.swift
[40/94] Wrapping AST for Rainbow for debugging
[42/94] Wrapping AST for Logging for debugging
[44/129] Compiling Noora ValidatableError.swift
[45/129] Compiling Noora ValidatableRule.swift
[46/129] Compiling Noora ValidationError.swift
[47/129] Compiling Noora InputValidating.swift
[48/133] Compiling Noora LengthValidationRule.swift
[49/133] Compiling Noora NonEmptyValidationRule.swift
[50/133] Compiling Noora RegexValidationRule.swift
[51/133] Compiling Noora Validator.swift
[52/133] Compiling Noora Content.swift
[53/133] Compiling Noora Stack.swift
[54/133] Compiling Noora Character+isPrintable.swift
[55/133] Compiling Noora String+Rainbow.swift
[56/133] Compiling Noora String+ValidatableError.swift
[57/133] 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()
[58/133] 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()
[59/133] 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()
[60/133] 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()
[61/133] 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()
[66/133] Compiling Noora Noora.swift
[67/133] Compiling Noora NooraMock.swift
[68/139] Compiling Noora TableData.swift
[69/139] Compiling Noora TableRenderer.swift
[70/139] Compiling Noora TableStyle.swift
[71/139] Compiling Noora TextPrompt.swift
[72/139] Compiling Noora YesOrNoChoicePrompt.swift
[73/139] Compiling Noora SingleChoicePrompt.swift
[74/139] Compiling Noora PaginatedTable.swift
[75/139] Compiling Noora SelectableTable.swift
[76/139] Compiling Noora Table.swift
[77/139] Compiling Noora TableColumn.swift
[80/139] Compiling Noora StandardPipelineType.swift
[81/139] Compiling Noora Theme.swift
[82/139] Compiling Noora KeyStrokeListener.swift
[83/139] Emitting module Noora
[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/140] Wrapping AST for Noora for debugging
[90/140] Write Objects.LinkFileList
[92/140] Compiling ArgumentParser Tree.swift
[93/140] Compiling ArgumentParser CodingKeyValidator.swift
[94/140] Compiling ArgumentParser NonsenseFlagsValidator.swift
[95/140] Compiling ArgumentParser ParsableArgumentsValidation.swift
[96/140] Compiling ArgumentParser PositionalArgumentsValidator.swift
[97/140] Compiling ArgumentParser UniqueNamesValidator.swift
[97/140] Archiving libNoora.a
[100/140] Compiling ArgumentParser DumpHelpGenerator.swift
[101/140] Compiling ArgumentParser HelpCommand.swift
[102/140] Compiling ArgumentParser HelpGenerator.swift
[103/140] Compiling ArgumentParser MessageInfo.swift
[104/140] Compiling ArgumentParser UsageGenerator.swift
[123/140] Emitting module ArgumentParser
[137/141] Wrapping AST for ArgumentParser for debugging
[139/153] Compiling examples_cli YesOrNoChoicePromptCommand.swift
[140/154] Compiling examples_cli TextPromptCommand.swift
[141/154] Compiling examples_cli ExamplesCLI.swift
[142/154] Compiling examples_cli FormatCommand.swift
[143/154] Compiling examples_cli InfoCommand.swift
[144/154] Compiling examples_cli AlertCommand.swift
[145/154] Compiling examples_cli CollapsibleStepCommand.swift
[146/154] Emitting module examples_cli
[147/154] Compiling examples_cli ProgressStepCommand.swift
[148/154] Compiling examples_cli SingleChoicePromptCommand.swift
[149/154] Compiling examples_cli TableCommand.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! (44.31s)
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.