This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 Octoid with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/elegantchaos/Octoid.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/elegantchaos/Octoid
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 7640765 Added isEmpty
Cloned https://github.com/elegantchaos/Octoid.git
Revision (git rev-parse @):
7640765e7587b8654c4df78f2ce5e37f45380f96
SUCCESS checkout https://github.com/elegantchaos/Octoid.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/elegantchaos/Octoid.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/7] Write sources
[6/7] Write swift-version-6F35C1178C84523A.txt
[8/35] Compiling Logger PrintHandler.swift
[9/35] Compiling Coercion IntConvertible.swift
[10/35] Compiling Coercion StringConvertible.swift
[11/36] Compiling Coercion StandardConvertible.swift
[12/36] Compiling Coercion UIntConvertible.swift
[13/36] Compiling Logger OSLogHandler.swift
[14/36] Compiling CollectionExtensions Set+Insertion.swift
[15/36] Compiling Logger Manager.swift
[16/36] Compiling Coercion DateConvertible.swift
[17/36] Compiling Coercion DoubleConvertible.swift
[18/36] Compiling Logger Context.swift
[19/36] Compiling Logger Handler.swift
[20/36] Compiling Logger NSLogHandler.swift
[21/36] Compiling Coercion String+Coercion.swift
[22/36] Compiling Coercion Dictionary+Coercion.swift
[23/36] Compiling Coercion Double+Coercion.swift
[24/36] Compiling Coercion BoolConvertible.swift
[25/36] Compiling Coercion DataConvertible.swift
[26/36] Compiling Coercion Converter.swift
[27/36] Compiling Coercion Date+Coercion.swift
[28/36] Emitting module Logger
[29/36] Compiling Logger Channel.swift
[30/36] Emitting module Coercion
[31/36] Compiling Coercion BinaryInteger+Coercion.swift
[32/36] Compiling Coercion Bool+Coercion.swift
[33/36] Emitting module CollectionExtensions
[34/36] Compiling CollectionExtensions Dictionary+Merging.swift
[35/36] Compiling CollectionExtensions Dictionaery+Helpers.swift
[36/36] Compiling CollectionExtensions Sequence+Sorting.swift
[37/40] Compiling DataFetcher JSONDictionary.swift
[38/40] Emitting module DataFetcher
[39/40] Compiling DataFetcher DataFetcher.swift
[40/40] Compiling DataFetcher MockDataFetcher.swift
[41/50] Compiling JSONSession ResourceResolver.swift
[42/50] Emitting module JSONSession
[43/50] Compiling JSONSession TimeExtensions.swift
[44/50] Compiling JSONSession Request.swift
[45/50] Compiling JSONSession Resource.swift
[46/50] Compiling JSONSession ProcessorGroup.swift
[47/50] Compiling JSONSession Failure.swift
[48/50] Compiling JSONSession Processor.swift
[49/50] Compiling JSONSession Query.swift
[50/50] Compiling JSONSession Session.swift
[51/60] Compiling Octoid UnchangedProcessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:11:12: warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Logger
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            `- warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | #if canImport(FoundationNetworking)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 7 | import Foundation
 8 | import JSONSession
 9 | import Logger
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            |- note: annotate 'octoidChannel' 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
12 |
13 | #if canImport(FoundationNetworking)
[52/61] Compiling Octoid Session.swift
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:11:12: warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Logger
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            `- warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | #if canImport(FoundationNetworking)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 7 | import Foundation
 8 | import JSONSession
 9 | import Logger
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            |- note: annotate 'octoidChannel' 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
12 |
13 | #if canImport(FoundationNetworking)
[53/61] Compiling Octoid Events.swift
[54/61] Compiling Octoid MessageProcessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:11:12: warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Logger
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            `- warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | #if canImport(FoundationNetworking)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 7 | import Foundation
 8 | import JSONSession
 9 | import Logger
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            |- note: annotate 'octoidChannel' 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
12 |
13 | #if canImport(FoundationNetworking)
[55/61] Compiling Octoid JSONDictionary.swift
[56/61] Compiling Octoid Author.swift
[57/61] Compiling Octoid Commit.swift
[58/61] Compiling Octoid Actor.swift
[59/61] Emitting module Octoid
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:11:12: warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Logger
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            `- warning: let 'octoidChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | #if canImport(FoundationNetworking)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Octoid/Session.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 7 | import Foundation
 8 | import JSONSession
 9 | import Logger
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
10 |
11 | public let octoidChannel = Channel("com.elegantchaos.Octoid")
   |            |- note: annotate 'octoidChannel' 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
