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 Komondor, reference 1.1.4 (dedffe), with Swift 6.1 for Linux on 26 Apr 2025 23:08:53 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/shibapm/komondor.git
Reference: 1.1.4
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/shibapm/komondor
 * tag               1.1.4      -> FETCH_HEAD
HEAD is now at dedffea Merge pull request #54 from minuscorp/install-desired-hooks
Cloned https://github.com/shibapm/komondor.git
Revision (git rev-parse @):
dedffeaf42a1b52bf072a9dc47afb35000a8b265
SUCCESS checkout https://github.com/shibapm/komondor.git at 1.1.4
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/shibapm/komondor.git
https://github.com/shibapm/komondor.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "packageconfig",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/shibapm/PackageConfig.git"
    },
    {
      "identity" : "shellout",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/JohnSundell/ShellOut.git"
    },
    {
      "identity" : "swiftformat",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.35.8",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nicklockwood/SwiftFormat.git"
    },
    {
      "identity" : "swiftlint",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.28.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Realm/SwiftLint.git"
    },
    {
      "identity" : "rocket",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/f-meloni/Rocket"
    }
  ],
  "manifest_display_name" : "Komondor",
  "name" : "Komondor",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "komondor",
      "targets" : [
        "Komondor"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Komondor",
      "module_type" : "SwiftTarget",
      "name" : "Komondor",
      "path" : "Sources/Komondor",
      "product_dependencies" : [
        "PackageConfig",
        "ShellOut"
      ],
      "product_memberships" : [
        "komondor"
      ],
      "sources" : [
        "Commands/install.swift",
        "Commands/runner.swift",
        "Commands/uninstall.swift",
        "Installation/renderScript.swift",
        "Installation/renderScriptHeader.swift",
        "Utils/Edited.swift",
        "Utils/Logger.swift",
        "main.swift"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "4.2"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/f-meloni/Rocket
Fetching https://github.com/Realm/SwiftLint.git
Fetching https://github.com/nicklockwood/SwiftFormat.git
Fetching https://github.com/JohnSundell/ShellOut.git
Fetching https://github.com/shibapm/PackageConfig.git
[1/960] Fetching shellout
[961/1540] Fetching shellout, packageconfig
[1008/2926] Fetching shellout, packageconfig, rocket
Fetched https://github.com/shibapm/PackageConfig.git from cache (0.25s)
Fetched https://github.com/f-meloni/Rocket from cache (0.25s)
[1/46730] Fetching swiftformat
[936/196623] Fetching swiftformat, swiftlint
Fetched https://github.com/JohnSundell/ShellOut.git from cache (37.63s)
Fetched https://github.com/nicklockwood/SwiftFormat.git from cache (38.40s)
Fetched https://github.com/Realm/SwiftLint.git from cache (39.13s)
Computing version for https://github.com/f-meloni/Rocket
Computed https://github.com/f-meloni/Rocket at 1.3.0 (44.98s)
Fetching https://github.com/jpsim/Yams
Fetching https://github.com/shibapm/Logger
Fetching https://github.com/kareman/SwiftShell
[1/116] Fetching logger
[117/4979] Fetching logger, swiftshell
[1528/15268] Fetching logger, swiftshell, yams
Fetched https://github.com/shibapm/Logger from cache (4.96s)
Fetched https://github.com/kareman/SwiftShell from cache (4.96s)
Fetched https://github.com/jpsim/Yams from cache (5.54s)
Computing version for https://github.com/kareman/SwiftShell
Computed https://github.com/kareman/SwiftShell at 5.1.0 (7.25s)
Computing version for https://github.com/shibapm/Logger
Computed https://github.com/shibapm/Logger at 0.2.3 (0.61s)
Computing version for https://github.com/JohnSundell/ShellOut.git
Computed https://github.com/JohnSundell/ShellOut.git at 2.3.0 (2.75s)
Computing version for https://github.com/shibapm/PackageConfig.git
Computed https://github.com/shibapm/PackageConfig.git at 1.1.3 (0.62s)
Computing version for https://github.com/jpsim/Yams
Computed https://github.com/jpsim/Yams at 5.3.1 (0.57s)
Computing version for https://github.com/Realm/SwiftLint.git
Computed https://github.com/Realm/SwiftLint.git at 0.59.1 (1.46s)
Fetching https://github.com/scottrhoyt/SwiftyTextTable.git
Fetching https://github.com/JohnSundell/CollectionConcurrencyKit.git
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/swiftlang/swift-syntax.git
Fetching https://github.com/krzyzanowskim/CryptoSwift.git
Fetching https://github.com/jpsim/SourceKitten.git
[1/16112] Fetching sourcekitten
[646/17041] Fetching sourcekitten, swiftytexttable
[2202/17125] Fetching sourcekitten, swiftytexttable, collectionconcurrencykit
[3270/30059] Fetching sourcekitten, swiftytexttable, collectionconcurrencykit, cryptoswift
Fetched https://github.com/scottrhoyt/SwiftyTextTable.git from cache (0.36s)
[5021/29130] Fetching sourcekitten, collectionconcurrencykit, cryptoswift
[13658/44080] Fetching sourcekitten, collectionconcurrencykit, cryptoswift, swift-argument-parser
[23425/114313] Fetching sourcekitten, collectionconcurrencykit, cryptoswift, swift-argument-parser, swift-syntax
Fetched https://github.com/jpsim/SourceKitten.git from cache (1.58s)
[44122/98201] Fetching collectionconcurrencykit, cryptoswift, swift-argument-parser, swift-syntax
Fetched https://github.com/apple/swift-argument-parser.git from cache (2.17s)
[55158/83251] Fetching collectionconcurrencykit, cryptoswift, swift-syntax
Fetched https://github.com/krzyzanowskim/CryptoSwift.git from cache (2.19s)
[46438/70317] Fetching collectionconcurrencykit, swift-syntax
Fetched https://github.com/JohnSundell/CollectionConcurrencyKit.git from cache (5.87s)
Fetched https://github.com/swiftlang/swift-syntax.git from cache (5.92s)
Computing version for https://github.com/krzyzanowskim/CryptoSwift.git
Computed https://github.com/krzyzanowskim/CryptoSwift.git at 1.8.4 (6.55s)
Computing version for https://github.com/JohnSundell/CollectionConcurrencyKit.git
Computed https://github.com/JohnSundell/CollectionConcurrencyKit.git at 0.2.0 (0.63s)
Computing version for https://github.com/scottrhoyt/SwiftyTextTable.git
Computed https://github.com/scottrhoyt/SwiftyTextTable.git at 0.9.0 (2.35s)
Computing version for https://github.com/jpsim/SourceKitten.git
Computed https://github.com/jpsim/SourceKitten.git at 0.37.0 (0.64s)
Fetching https://github.com/drmohundro/SWXMLHash.git
[1/2820] Fetching swxmlhash
Fetched https://github.com/drmohundro/SWXMLHash.git from cache (0.38s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 601.0.0 (1.19s)
Computing version for https://github.com/drmohundro/SWXMLHash.git
Computed https://github.com/drmohundro/SWXMLHash.git at 7.0.2 (0.62s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.75s)
Computing version for https://github.com/nicklockwood/SwiftFormat.git
Computed https://github.com/nicklockwood/SwiftFormat.git at 0.55.5 (1.00s)
Creating working copy for https://github.com/jpsim/Yams
Working copy of https://github.com/jpsim/Yams resolved at 5.3.1
Creating working copy for https://github.com/shibapm/Logger
Working copy of https://github.com/shibapm/Logger resolved at 0.2.3
Creating working copy for https://github.com/krzyzanowskim/CryptoSwift.git
Working copy of https://github.com/krzyzanowskim/CryptoSwift.git resolved at 1.8.4
Creating working copy for https://github.com/kareman/SwiftShell
Working copy of https://github.com/kareman/SwiftShell resolved at 5.1.0
Creating working copy for https://github.com/f-meloni/Rocket
Working copy of https://github.com/f-meloni/Rocket resolved at 1.3.0
Creating working copy for https://github.com/scottrhoyt/SwiftyTextTable.git
Working copy of https://github.com/scottrhoyt/SwiftyTextTable.git resolved at 0.9.0
Creating working copy for https://github.com/JohnSundell/CollectionConcurrencyKit.git
Working copy of https://github.com/JohnSundell/CollectionConcurrencyKit.git resolved at 0.2.0
Creating working copy for https://github.com/jpsim/SourceKitten.git
Working copy of https://github.com/jpsim/SourceKitten.git resolved at 0.37.0
Creating working copy for https://github.com/drmohundro/SWXMLHash.git
Working copy of https://github.com/drmohundro/SWXMLHash.git resolved at 7.0.2
Creating working copy for https://github.com/JohnSundell/ShellOut.git
Working copy of https://github.com/JohnSundell/ShellOut.git resolved at 2.3.0
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 601.0.0
Creating working copy for https://github.com/Realm/SwiftLint.git
Working copy of https://github.com/Realm/SwiftLint.git resolved at 0.59.1
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
Creating working copy for https://github.com/nicklockwood/SwiftFormat.git
Working copy of https://github.com/nicklockwood/SwiftFormat.git resolved at 0.55.5
Creating working copy for https://github.com/shibapm/PackageConfig.git
Working copy of https://github.com/shibapm/PackageConfig.git resolved at 1.1.3
[1/1] Compiling plugin SwiftLintCommandPlugin
[2/2] Compiling plugin SwiftLintBuildToolPlugin
[3/3] Compiling plugin GenerateManual
[4/4] Compiling plugin SwiftFormatPlugin
Building for debugging...
[4/15] Write sources
[7/15] Write swift-version-24593BA9C3E375BF.txt
[9/25] Compiling PackageConfig Writer.swift
[10/25] Emitting module ShellOut
[11/25] Compiling ShellOut ShellOut.swift
[12/26] Compiling PackageConfig PackageConfiguration.swift
[13/26] Compiling PackageConfig PackageConfig.swift
[14/26] Compiling PackageConfig Package.swift
[15/26] Compiling PackageConfig Loader.swift
[16/26] Wrapping AST for ShellOut for debugging
[18/26] Compiling PackageConfig Error.swift
[19/26] Emitting module PackageConfig
[20/26] Compiling PackageConfig DynamicLibraries.swift
[21/27] Wrapping AST for PackageConfig for debugging
[22/27] Write Objects.LinkFileList
[23/27] Linking libPackageConfig.so
[25/35] Compiling Komondor renderScript.swift
[26/36] Compiling Komondor main.swift
[27/36] Compiling Komondor renderScriptHeader.swift
[28/36] Compiling Komondor Edited.swift
[29/36] Compiling Komondor Logger.swift
[30/36] Compiling Komondor uninstall.swift
[31/36] Compiling Komondor runner.swift
/host/spi-builder-workspace/Sources/Komondor/Commands/runner.swift:14:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 8 | //
 9 | //
10 | public func runner(logger _: Logger, args: [String]) throws {
   |             `- note: add '@MainActor' to make global function 'runner(logger:args:)' part of global actor 'MainActor'
11 |     let pkgConfig = try PackageConfiguration.load()
12 |
13 |     guard let hook = args.first else {
14 |         logger.logError("[Komondor] The runner was called without a hook")
   |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
15 |         exit(1)
16 |     }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/runner.swift:19:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 8 | //
 9 | //
10 | public func runner(logger _: Logger, args: [String]) throws {
   |             `- note: add '@MainActor' to make global function 'runner(logger:args:)' part of global actor 'MainActor'
11 |     let pkgConfig = try PackageConfiguration.load()
12 |
   :
17 |
18 |     guard let config = pkgConfig["komondor"] as? [String: Any] else {
19 |         logger.logError("[Komondor] Could not find komondor settings inside the Package.swift")
   |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
20 |         exit(1)
21 |     }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/runner.swift:31:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 8 | //
 9 | //
10 | public func runner(logger _: Logger, args: [String]) throws {
   |             `- note: add '@MainActor' to make global function 'runner(logger:args:)' part of global actor 'MainActor'
11 |     let pkgConfig = try PackageConfiguration.load()
12 |
   :
29 |         }
30 |
31 |         logger.debug("Running commands for komondor \(commands.joined())")
   |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
32 |         let stagedFiles = try getStagedFiles()
33 |
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/runner.swift:60:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 8 | //
 9 | //
10 | public func runner(logger _: Logger, args: [String]) throws {
   |             `- note: add '@MainActor' to make global function 'runner(logger:args:)' part of global actor 'MainActor'
11 |     let pkgConfig = try PackageConfiguration.load()
12 |
   :
58 |         }
59 |     } else {
60 |         logger.logWarning("[Komondor] Could not find a key for '\(hook)' under the komondor settings'")
   |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
61 |         exit(0)
62 |     }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/runner.swift:68:5: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
63 | }
64 |
65 | func getStagedFiles() throws -> [String] {
   |      `- note: add '@MainActor' to make global function 'getStagedFiles()' part of global actor 'MainActor'
66 |     // Find the project root directory
67 |     let projectRootString = try shellOut(to: "git rev-parse --show-toplevel").trimmingCharacters(in: .whitespaces)
68 |     logger.debug("Found project root at: \(projectRootString)")
   |     `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
69 |
70 |     let stagedFilesString = try shellOut(to: "git", arguments: ["diff", "--staged", "--diff-filter=ACM", "--name-only"], at: projectRootString)
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/runner.swift:71:5: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
63 | }
64 |
65 | func getStagedFiles() throws -> [String] {
   |      `- note: add '@MainActor' to make global function 'getStagedFiles()' part of global actor 'MainActor'
66 |     // Find the project root directory
67 |     let projectRootString = try shellOut(to: "git rev-parse --show-toplevel").trimmingCharacters(in: .whitespaces)
   :
69 |
70 |     let stagedFilesString = try shellOut(to: "git", arguments: ["diff", "--staged", "--diff-filter=ACM", "--name-only"], at: projectRootString)
71 |     logger.debug("Found staged files: \(stagedFilesString)")
   |     `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
72 |
73 |     return stagedFilesString == "" ? [] : stagedFilesString.components(separatedBy: "\n")
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
[32/36] Emitting module Komondor
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:28:12: warning: let 'hookList' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// The available hooks for git
  5 | ///
  6 | public enum Hooks: String, CaseIterable {
    |             `- note: consider making enum 'Hooks' conform to the 'Sendable' protocol
  7 |     case applyPatchMsg = "applypatch-msg"
  8 |     case preApplyPatch = "pre-applypatch"
    :
 26 | }
 27 |
 28 | public let hookList: [Hooks] = [
    |            |- warning: let 'hookList' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
    |            |- note: add '@MainActor' to make let 'hookList' part of global actor 'MainActor'
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |     .applyPatchMsg,
 30 |     .preApplyPatch,
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:48:5: warning: let 'skippableHooks' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// The available hooks for git
  5 | ///
  6 | public enum Hooks: String, CaseIterable {
    |             `- note: consider making enum 'Hooks' conform to the 'Sendable' protocol
  7 |     case applyPatchMsg = "applypatch-msg"
  8 |     case preApplyPatch = "pre-applypatch"
    :
 46 | ]
 47 |
 48 | let skippableHooks: [Hooks] = [
    |     |- warning: let 'skippableHooks' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'skippableHooks' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |     .commitMsg,
 50 |     .preCommit,
[33/36] Compiling Komondor install.swift
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:28:12: warning: let 'hookList' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// The available hooks for git
  5 | ///
  6 | public enum Hooks: String, CaseIterable {
    |             `- note: consider making enum 'Hooks' conform to the 'Sendable' protocol
  7 |     case applyPatchMsg = "applypatch-msg"
  8 |     case preApplyPatch = "pre-applypatch"
    :
 26 | }
 27 |
 28 | public let hookList: [Hooks] = [
    |            |- warning: let 'hookList' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
    |            |- note: add '@MainActor' to make let 'hookList' part of global actor 'MainActor'
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |     .applyPatchMsg,
 30 |     .preApplyPatch,
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:48:5: warning: let 'skippableHooks' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | /// The available hooks for git
  5 | ///
  6 | public enum Hooks: String, CaseIterable {
    |             `- note: consider making enum 'Hooks' conform to the 'Sendable' protocol
  7 |     case applyPatchMsg = "applypatch-msg"
  8 |     case preApplyPatch = "pre-applypatch"
    :
 46 | ]
 47 |
 48 | let skippableHooks: [Hooks] = [
    |     |- warning: let 'skippableHooks' is not concurrency-safe because non-'Sendable' type '[Hooks]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'skippableHooks' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |     .commitMsg,
 50 |     .preCommit,
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:134:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
132 |             } else {
133 |                 logger.debug("Updating the hook: \(hookName)")
134 |                 fileManager.createFile(atPath: hookPath.path, contents: hook.data(using: .utf8), attributes: execAttribute)
    |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
135 |             }
136 |         }
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:59:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 53 | ]
 54 |
 55 | public func install(hooks: [Hooks] = hookList, logger _: Logger) throws {
    |             `- note: add '@MainActor' to make global function 'install(hooks:logger:)' part of global actor 'MainActor'
 56 |     // Add a skip env var
 57 |     let env = ProcessInfo.processInfo.environment
 58 |     if env["SKIP_KOMONDOR"] != nil {
 59 |         logger.logInfo("Skipping Komondor integration due to SKIP_KOMONDOR being set")
    |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 60 |         return
 61 |     }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:65:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 53 | ]
 54 |
 55 | public func install(hooks: [Hooks] = hookList, logger _: Logger) throws {
    |             `- note: add '@MainActor' to make global function 'install(hooks:logger:)' part of global actor 'MainActor'
 56 |     // Add a skip env var
 57 |     let env = ProcessInfo.processInfo.environment
    :
 63 |     // Check for CI
 64 |     if env["CI"] != nil {
 65 |         logger.logInfo("Skipping Komondor integration due to CI being set")
    |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 66 |         return
 67 |     }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:73:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 53 | ]
 54 |
 55 | public func install(hooks: [Hooks] = hookList, logger _: Logger) throws {
    |             `- note: add '@MainActor' to make global function 'install(hooks:logger:)' part of global actor 'MainActor'
 56 |     // Add a skip env var
 57 |     let env = ProcessInfo.processInfo.environment
    :
 71 |         try shellOut(to: "git remote")
 72 |     } catch {
 73 |         logger.logError("[Komondor] Can only install git-hooks into a git repo.")
    |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 74 |         exit(1)
 75 |     }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:81:5: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 53 | ]
 54 |
 55 | public func install(hooks: [Hooks] = hookList, logger _: Logger) throws {
    |             `- note: add '@MainActor' to make global function 'install(hooks:logger:)' part of global actor 'MainActor'
 56 |     // Add a skip env var
 57 |     let env = ProcessInfo.processInfo.environment
    :
 79 |     // Find the .git root
 80 |     let gitRootString = try shellOut(to: "git rev-parse --git-dir").trimmingCharacters(in: .whitespaces)
 81 |     logger.debug("Found git root at: \(gitRootString)")
    |     `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 82 |
 83 |     // Find or create the hooks dir in the .git folder
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:88:9: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 53 | ]
 54 |
 55 | public func install(hooks: [Hooks] = hookList, logger _: Logger) throws {
    |             `- note: add '@MainActor' to make global function 'install(hooks:logger:)' part of global actor 'MainActor'
 56 |     // Add a skip env var
 57 |     let env = ProcessInfo.processInfo.environment
    :
 86 |
 87 |     if !fileManager.fileExists(atPath: hooksRoot.path) {
 88 |         logger.debug("Making the hooks dir")
    |         `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 89 |         try shellOut(to: .createFolder(named: hooksRoot.path))
 90 |     }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:121:17: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
119 |         if !fileManager.fileExists(atPath: hookPath.path) {
120 |             if fileManager.createFile(atPath: hookPath.path, contents: hook.data(using: .utf8), attributes: execAttribute) {
121 |                 logger.debug("Added the hook: \(hookName)")
    |                 `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
122 |             } else {
123 |                 logger.logError("Could not add the hook: \(hookName)")
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:123:17: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 |                 logger.debug("Added the hook: \(hookName)")
122 |             } else {
123 |                 logger.logError("Could not add the hook: \(hookName)")
    |                 `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
124 |             }
125 |         } else {
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:131:17: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
129 |
130 |             if content.contains(script) {
131 |                 logger.debug("Skipped the hook: \(hookName)")
    |                 `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
132 |             } else {
133 |                 logger.debug("Updating the hook: \(hookName)")
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
/host/spi-builder-workspace/Sources/Komondor/Commands/install.swift:133:17: warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
131 |                 logger.debug("Skipped the hook: \(hookName)")
132 |             } else {
133 |                 logger.debug("Updating the hook: \(hookName)")
    |                 `- warning: main actor-isolated let 'logger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
134 |                 fileManager.createFile(atPath: hookPath.path, contents: hook.data(using: .utf8), attributes: execAttribute)
135 |             }
/host/spi-builder-workspace/Sources/Komondor/main.swift:8:5: note: let declared here
 6 | let isVerbose = CommandLine.arguments.contains("--verbose") || (ProcessInfo.processInfo.environment["DEBUG"] != nil)
 7 | let isSilent = CommandLine.arguments.contains("--silent")
 8 | let logger = Logger(isVerbose: isVerbose, isSilent: isSilent)
   |     `- note: let declared here
 9 | logger.debug("Setting up .git-hooks for Komondor (v\(KomondorVersion))")
10 |
[34/37] Wrapping AST for Komondor for debugging
[35/37] Write Objects.LinkFileList
[36/37] Linking komondor
Build complete! (113.19s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "packageconfig",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/shibapm/PackageConfig.git"
    },
    {
      "identity" : "shellout",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/JohnSundell/ShellOut.git"
    },
    {
      "identity" : "swiftformat",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.35.8",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nicklockwood/SwiftFormat.git"
    },
    {
      "identity" : "swiftlint",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.28.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Realm/SwiftLint.git"
    },
    {
      "identity" : "rocket",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/f-meloni/Rocket"
    }
  ],
  "manifest_display_name" : "Komondor",
  "name" : "Komondor",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "komondor",
      "targets" : [
        "Komondor"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Komondor",
      "module_type" : "SwiftTarget",
      "name" : "Komondor",
      "path" : "Sources/Komondor",
      "product_dependencies" : [
        "PackageConfig",
        "ShellOut"
      ],
      "product_memberships" : [
        "komondor"
      ],
      "sources" : [
        "Commands/install.swift",
        "Commands/runner.swift",
        "Commands/uninstall.swift",
        "Installation/renderScript.swift",
        "Installation/renderScriptHeader.swift",
        "Utils/Edited.swift",
        "Utils/Logger.swift",
        "main.swift"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "4.2"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.