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 PackageConfig, reference master (585231), with Swift 6.1 for Linux on 26 Apr 2025 19:02:27 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-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/packageconfig.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/packageconfig
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 5852319 Merge pull request #27 from minuscorp/rename-example-product
Cloned https://github.com/shibapm/packageconfig.git
Revision (git rev-parse @):
58523193c26fb821ed1720dcd8a21009055c7cdb
SUCCESS checkout https://github.com/shibapm/packageconfig.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/shibapm/packageconfig.git
https://github.com/shibapm/packageconfig.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PackageConfig",
  "name" : "PackageConfig",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "PackageConfig",
      "targets" : [
        "PackageConfig"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    },
    {
      "name" : "package-config",
      "targets" : [
        "PackageConfigExecutable"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "ExampleConfig",
      "targets" : [
        "ExampleConfig"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    },
    {
      "name" : "package-config-example",
      "targets" : [
        "ExampleMain"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PackageConfigs",
      "module_type" : "SwiftTarget",
      "name" : "PackageConfigs",
      "path" : "Sources/PackageConfigs",
      "sources" : [
        "PackageConfigs.swift"
      ],
      "target_dependencies" : [
        "ExampleConfig"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PackageConfigExecutable",
      "module_type" : "SwiftTarget",
      "name" : "PackageConfigExecutable",
      "path" : "Sources/PackageConfigExecutable",
      "product_memberships" : [
        "package-config"
      ],
      "sources" : [
        "main.swift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "PackageConfig",
      "module_type" : "SwiftTarget",
      "name" : "PackageConfig",
      "path" : "Sources/PackageConfig",
      "product_memberships" : [
        "PackageConfig",
        "ExampleConfig",
        "package-config-example"
      ],
      "sources" : [
        "DynamicLibraries.swift",
        "Error.swift",
        "Loader.swift",
        "Package.swift",
        "PackageConfig.swift",
        "PackageConfiguration.swift",
        "Writer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ExampleMain",
      "module_type" : "SwiftTarget",
      "name" : "ExampleMain",
      "path" : "Sources/ExampleMain",
      "product_memberships" : [
        "package-config-example"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "PackageConfig",
        "ExampleConfig"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ExampleConfig",
      "module_type" : "SwiftTarget",
      "name" : "ExampleConfig",
      "path" : "Sources/ExampleConfig",
      "product_memberships" : [
        "ExampleConfig",
        "package-config-example"
      ],
      "sources" : [
        "ExampleConfig.swift"
      ],
      "target_dependencies" : [
        "PackageConfig"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.2"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-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
Building for debugging...
[0/18] Write sources
[5/18] Write swift-version-24593BA9C3E375BF.txt
[7/28] Compiling PackageConfig Error.swift
[8/28] Compiling PackageConfig Loader.swift
[9/28] Compiling PackageConfig PackageConfig.swift
[10/28] Compiling PackageConfig Package.swift
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:25:17: warning: 'launchPath' is deprecated: renamed to 'executableURL'
 23 |
 24 |         // Create a process to eval the Swift Package manifest as a subprocess
 25 |         process.launchPath = swiftC
    |                 |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                 `- note: use 'executableURL' instead
 26 |         process.arguments = arguments
 27 |         let stdPipe = Pipe()
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:37:17: warning: 'launch()' is deprecated: renamed to 'run'
 35 |         // creating a file in the tmpdir that stores the JSON
 36 |         // settings when a new instance of PackageConfig is created
 37 |         process.launch()
    |                 |- warning: 'launch()' is deprecated: renamed to 'run'
    |                 `- note: use 'run' instead
 38 |         process.waitUntilExit()
 39 |         debugLog(String(data: stdPipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!)
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:56:21: warning: 'launchPath' is deprecated: renamed to 'executableURL'
 54 |             let pipe = Pipe()
 55 |
 56 |             process.launchPath = currentDirectory + "/Package"
    |                     |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                     `- note: use 'executableURL' instead
 57 |             process.standardOutput = pipe
 58 |
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:59:21: warning: 'launch()' is deprecated: renamed to 'run'
 57 |             process.standardOutput = pipe
 58 |
 59 |             process.launch()
    |                     |- warning: 'launch()' is deprecated: renamed to 'run'
    |                     `- note: use 'run' instead
 60 |             process.waitUntilExit()
 61 |
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:72:17: warning: 'launchPath' is deprecated: renamed to 'executableURL'
 70 |         let pipe = Pipe()
 71 |
 72 |         process.launchPath = "/usr/bin/xcrun"
    |                 |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                 `- note: use 'executableURL' instead
 73 |         process.arguments = ["--find", tool]
 74 |         process.standardOutput = pipe
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:76:34: warning: 'launchPath' is deprecated: renamed to 'executableURL'
 74 |         process.standardOutput = pipe
 75 |
 76 |         debugLog("CMD: \(process.launchPath!) \( ["--find", tool].joined(separator: " "))")
    |                                  |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                                  `- note: use 'executableURL' instead
 77 |
 78 |         process.launch()
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:78:17: warning: 'launch()' is deprecated: renamed to 'run'
 76 |         debugLog("CMD: \(process.launchPath!) \( ["--find", tool].joined(separator: " "))")
 77 |
 78 |         process.launch()
    |                 |- warning: 'launch()' is deprecated: renamed to 'run'
    |                 `- note: use 'run' instead
 79 |         process.waitUntilExit()
 80 |         return String(data: pipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:88:17: warning: 'launchPath' is deprecated: renamed to 'executableURL'
 86 |         let pipe = Pipe()
 87 |
 88 |         process.launchPath = "/bin/bash"
    |                 |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                 `- note: use 'executableURL' instead
 89 |         process.arguments = ["-c", "command -v \(tool)"]
 90 |         process.standardOutput = pipe
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:92:34: warning: 'launchPath' is deprecated: renamed to 'executableURL'
 90 |         process.standardOutput = pipe
 91 |
 92 |         debugLog("CMD: \(process.launchPath!) \(process.arguments!.joined(separator: " "))")
    |                                  |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                                  `- note: use 'executableURL' instead
 93 |
 94 |         process.launch()
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:94:17: warning: 'launch()' is deprecated: renamed to 'run'
 92 |         debugLog("CMD: \(process.launchPath!) \(process.arguments!.joined(separator: " "))")
 93 |
 94 |         process.launch()
    |                 |- warning: 'launch()' is deprecated: renamed to 'run'
    |                 `- note: use 'run' instead
 95 |         process.waitUntilExit()
 96 |         return String(data: pipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:224:17: warning: 'launchPath' is deprecated: renamed to 'executableURL'
222 |         let pipe = Pipe()
223 |
224 |         process.launchPath = "/usr/bin/xcrun"
    |                 |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                 `- note: use 'executableURL' instead
225 |         process.arguments = ["--show-sdk-path"]
226 |         process.standardOutput = pipe
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:228:43: warning: 'launchPath' is deprecated: renamed to 'executableURL'
226 |         process.standardOutput = pipe
227 |
228 |         debugLog("CMD SDK path: \(process.launchPath!) \(process.arguments!.joined(separator: " "))")
    |                                           |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
    |                                           `- note: use 'executableURL' instead
229 |
230 |         process.launch()
/host/spi-builder-workspace/Sources/PackageConfig/Package.swift:230:17: warning: 'launch()' is deprecated: renamed to 'run'
228 |         debugLog("CMD SDK path: \(process.launchPath!) \(process.arguments!.joined(separator: " "))")
229 |
230 |         process.launch()
    |                 |- warning: 'launch()' is deprecated: renamed to 'run'
    |                 `- note: use 'run' instead
231 |         process.waitUntilExit()
232 |         return String(data: pipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!
[11/28] Compiling PackageConfig PackageConfiguration.swift
/host/spi-builder-workspace/Sources/PackageConfig/PackageConfiguration.swift:4:23: warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | public struct PackageConfiguration: PackageConfig {
  4 |     public static var fileName: String = "package-config"
    |                       |- warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'fileName' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'fileName' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  5 |
  6 |     public let configuration: [String: Any]
[12/28] Compiling PackageConfig Writer.swift
[13/28] Emitting module PackageConfigExecutable
/host/spi-builder-workspace/Sources/PackageConfigExecutable/main.swift:12:9: warning: 'launchPath' is deprecated: renamed to 'executableURL'
10 | swift build --target PackageConfigs
11 | """
12 | process.launchPath = "/bin/bash"
   |         |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
   |         `- note: use 'executableURL' instead
13 | process.arguments = ["-c", script]
14 | process.launch()
/host/spi-builder-workspace/Sources/PackageConfigExecutable/main.swift:14:9: warning: 'launch()' is deprecated: renamed to 'run'
12 | process.launchPath = "/bin/bash"
13 | process.arguments = ["-c", script]
14 | process.launch()
   |         |- warning: 'launch()' is deprecated: renamed to 'run'
   |         `- note: use 'run' instead
15 | process.waitUntilExit()
16 |
[14/28] Compiling PackageConfigExecutable main.swift
/host/spi-builder-workspace/Sources/PackageConfigExecutable/main.swift:12:9: warning: 'launchPath' is deprecated: renamed to 'executableURL'
10 | swift build --target PackageConfigs
11 | """
12 | process.launchPath = "/bin/bash"
   |         |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
   |         `- note: use 'executableURL' instead
13 | process.arguments = ["-c", script]
14 | process.launch()
/host/spi-builder-workspace/Sources/PackageConfigExecutable/main.swift:14:9: warning: 'launch()' is deprecated: renamed to 'run'
12 | process.launchPath = "/bin/bash"
13 | process.arguments = ["-c", script]
14 | process.launch()
   |         |- warning: 'launch()' is deprecated: renamed to 'run'
   |         `- note: use 'run' instead
15 | process.waitUntilExit()
16 |
[15/29] Wrapping AST for PackageConfigExecutable for debugging
[16/29] Write Objects.LinkFileList
[17/29] Linking package-config
[19/29] Compiling PackageConfig DynamicLibraries.swift
/host/spi-builder-workspace/Sources/PackageConfig/DynamicLibraries.swift:13:11: warning: 'launchPath' is deprecated: renamed to 'executableURL'
11 | 		let pipe = Pipe()
12 |
13 | 		process.launchPath = "/bin/bash"
   |           |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
   |           `- note: use 'executableURL' instead
14 | 		process.arguments = ["-c", "cat Package.swift"]
15 | 		process.standardOutput = pipe
/host/spi-builder-workspace/Sources/PackageConfig/DynamicLibraries.swift:16:11: warning: 'launch()' is deprecated: renamed to 'run'
14 | 		process.arguments = ["-c", "cat Package.swift"]
15 | 		process.standardOutput = pipe
16 | 		process.launch()
   |           |- warning: 'launch()' is deprecated: renamed to 'run'
   |           `- note: use 'run' instead
17 | 		process.waitUntilExit()
18 |
[20/29] Emitting module PackageConfig
/host/spi-builder-workspace/Sources/PackageConfig/PackageConfiguration.swift:4:23: warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | public struct PackageConfiguration: PackageConfig {
  4 |     public static var fileName: String = "package-config"
    |                       |- warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'fileName' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'fileName' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  5 |
  6 |     public let configuration: [String: Any]
[21/30] Wrapping AST for PackageConfig for debugging
[22/30] Write Objects.LinkFileList
[24/32] Emitting module ExampleConfig
/host/spi-builder-workspace/Sources/ExampleConfig/ExampleConfig.swift:8:20: warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 | 	let value: String
 7 |
 8 | 	public static var fileName: String = "example.config.json"
   |                    |- warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'fileName' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: add '@MainActor' to make static property 'fileName' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 | 	public init(value: String) {
[25/32] Compiling ExampleConfig ExampleConfig.swift
/host/spi-builder-workspace/Sources/ExampleConfig/ExampleConfig.swift:8:20: warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 | 	let value: String
 7 |
 8 | 	public static var fileName: String = "example.config.json"
   |                    |- warning: static property 'fileName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'fileName' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: add '@MainActor' to make static property 'fileName' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 | 	public init(value: String) {
[25/33] Linking libPackageConfig.so
[27/33] Wrapping AST for ExampleConfig for debugging
[28/33] Write Objects.LinkFileList
[30/37] Compiling PackageConfigs PackageConfigs.swift
[31/37] Emitting module PackageConfigs
[32/38] Emitting module ExampleMain
[33/38] Compiling ExampleMain main.swift
[35/39] Linking libExampleConfig.so
[36/39] Wrapping AST for ExampleMain for debugging
[37/39] Write Objects.LinkFileList
[38/39] Linking package-config-example
Build complete! (16.80s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PackageConfig",
  "name" : "PackageConfig",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "PackageConfig",
      "targets" : [
        "PackageConfig"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    },
    {
      "name" : "package-config",
      "targets" : [
        "PackageConfigExecutable"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "ExampleConfig",
      "targets" : [
        "ExampleConfig"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    },
    {
      "name" : "package-config-example",
      "targets" : [
        "ExampleMain"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PackageConfigs",
      "module_type" : "SwiftTarget",
      "name" : "PackageConfigs",
      "path" : "Sources/PackageConfigs",
      "sources" : [
        "PackageConfigs.swift"
      ],
      "target_dependencies" : [
        "ExampleConfig"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PackageConfigExecutable",
      "module_type" : "SwiftTarget",
      "name" : "PackageConfigExecutable",
      "path" : "Sources/PackageConfigExecutable",
      "product_memberships" : [
        "package-config"
      ],
      "sources" : [
        "main.swift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "PackageConfig",
      "module_type" : "SwiftTarget",
      "name" : "PackageConfig",
      "path" : "Sources/PackageConfig",
      "product_memberships" : [
        "PackageConfig",
        "ExampleConfig",
        "package-config-example"
      ],
      "sources" : [
        "DynamicLibraries.swift",
        "Error.swift",
        "Loader.swift",
        "Package.swift",
        "PackageConfig.swift",
        "PackageConfiguration.swift",
        "Writer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ExampleMain",
      "module_type" : "SwiftTarget",
      "name" : "ExampleMain",
      "path" : "Sources/ExampleMain",
      "product_memberships" : [
        "package-config-example"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "PackageConfig",
        "ExampleConfig"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ExampleConfig",
      "module_type" : "SwiftTarget",
      "name" : "ExampleConfig",
      "path" : "Sources/ExampleConfig",
      "product_memberships" : [
        "ExampleConfig",
        "package-config-example"
      ],
      "sources" : [
        "ExampleConfig.swift"
      ],
      "target_dependencies" : [
        "PackageConfig"
      ],
      "type" : "library"
    }
  ],
  "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.