12 |
13 | #if canImport(FoundationNetworking)
[60/61] Compiling Octoid GraphAPI.swift
[61/61] Compiling Octoid WorkflowRuns.swift
Build complete! (44.18s)
Fetching https://github.com/elegantchaos/CollectionExtensions.git
Fetching https://github.com/elegantchaos/Logger.git
Fetching https://github.com/elegantchaos/DataFetcher.git
Fetching https://github.com/elegantchaos/XCTestExtensions.git
Fetching https://github.com/elegantchaos/JSONSession.git
Fetching https://github.com/elegantchaos/Coercion.git
[1/400] Fetching collectionextensions
[33/572] Fetching collectionextensions, datafetcher
[171/846] Fetching collectionextensions, datafetcher, coercion
[555/1153] Fetching collectionextensions, datafetcher, coercion, jsonsession
[727/3000] Fetching collectionextensions, datafetcher, coercion, jsonsession, logger
[764/3565] Fetching collectionextensions, datafetcher, coercion, jsonsession, logger, xctestextensions
Fetched https://github.com/elegantchaos/XCTestExtensions.git from cache (0.89s)
Fetched https://github.com/elegantchaos/CollectionExtensions.git from cache (0.89s)
[920/2600] Fetching datafetcher, coercion, jsonsession, logger
Fetched https://github.com/elegantchaos/JSONSession.git from cache (1.07s)
Fetched https://github.com/elegantchaos/Coercion.git from cache (1.07s)
Fetched https://github.com/elegantchaos/Logger.git from cache (1.07s)
Fetched https://github.com/elegantchaos/DataFetcher.git from cache (1.07s)
Computing version for https://github.com/elegantchaos/XCTestExtensions.git
Computed https://github.com/elegantchaos/XCTestExtensions.git at 1.3.2 (0.70s)
Computing version for https://github.com/elegantchaos/JSONSession.git
Computed https://github.com/elegantchaos/JSONSession.git at 1.1.1 (0.69s)
Computing version for https://github.com/elegantchaos/Logger.git
Computed https://github.com/elegantchaos/Logger.git at 1.6.0 (0.69s)
Computing version for https://github.com/elegantchaos/CollectionExtensions.git
Computed https://github.com/elegantchaos/CollectionExtensions.git at 1.1.2 (0.67s)
Computing version for https://github.com/elegantchaos/DataFetcher.git
Computed https://github.com/elegantchaos/DataFetcher.git at 1.0.2 (0.66s)
Computing version for https://github.com/elegantchaos/Coercion.git
Computed https://github.com/elegantchaos/Coercion.git at 1.1.1 (0.66s)
Creating working copy for https://github.com/elegantchaos/JSONSession.git
Working copy of https://github.com/elegantchaos/JSONSession.git resolved at 1.1.1
Creating working copy for https://github.com/elegantchaos/Logger.git
Working copy of https://github.com/elegantchaos/Logger.git resolved at 1.6.0
Creating working copy for https://github.com/elegantchaos/XCTestExtensions.git
Working copy of https://github.com/elegantchaos/XCTestExtensions.git resolved at 1.3.2
Creating working copy for https://github.com/elegantchaos/CollectionExtensions.git
Working copy of https://github.com/elegantchaos/CollectionExtensions.git resolved at 1.1.2
Creating working copy for https://github.com/elegantchaos/Coercion.git
Working copy of https://github.com/elegantchaos/Coercion.git resolved at 1.1.1
Creating working copy for https://github.com/elegantchaos/DataFetcher.git
Working copy of https://github.com/elegantchaos/DataFetcher.git resolved at 1.0.2
Build complete.
{
  "dependencies" : [
    {
      "identity" : "collectionextensions",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/CollectionExtensions.git"
    },
    {
      "identity" : "logger",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.6.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/Logger.git"
    },
    {
      "identity" : "jsonsession",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/JSONSession.git"
    },
    {
      "identity" : "xctestextensions",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/XCTestExtensions.git"
    }
  ],
  "manifest_display_name" : "Octoid",
  "name" : "Octoid",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Octoid",
      "targets" : [
        "Octoid"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "OctoidTests",
      "module_type" : "SwiftTarget",
      "name" : "OctoidTests",
      "path" : "Tests/OctoidTests",
      "product_dependencies" : [
        "XCTestExtensions"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/OctoidTests/Resources/events.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/OctoidTests/Resources/runs.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "OctoidTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Octoid"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Octoid",
      "module_type" : "SwiftTarget",
      "name" : "Octoid",
      "path" : "Sources/Octoid",
      "product_dependencies" : [
        "CollectionExtensions",
        "Logger",
        "JSONSession"
      ],
      "product_memberships" : [
        "Octoid"
      ],
      "sources" : [
        "Actor.swift",
        "Author.swift",
        "Commit.swift",
        "Events.swift",
        "GraphAPI.swift",
        "JSONDictionary.swift",
        "MessageProcessor.swift",
        "Session.swift",
        "UnchangedProcessor.swift",
        "WorkflowRuns.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.