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 1.1.3 (585231), with Swift 6.0 for Linux on 28 Nov 2024 10:09:16 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/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 -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.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/shibapm/packageconfig.git
Reference: 1.1.3
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
 * tag               1.1.3      -> FETCH_HEAD
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 1.1.3
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/shibapm/packageconfig.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/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 -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.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
Building for debugging...
[0/18] Write sources
[5/18] Write swift-version-24593BA9C3E375BF.txt
[7/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 |
[8/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 |
[9/29] Compiling PackageConfig PackageConfig.swift
[11/29] Compiling PackageConfig Error.swift
[12/29] Compiling PackageConfig Loader.swift
[13/29] 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)!
[14/29] 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: annotate 'fileName' 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
  5 |
  6 |     public let configuration: [String: Any]
[15/29] Compiling PackageConfig Writer.swift
[15/29] Wrapping AST for PackageConfigExecutable for debugging
[16/29] Write Objects.LinkFileList
[17/29] Linking package-config
[19/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: annotate 'fileName' 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
  5 |
  6 |     public let configuration: [String: Any]
[20/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 |
[21/30] Wrapping AST for PackageConfig for debugging
[22/30] Write Objects.LinkFileList
[24/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: annotate 'fileName' 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
 9 |
10 | 	public init(value: String) {
[25/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: annotate 'fileName' 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
 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! (19.89s)
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.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.