The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Noora, reference main (e3d8e7), with Swift 6.0 for Linux on 5 May 2025 12:32:57 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/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.61.3
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 e3d8e7b chore(deps): lock file maintenance (#277)
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
e3d8e7b4bc0fa8f62f4976785d1a5675352086a2
SPI manifest file found: $PWD/.spi.yml
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-0":/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:9029076bb687edc160a3d5201c89e92dd9fa7309f33f090c4234365c83366c31
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-argument-parser
Fetching https://github.com/apple/swift-log
Fetching https://github.com/onevcat/Rainbow
[1/1196] Fetching rainbow
[875/5032] Fetching rainbow, swift-log
[876/5380] Fetching rainbow, swift-log, path
Fetched https://github.com/onevcat/Rainbow from cache (0.51s)
Fetched https://github.com/apple/swift-log from cache (0.57s)
[1/14956] Fetching swift-argument-parser
Fetched https://github.com/tuist/path from cache (1.25s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.26s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (3.26s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.95s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (1.10s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.1.0 (3.75s)
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/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
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/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] Compiling Rainbow StringGenerator.swift
[11/41] Compiling Rainbow String+Rainbow.swift
[12/41] Emitting module Rainbow
[13/41] Compiling Rainbow ControlCode.swift
[14/41] Compiling Rainbow ModesExtractor.swift
[15/41] Emitting module Path
[16/41] Compiling Path Path.swift
[17/42] Compiling Rainbow Style.swift
[18/42] Wrapping AST for Path for debugging
[20/42] Compiling ArgumentParserToolInfo ToolInfo.swift
[21/42] Emitting module ArgumentParserToolInfo
[23/43] Compiling Logging MetadataProvider.swift
[24/43] Emitting module Logging
[24/43] Wrapping AST for ArgumentParserToolInfo for debugging
[26/81] Compiling ArgumentParser ArgumentVisibility.swift
[27/81] Compiling ArgumentParser CompletionKind.swift
[28/81] Compiling ArgumentParser Errors.swift
[29/81] Compiling ArgumentParser Flag.swift
[30/81] Compiling Rainbow Rainbow.swift
[31/81] Compiling Rainbow OutputTarget.swift
[32/82] Compiling Logging LogHandler.swift
[33/82] Compiling Logging Locks.swift
[34/82] Compiling Logging Logging.swift
[36/83] Wrapping AST for Rainbow for debugging
[37/83] Wrapping AST for Logging for debugging
[39/109] Compiling Noora TerminalText.swift
/host/spi-builder-workspace/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
[40/109] Compiling Noora ValidatableError.swift
/host/spi-builder-workspace/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
[41/109] Compiling Noora ValidatableRule.swift
/host/spi-builder-workspace/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
[42/112] Emitting module Noora
[43/112] Compiling Noora ValidationError.swift
[44/112] Compiling Noora InputValidating.swift
[45/112] Compiling Noora LengthValidationRule.swift
[46/112] Compiling Noora Character+isPrintable.swift
[47/112] Compiling Noora String+Rainbow.swift
[48/112] Compiling Noora String+ValidatableError.swift
[49/112] Compiling Noora Noora.swift
[50/112] Compiling Noora Spinner.swift
/host/spi-builder-workspace/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/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/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()
[51/112] Compiling Noora StandardPipelines.swift
/host/spi-builder-workspace/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/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/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()
[52/112] Compiling Noora Terminal.swift
/host/spi-builder-workspace/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/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/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()
[53/112] Compiling Noora NonEmptyValidationRule.swift
[54/112] Compiling Noora RegexValidationRule.swift
[55/112] Compiling Noora Validator.swift
[56/112] Emitting module ArgumentParser
[57/117] Compiling Noora NooraMock.swift
[58/117] Compiling Noora Theme.swift
[59/117] Compiling Noora KeyStrokeListener.swift
[60/117] Compiling Noora Renderer.swift
[61/117] Compiling Noora SingleChoicePrompt.swift
[62/117] Compiling Noora TextPrompt.swift
[63/117] Compiling Noora YesOrNoChoicePrompt.swift
[64/117] Compiling Noora Stack.swift
[65/117] Compiling Noora Alert.swift
[66/117] Compiling Noora CollapsibleStep.swift
[67/117] Compiling Noora ProgressBarStep.swift
[68/117] Compiling Noora ProgressStep.swift
[86/118] Wrapping AST for Noora for debugging
[87/118] Write Objects.LinkFileList
[88/118] Archiving libNoora.a
[90/118] Compiling ArgumentParser ExpressibleByArgument.swift
[91/118] Compiling ArgumentParser ParsableArguments.swift
[92/118] Compiling ArgumentParser ParsableArgumentsValidation.swift
[93/118] Compiling ArgumentParser ParsableCommand.swift
[94/118] Compiling ArgumentParser ArgumentDecoder.swift
[95/118] Compiling ArgumentParser CollectionExtensions.swift
[96/118] Compiling ArgumentParser Platform.swift
[97/118] Compiling ArgumentParser SequenceExtensions.swift
[98/118] Compiling ArgumentParser StringExtensions.swift
[99/118] Compiling ArgumentParser Tree.swift
[106/118] Compiling ArgumentParser AsyncParsableCommand.swift
[107/118] Compiling ArgumentParser CommandConfiguration.swift
[108/118] Compiling ArgumentParser CommandGroup.swift
[109/118] Compiling ArgumentParser EnumerableFlag.swift
[115/119] Wrapping AST for ArgumentParser for debugging
[117/128] Compiling examples_cli YesOrNoChoicePromptCommand.swift
[118/128] Compiling examples_cli TextPromptCommand.swift
[119/129] Compiling examples_cli FormatCommand.swift
[120/129] Compiling examples_cli ProgressBarStepCommand.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 ProgressStepCommand.swift
[125/129] Compiling examples_cli SingleChoicePromptCommand.swift
[126/129] Compiling examples_cli ExamplesCLI.swift
[127/130] Wrapping AST for examples-cli for debugging
[128/130] Write Objects.LinkFileList
[129/130] Linking examples-cli
Build complete! (25.70s)
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.0",
            "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" : "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" : "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" : "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:9029076bb687edc160a3d5201c89e92dd9fa7309f33f090c4234365c83366c31
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.