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 Komondor, reference master (3734b0), with Swift 6.0 for Linux on 2 Nov 2024 09:38:10 UTC.

Swift 6 data race errors: 2

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/shibapm/komondor.git
Reference: master
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
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 3734b0e Merge pull request #56 from leogdion/patch-1
Cloned https://github.com/shibapm/komondor.git
Revision (git rev-parse @):
3734b0e8b62cc9a59c487eb0796905c441bf9c10
SUCCESS checkout https://github.com/shibapm/komondor.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/shibapm/komondor.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/shibapm/PackageConfig.git
Fetching https://github.com/Realm/SwiftLint.git
Fetching https://github.com/shibapm/Rocket
Fetching https://github.com/nicklockwood/SwiftFormat.git
Fetching https://github.com/JohnSundell/ShellOut.git
[1/580] Fetching packageconfig
[576/1966] Fetching packageconfig, rocket
[1962/2926] Fetching packageconfig, rocket, shellout
[2922/47905] Fetching packageconfig, rocket, shellout, swiftformat
[7420/189093] Fetching packageconfig, rocket, shellout, swiftformat, swiftlint
Fetched https://github.com/JohnSundell/ShellOut.git from cache (34.59s)
Fetched https://github.com/nicklockwood/SwiftFormat.git from cache (35.33s)
Fetched https://github.com/shibapm/Rocket from cache (40.56s)
Fetched https://github.com/shibapm/PackageConfig.git from cache (40.57s)
Fetched https://github.com/Realm/SwiftLint.git from cache (42.07s)
Computing version for https://github.com/shibapm/Rocket
Computed https://github.com/shibapm/Rocket at 1.3.0 (7.78s)
Fetching https://github.com/kareman/SwiftShell
Fetching https://github.com/shibapm/Logger
Fetching https://github.com/jpsim/Yams
[1/116] Fetching logger
[117/4979] Fetching logger, swiftshell
[4980/14881] Fetching logger, swiftshell, yams
Fetched https://github.com/shibapm/Logger from cache (3.41s)
Fetched https://github.com/kareman/SwiftShell from cache (3.41s)
Fetched https://github.com/jpsim/Yams from cache (3.80s)
Computing version for https://github.com/kareman/SwiftShell
Computed https://github.com/kareman/SwiftShell at 5.1.0 (0.52s)
Computing version for https://github.com/shibapm/Logger
Computed https://github.com/shibapm/Logger at 0.2.3 (0.52s)
Computing version for https://github.com/JohnSundell/ShellOut.git
Computed https://github.com/JohnSundell/ShellOut.git at 2.3.0 (5.54s)
Computing version for https://github.com/shibapm/PackageConfig.git
Computed https://github.com/shibapm/PackageConfig.git at 1.1.3 (3.26s)
Computing version for https://github.com/jpsim/Yams
Computed https://github.com/jpsim/Yams at 5.1.3 (4.40s)
Computing version for https://github.com/Realm/SwiftLint.git
Computed https://github.com/Realm/SwiftLint.git at 0.57.0 (5.05s)
Fetching https://github.com/swiftlang/swift-syntax.git
Fetching https://github.com/jpsim/SourceKitten.git
Fetching https://github.com/JohnSundell/CollectionConcurrencyKit.git
Fetching https://github.com/krzyzanowskim/CryptoSwift.git
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/scottrhoyt/SwiftyTextTable.git
[1/83] Fetching collectionconcurrencykit
[84/1012] Fetching collectionconcurrencykit, swiftytexttable
[1013/13715] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift
[2919/29731] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, sourcekitten
[4201/42084] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, sourcekitten, swift-argument-parser
[38148/108483] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, sourcekitten, swift-argument-parser, swift-syntax
Fetched https://github.com/scottrhoyt/SwiftyTextTable.git from cache (6.91s)
Fetched https://github.com/JohnSundell/CollectionConcurrencyKit.git from cache (6.91s)
Fetched https://github.com/apple/swift-argument-parser.git from cache (6.92s)
Fetched https://github.com/jpsim/SourceKitten.git from cache (6.94s)
Fetched https://github.com/krzyzanowskim/CryptoSwift.git from cache (6.95s)
Fetched https://github.com/swiftlang/swift-syntax.git from cache (6.97s)
Computing version for https://github.com/JohnSundell/CollectionConcurrencyKit.git
Computed https://github.com/JohnSundell/CollectionConcurrencyKit.git at 0.2.0 (1.33s)
Computing version for https://github.com/scottrhoyt/SwiftyTextTable.git
Computed https://github.com/scottrhoyt/SwiftyTextTable.git at 0.9.0 (3.47s)
Computing version for https://github.com/jpsim/SourceKitten.git
Computed https://github.com/jpsim/SourceKitten.git at 0.35.0 (0.64s)
Fetching https://github.com/drmohundro/SWXMLHash.git
[1/2820] Fetching swxmlhash
Fetched https://github.com/drmohundro/SWXMLHash.git from cache (0.35s)
Computing version for https://github.com/drmohundro/SWXMLHash.git
Computed https://github.com/drmohundro/SWXMLHash.git at 7.0.2 (0.64s)
Computing version for https://github.com/krzyzanowskim/CryptoSwift.git
Computed https://github.com/krzyzanowskim/CryptoSwift.git at 1.8.3 (0.54s)
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.48s)
Computing version for https://github.com/nicklockwood/SwiftFormat.git
Computed https://github.com/nicklockwood/SwiftFormat.git at 0.54.6 (0.53s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 600.0.0-prerelease-2024-08-14 (0.67s)
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/shibapm/Logger
Working copy of https://github.com/shibapm/Logger resolved at 0.2.3
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/jpsim/SourceKitten.git
Working copy of https://github.com/jpsim/SourceKitten.git resolved at 0.35.0
Creating working copy for https://github.com/jpsim/Yams
Working copy of https://github.com/jpsim/Yams resolved at 5.1.3
Creating working copy for https://github.com/shibapm/Rocket
Working copy of https://github.com/shibapm/Rocket resolved at 1.3.0
Creating working copy for https://github.com/nicklockwood/SwiftFormat.git
Working copy of https://github.com/nicklockwood/SwiftFormat.git resolved at 0.54.6
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/drmohundro/SWXMLHash.git
Working copy of https://github.com/drmohundro/SWXMLHash.git resolved at 7.0.2
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 600.0.0-prerelease-2024-08-14
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/Realm/SwiftLint.git
Working copy of https://github.com/Realm/SwiftLint.git resolved at 0.57.0
Creating working copy for https://github.com/krzyzanowskim/CryptoSwift.git
Working copy of https://github.com/krzyzanowskim/CryptoSwift.git resolved at 1.8.3
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/shibapm/PackageConfig.git
Working copy of https://github.com/shibapm/PackageConfig.git resolved at 1.1.3
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin SwiftFormatPlugin
[3/3] Compiling plugin SwiftLintBuildToolPlugin
[4/4] Compiling plugin SwiftLintCommandPlugin
Building for debugging...
[4/15] Write sources
[7/15] Write swift-version-24593BA9C3E375BF.txt
[9/25] Compiling PackageConfig Error.swift
[10/25] Compiling PackageConfig PackageConfiguration.swift
[11/25] Compiling PackageConfig Writer.swift
[12/25] Emitting module ShellOut
[13/25] Compiling ShellOut ShellOut.swift
[15/26] Compiling PackageConfig Loader.swift
[16/26] Compiling PackageConfig Package.swift
[17/26] Compiling PackageConfig PackageConfig.swift
[17/26] Wrapping AST for ShellOut for debugging
[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 renderScriptHeader.swift
[27/36] Compiling Komondor Edited.swift
[28/36] Compiling Komondor Logger.swift
[29/36] Compiling Komondor uninstall.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: annotate 'hookList' with '@MainActor' if property should only be accessed from the main actor
    |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |     .applyPatchMsg,
 30 |     .preApplyPatch,
[30/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/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: annotate 'skippableHooks' with '@MainActor' if property should only be accessed from the main actor
    |     `- 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/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 |
[31/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: annotate 'hookList' with '@MainActor' if property should only be accessed from the main actor
    |            `- 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: annotate 'skippableHooks' with '@MainActor' if property should only be accessed from the main actor
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |     .commitMsg,
 50 |     .preCommit,
[32/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: annotate 'hookList' with '@MainActor' if property should only be accessed from the main actor
    |            `- 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: annotate 'skippableHooks' with '@MainActor' if property should only be accessed from the main actor
    |     `- 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 |
[33/36] Compiling Komondor main.swift
[34/37] Wrapping AST for Komondor for debugging
[35/37] Write Objects.LinkFileList
[36/37] Linking komondor
Build complete! (138.73s)
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/shibapm/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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.