The Swift Package Index logo.Swift Package Index

Build Information

Successful build of PixelPantry, reference main (60388d), with Swift 6.1 for macOS (SPM) on 21 Jan 2026 19:57:40 UTC.

Swift 6 data race errors: 3

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pixel-pantry/PixelPantry.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pixel-pantry/PixelPantry
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 60388d0 Update README with comprehensive documentation
Cloned https://github.com/pixel-pantry/PixelPantry.git
Revision (git rev-parse @):
60388d07b06ff8842cca5205e221089ff75975b1
SUCCESS checkout https://github.com/pixel-pantry/PixelPantry.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/pixel-pantry/PixelPantry.git
https://github.com/pixel-pantry/PixelPantry.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PixelPantry",
  "name" : "PixelPantry",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "PixelPantry",
      "targets" : [
        "PixelPantry"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PixelPantryTests",
      "module_type" : "SwiftTarget",
      "name" : "PixelPantryTests",
      "path" : "Tests/PixelPantryTests",
      "sources" : [
        "RequestSignerTests.swift",
        "SignatureCompatibilityTests.swift",
        "UpdateModelTests.swift",
        "VerifierTests.swift"
      ],
      "target_dependencies" : [
        "PixelPantry"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PixelPantry",
      "module_type" : "SwiftTarget",
      "name" : "PixelPantry",
      "path" : "Sources/PixelPantry",
      "product_memberships" : [
        "PixelPantry"
      ],
      "sources" : [
        "Configuration.swift",
        "Installation/Downloader.swift",
        "Installation/Installer.swift",
        "Installation/Verifier.swift",
        "Models/PPError.swift",
        "Models/Update.swift",
        "Networking/APIClient.swift",
        "Networking/Endpoints.swift",
        "Networking/RequestSigner.swift",
        "PixelPantry.swift",
        "UI/UpdateView.swift",
        "UI/UpdateViewModel.swift",
        "UI/UpdateWindow.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/15] Compiling PixelPantry Endpoints.swift
[4/15] Compiling PixelPantry PixelPantry.swift
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:336:13: warning: var '_automaticCheckInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
334 |
335 | // Private storage (outside the extension for mutability)
336 | private var _automaticCheckInterval: TimeInterval = 0
    |             |- warning: var '_automaticCheckInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_automaticCheckInterval' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_automaticCheckInterval' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
337 | private var _automaticCheckCallback: (@Sendable (Update) -> Bool)?
338 | private var _automaticCheckTask: Task<Void, Never>?
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:337:13: warning: var '_automaticCheckCallback' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
335 | // Private storage (outside the extension for mutability)
336 | private var _automaticCheckInterval: TimeInterval = 0
337 | private var _automaticCheckCallback: (@Sendable (Update) -> Bool)?
    |             |- warning: var '_automaticCheckCallback' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_automaticCheckCallback' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_automaticCheckCallback' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
338 | private var _automaticCheckTask: Task<Void, Never>?
339 |
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:338:13: warning: var '_automaticCheckTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
336 | private var _automaticCheckInterval: TimeInterval = 0
337 | private var _automaticCheckCallback: (@Sendable (Update) -> Bool)?
338 | private var _automaticCheckTask: Task<Void, Never>?
    |             |- warning: var '_automaticCheckTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_automaticCheckTask' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_automaticCheckTask' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
339 |
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:102:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
100 |     /// - Parameter completion: Called with the result on the main thread
101 |     public static func checkForUpdates(completion: @escaping (UpdateCheckResult) -> Void) {
102 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
103 |             let result = await checkForUpdates()
104 |             await MainActor.run {
105 |                 completion(result)
    |                 `- note: closure captures 'completion' which is accessible to code in the current task
106 |             }
107 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:105:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
103 |             let result = await checkForUpdates()
104 |             await MainActor.run {
105 |                 completion(result)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |             }
107 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:168:49: warning: sending 'progress' risks causing data races; this is an error in the Swift 6 language mode
166 |             // Download the file
167 |             let downloader = Downloader()
168 |             let localURL = try await downloader.download(
    |                                                 |- warning: sending 'progress' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: sending task-isolated 'progress' to actor-isolated instance method 'download(from:expectedSHA256:fileName:progress:)' risks causing data races between actor-isolated and task-isolated uses
169 |                 from: downloadURL,
170 |                 expectedSHA256: update.sha256 ?? downloadResponse.sha256,
[5/15] Compiling PixelPantry PPError.swift
[6/15] Compiling PixelPantry Update.swift
[7/15] Compiling PixelPantry Installer.swift
[8/15] Compiling PixelPantry Verifier.swift
[9/15] Compiling PixelPantry Configuration.swift
[10/15] Compiling PixelPantry Downloader.swift
[11/15] Emitting module PixelPantry
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:336:13: warning: var '_automaticCheckInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
334 |
335 | // Private storage (outside the extension for mutability)
336 | private var _automaticCheckInterval: TimeInterval = 0
    |             |- warning: var '_automaticCheckInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_automaticCheckInterval' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_automaticCheckInterval' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
337 | private var _automaticCheckCallback: (@Sendable (Update) -> Bool)?
338 | private var _automaticCheckTask: Task<Void, Never>?
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:337:13: warning: var '_automaticCheckCallback' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
335 | // Private storage (outside the extension for mutability)
336 | private var _automaticCheckInterval: TimeInterval = 0
337 | private var _automaticCheckCallback: (@Sendable (Update) -> Bool)?
    |             |- warning: var '_automaticCheckCallback' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_automaticCheckCallback' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_automaticCheckCallback' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
338 | private var _automaticCheckTask: Task<Void, Never>?
339 |
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/PixelPantry.swift:338:13: warning: var '_automaticCheckTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
336 | private var _automaticCheckInterval: TimeInterval = 0
337 | private var _automaticCheckCallback: (@Sendable (Update) -> Bool)?
338 | private var _automaticCheckTask: Task<Void, Never>?
    |             |- warning: var '_automaticCheckTask' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_automaticCheckTask' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_automaticCheckTask' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
339 |
[12/16] Compiling PixelPantry UpdateView.swift
[13/16] Compiling PixelPantry RequestSigner.swift
[14/16] Compiling PixelPantry UpdateViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/PixelPantry/UI/UpdateViewModel.swift:74:48: warning: sending value of non-Sendable type '(Double) -> Void' risks causing data races; this is an error in the Swift 6 language mode
 72 |         errorMessage = nil
 73 |
 74 |         let downloadResult = await PixelPantry.downloadUpdate(update) { [weak self] progress in
    |                                                |- warning: sending value of non-Sendable type '(Double) -> Void' risks causing data races; this is an error in the Swift 6 language mode
    |                                                `- note: sending main actor-isolated value of non-Sendable type '(Double) -> Void' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 75 |             Task { @MainActor in
 76 |                 self?.downloadProgress = progress
[15/16] Compiling PixelPantry APIClient.swift
[16/16] Compiling PixelPantry UpdateWindow.swift
Build complete! (9.43s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PixelPantry",
  "name" : "PixelPantry",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "PixelPantry",
      "targets" : [
        "PixelPantry"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PixelPantryTests",
      "module_type" : "SwiftTarget",
      "name" : "PixelPantryTests",
      "path" : "Tests/PixelPantryTests",
      "sources" : [
        "RequestSignerTests.swift",
        "SignatureCompatibilityTests.swift",
        "UpdateModelTests.swift",
        "VerifierTests.swift"
      ],
      "target_dependencies" : [
        "PixelPantry"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PixelPantry",
      "module_type" : "SwiftTarget",
      "name" : "PixelPantry",
      "path" : "Sources/PixelPantry",
      "product_memberships" : [
        "PixelPantry"
      ],
      "sources" : [
        "Configuration.swift",
        "Installation/Downloader.swift",
        "Installation/Installer.swift",
        "Installation/Verifier.swift",
        "Models/PPError.swift",
        "Models/Update.swift",
        "Networking/APIClient.swift",
        "Networking/Endpoints.swift",
        "Networking/RequestSigner.swift",
        "PixelPantry.swift",
        "UI/UpdateView.swift",
        "UI/UpdateViewModel.swift",
        "UI/UpdateWindow.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.