The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Kipple, reference main (7b64f9), with Swift 6.2 (beta) for Linux on 21 Jun 2025 14:04:21 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bdrelling/Kipple.git
Reference: main
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/bdrelling/Kipple
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 7b64f96 Updated for Concurrency
Cloned https://github.com/bdrelling/Kipple.git
Revision (git rev-parse @):
7b64f96fa67d68b35722029f2ef02a417a911b62
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/bdrelling/Kipple.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.2
Building package at path:  $PWD
https://github.com/bdrelling/Kipple.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Fetching https://github.com/apple/swift-algorithms
Fetching https://github.com/bdrelling/KippleTools
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/kishikawakatsumi/KeychainAccess
Fetching https://github.com/devicekit/DeviceKit
Fetching https://github.com/apple/swift-log
[1/4386] Fetching keychainaccess
[659/5106] Fetching keychainaccess, kippletools
[1423/8942] Fetching keychainaccess, kippletools, swift-log
[1654/14901] Fetching keychainaccess, kippletools, swift-log, swift-algorithms
[1850/31541] Fetching keychainaccess, kippletools, swift-log, swift-algorithms, swift-collections
[3019/35613] Fetching keychainaccess, kippletools, swift-log, swift-algorithms, swift-collections, devicekit
Fetched https://github.com/bdrelling/KippleTools from cache (0.65s)
[6821/34893] Fetching keychainaccess, swift-log, swift-algorithms, swift-collections, devicekit
Fetched https://github.com/apple/swift-algorithms from cache (1.14s)
[14563/28934] Fetching keychainaccess, swift-log, swift-collections, devicekit
Fetched https://github.com/devicekit/DeviceKit from cache (1.44s)
Fetched https://github.com/apple/swift-log from cache (1.44s)
[8702/21026] Fetching keychainaccess, swift-collections
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (1.64s)
[4327/16640] Fetching swift-collections
Fetched https://github.com/apple/swift-collections from cache (2.72s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (7.36s)
Computing version for https://github.com/bdrelling/KippleTools
Computed https://github.com/bdrelling/KippleTools at 0.5.4 (0.77s)
Fetching https://github.com/nicklockwood/SwiftFormat
[1/48941] Fetching swiftformat
Fetching https://github.com/apple/swift-argument-parser
[48942/64321] Fetching swiftformat, swift-argument-parser
Fetched https://github.com/nicklockwood/SwiftFormat from cache (41.86s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.48s)
Computing version for https://github.com/apple/swift-algorithms
Computed https://github.com/apple/swift-algorithms at 1.2.1 (43.28s)
Fetching https://github.com/apple/swift-numerics.git
[1/5757] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git from cache (3.27s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.0.3 (9.13s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.91s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (1.31s)
Computing version for https://github.com/devicekit/DeviceKit
Computed https://github.com/devicekit/DeviceKit at 5.6.0 (0.78s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.2.0 (2.19s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.56.4 (0.99s)
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.0.3
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess
Working copy of https://github.com/kishikawakatsumi/KeychainAccess resolved at 4.2.2
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.2.0
Creating working copy for https://github.com/bdrelling/KippleTools
Working copy of https://github.com/bdrelling/KippleTools resolved at 0.5.4
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.56.4
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.1
Creating working copy for https://github.com/devicekit/DeviceKit
Working copy of https://github.com/devicekit/DeviceKit resolved at 5.6.0
Creating working copy for https://github.com/apple/swift-algorithms
Working copy of https://github.com/apple/swift-algorithms resolved at 1.2.1
warning: 'devicekit': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Device.swift.gyb
    /host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Info.plist
[1/1] Compiling plugin SwiftFormatPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/18] Write sources
[16/18] Compiling _NumericsShims _NumericsShims.c
[17/18] Write swift-version-24593BA9C3E375BF.txt
[19/80] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[20/80] Compiling InternalCollectionsUtilities UInt+reversed.swift
[21/81] Emitting module InternalCollectionsUtilities
[22/81] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[23/81] Compiling InternalCollectionsUtilities Integer rank.swift
[24/81] Compiling KippleFoundation BundleInfo.swift
[25/81] Compiling KippleFoundation SemanticVersion.swift
[26/82] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[27/82] Compiling InternalCollectionsUtilities _SortedCollection.swift
[28/82] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[29/82] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[30/82] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[31/82] Emitting module KippleCombine
[32/82] Compiling KippleCombine Publisher+Result.swift
[33/83] Compiling RealModule Real.swift
[34/84] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[35/84] Compiling InternalCollectionsUtilities Debugging.swift
[36/84] Compiling InternalCollectionsUtilities Descriptions.swift
[37/84] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[39/84] Compiling KippleCodable CodableDefaultStrategy.swift
[40/85] Compiling RealModule Float80+Real.swift
[41/85] Compiling RealModule Float16+Real.swift
[42/85] Compiling RealModule RealFunctions.swift
[47/85] Emitting module RealModule
[48/85] Compiling RealModule Float+Real.swift
[49/85] Compiling RealModule ElementaryFunctions.swift
[51/86] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[52/112] Compiling KippleCodable CodableIgnored.swift
[54/167] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[55/167] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[56/167] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[57/167] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[58/167] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[59/167] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[60/167] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[61/174] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[62/174] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[63/174] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[64/174] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[65/174] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[66/174] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[67/174] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[68/174] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[69/174] Compiling OrderedCollections OrderedDictionary+Elements.swift
[70/174] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[71/174] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[72/177] Compiling OrderedCollections _HashTable+Bucket.swift
[73/177] Compiling OrderedCollections _HashTable+BucketIterator.swift
[74/177] Compiling OrderedCollections _HashTable+Constants.swift
[75/177] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[76/177] Compiling Logging MetadataProvider.swift
[77/177] Compiling OrderedCollections OrderedDictionary+Codable.swift
[78/177] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[79/177] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[80/177] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[85/177] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[86/177] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[87/177] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[88/177] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[89/177] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[90/177] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[91/177] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[92/177] Compiling OrderedCollections OrderedDictionary+Values.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[95/177] Compiling Algorithms Trim.swift
[96/177] Compiling Algorithms Unique.swift
[97/177] Compiling Algorithms Windows.swift
[98/177] Compiling OrderedCollections OrderedSet+Descriptions.swift
[99/177] Compiling OrderedCollections OrderedSet+Diffing.swift
[100/177] Compiling OrderedCollections OrderedSet+Equatable.swift
[101/177] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[102/177] Compiling OrderedCollections OrderedSet+Hashable.swift
[103/177] Compiling OrderedCollections OrderedSet+Initializers.swift
[104/177] Compiling OrderedCollections OrderedSet+Insertions.swift
[105/177] Compiling OrderedCollections OrderedSet+Invariants.swift
[106/177] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[107/177] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[108/177] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[109/177] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[110/177] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[117/177] Compiling KippleCodable PropertyListDecoder+DecodeCleaned.swift
[118/177] Compiling KippleCodable CodableDefault.swift
[119/177] Compiling KippleCodable JSONDecoder+DecodeCleaned.swift
[120/177] Compiling KippleFoundation URLConvertible.swift
[123/177] Emitting module KippleFoundation
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[130/178] Emitting module KippleCodable
[137/179] Compiling KippleLocalStorage UserDefaults+Mocked.swift
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Mocked.swift:6:16: warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 4 |
 5 | extension UserDefaults {
 6 |     static let mocked: UserDefaults = {
   |                |- warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'mocked' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |         let name = "com.kipple.mocked"
 8 |         let store = UserDefaults(suiteName: name)!
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[138/179] Compiling KippleLocalStorage UserDefaults+Codable.swift
[139/179] Compiling KippleLocalStorage UserDefaults+Key.swift
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Key.swift:28:16: warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
26 |
27 | public extension UserDefaults {
28 |     static let codableStore = UserDefaults(suiteName: "com.kipple.codablestore")!
   |                |- warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'codableStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | }
30 |
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[140/179] Emitting module KippleLocalStorage
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Key.swift:28:16: warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
26 |
27 | public extension UserDefaults {
28 |     static let codableStore = UserDefaults(suiteName: "com.kipple.codablestore")!
   |                |- warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'codableStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | }
30 |
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Mocked.swift:6:16: warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 4 |
 5 | extension UserDefaults {
 6 |     static let mocked: UserDefaults = {
   |                |- warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'mocked' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |         let name = "com.kipple.mocked"
 8 |         let store = UserDefaults(suiteName: name)!
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[141/179] Compiling KippleLocalStorage UserDefaults+RemoveAllObjects.swift
[147/187] Emitting module KippleKeychain
[148/187] Compiling KippleKeychain Exports.swift
[149/187] Compiling KippleKeychain Keychain+Default.swift
[150/187] Compiling KippleKeychain Keychain+Key.swift
[152/188] Compiling Logging LogHandler.swift
[153/188] Compiling Logging Locks.swift
[154/188] Emitting module Logging
[155/188] Compiling Logging Logging.swift
[157/189] Emitting module KippleDevice
[158/193] Compiling KippleDevice DeviceInfo.swift
[159/193] Compiling KippleDevice DeviceFamily.swift
[161/194] Emitting module KippleLogging
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:16:23: warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 14 |     /// The `logLevel` of an individual `ConsoleLogHandler` is ignored when this global
 15 |     /// log level is set to a higher level.
 16 |     public static var globalLogLevel: Logger.Level?
    |                       |- warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
    |                       |- note: convert 'globalLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'globalLogLevel' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// The log label for the log handler.
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[165/194] Compiling OrderedCollections _HashTable+Testing.swift
[166/194] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[167/194] Compiling OrderedCollections _HashTable.swift
[168/194] Compiling OrderedCollections _Hashtable+Header.swift
[171/194] Compiling KippleLogging Logger+Convenience.swift
[180/194] Compiling KippleLogging ConsoleLogHandler.swift
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:16:23: warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 14 |     /// The `logLevel` of an individual `ConsoleLogHandler` is ignored when this global
 15 |     /// log level is set to a higher level.
 16 |     public static var globalLogLevel: Logger.Level?
    |                       |- warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
    |                       |- note: convert 'globalLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'globalLogLevel' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// The log label for the log handler.
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[181/194] Compiling KippleLogging Exports.swift
[183/195] Compiling OrderedCollections OrderedSet+Sendable.swift
[184/195] Compiling OrderedCollections OrderedSet+SubSequence.swift
[185/195] Compiling OrderedCollections OrderedSet+Testing.swift
[186/195] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[187/195] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[188/195] Compiling OrderedCollections OrderedSet.swift
[189/195] Compiling OrderedCollections _UnsafeBitset.swift
[190/195] Emitting module OrderedCollections
[196/196] Emitting module Algorithms
[198/204] Emitting module KippleCollections
[199/204] Compiling KippleCollections InterleavableDictionary.swift
[200/204] Compiling KippleCollections RangeReplaceableCollection+Rotating.swift
[201/204] Compiling KippleCollections Collection+Convenience.swift
[202/204] Compiling KippleCollections Array+RemoveDuplicates.swift
[203/204] Compiling KippleCollections Exports.swift
[204/204] Compiling KippleCollections BidirectionalCollection+Looping.swift
[206/207] Compiling Kipple Exports.swift
[207/207] Emitting module Kipple
Build complete! (134.15s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-algorithms",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-algorithms"
    },
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "kippletools",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.3",
            "upper_bound" : "0.6.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/bdrelling/KippleTools"
    },
    {
      "identity" : "devicekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.3",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/devicekit/DeviceKit"
    },
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.2.2",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess"
    }
  ],
  "manifest_display_name" : "Kipple",
  "name" : "Kipple",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Kipple",
      "targets" : [
        "Kipple"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCodable",
      "targets" : [
        "KippleCodable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCollections",
      "targets" : [
        "KippleCollections"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCombine",
      "targets" : [
        "KippleCombine"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleFoundation",
      "targets" : [
        "KippleFoundation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleDevice",
      "targets" : [
        "KippleDevice"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleKeychain",
      "targets" : [
        "KippleKeychain"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLocalStorage",
      "targets" : [
        "KippleLocalStorage"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLogging",
      "targets" : [
        "KippleLogging"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KippleLoggingTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLoggingTests",
      "path" : "Tests/KippleLoggingTests",
      "sources" : [
        "Protocols/LogHandlerValidating.swift",
        "Tests/ConsoleLogHandlerTests.swift"
      ],
      "target_dependencies" : [
        "KippleLogging"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLogging",
      "module_type" : "SwiftTarget",
      "name" : "KippleLogging",
      "path" : "Sources/KippleLogging",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleLogging"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Logger+Convenience.swift",
        "Handlers/ConsoleLogHandler.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleLocalStorageTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorageTests",
      "path" : "Tests/KippleLocalStorageTests",
      "sources" : [
        "UserDefaultsExtensionsTests.swift"
      ],
      "target_dependencies" : [
        "KippleLocalStorage"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLocalStorage",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorage",
      "path" : "Sources/KippleLocalStorage",
      "product_memberships" : [
        "Kipple",
        "KippleLocalStorage"
      ],
      "sources" : [
        "UserDefaults/UserDefaults+Codable.swift",
        "UserDefaults/UserDefaults+Key.swift",
        "UserDefaults/UserDefaults+Mocked.swift",
        "UserDefaults/UserDefaults+RemoveAllObjects.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleKeychain",
      "module_type" : "SwiftTarget",
      "name" : "KippleKeychain",
      "path" : "Sources/KippleKeychain",
      "product_dependencies" : [
        "KeychainAccess"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleKeychain"
      ],
      "sources" : [
        "Exports.swift",
        "Keychain+Default.swift",
        "Keychain+Key.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleFoundationTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundationTests",
      "path" : "Tests/KippleFoundationTests",
      "sources" : [
        "AppInfoTests.swift",
        "BoolExtensionTests.swift",
        "BundleExtensionTests.swift",
        "BundleInfoTests.swift",
        "ComparableExtensionTests.swift",
        "Int64ClampedTests.swift",
        "IntExtensionTests.swift",
        "ModuloTests.swift",
        "NSNumberExtensionTests.swift",
        "ResultExtensionTests.swift",
        "SemanticVersionTests.swift",
        "StringExtensionTests.swift",
        "StringLocalizedErrorExtensionTests.swift",
        "UInt64ClampedTests.swift",
        "URLConvertibleTests.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleFoundation",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundation",
      "path" : "Sources/KippleFoundation",
      "product_memberships" : [
        "Kipple",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain"
      ],
      "sources" : [
        "Extensions/BinaryInteger+Clamped.swift",
        "Extensions/Bool+Convenience.swift",
        "Extensions/Bundle+Convenience.swift",
        "Extensions/Bundle+Key.swift",
        "Extensions/Comparable+Clamped.swift",
        "Extensions/Int+Convenience.swift",
        "Extensions/NSNumber+Boolean.swift",
        "Extensions/Result+Convenience.swift",
        "Extensions/String+Convenience.swift",
        "Extensions/String+LocalizedError.swift",
        "Extensions/Swift+Modulo.swift",
        "Models/AppInfo.swift",
        "Models/BundleInfo.swift",
        "Models/SemanticVersion.swift",
        "Protocols/URLConvertible.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleDeviceTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleDeviceTests",
      "path" : "Tests/KippleDeviceTests",
      "sources" : [
        "DeviceInfoTests.swift"
      ],
      "target_dependencies" : [
        "KippleDevice"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleDevice",
      "module_type" : "SwiftTarget",
      "name" : "KippleDevice",
      "path" : "Sources/KippleDevice",
      "product_dependencies" : [
        "DeviceKit"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleDevice"
      ],
      "sources" : [
        "DeviceFamily.swift",
        "DeviceInfo.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCombineTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombineTests",
      "path" : "Tests/KippleCombineTests",
      "sources" : [
        "PublisherResultTests.swift"
      ],
      "target_dependencies" : [
        "KippleCombine"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCombine",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombine",
      "path" : "Sources/KippleCombine",
      "product_memberships" : [
        "Kipple",
        "KippleCombine"
      ],
      "sources" : [
        "Publisher+Result.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCollectionsTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollectionsTests",
      "path" : "Tests/KippleCollectionsTests",
      "sources" : [
        "BidirectionalCollectionExtensionTests.swift",
        "InterleavableDictionaryTests.swift"
      ],
      "target_dependencies" : [
        "KippleCollections"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCollections",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollections",
      "path" : "Sources/KippleCollections",
      "product_dependencies" : [
        "Algorithms",
        "OrderedCollections"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleCollections"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Array+RemoveDuplicates.swift",
        "Extensions/BidirectionalCollection+Looping.swift",
        "Extensions/Collection+Convenience.swift",
        "Extensions/RangeReplaceableCollection+Rotating.swift",
        "Protocols/InterleavableDictionary.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCodableTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodableTests",
      "path" : "Tests/KippleCodableTests",
      "sources" : [
        "CodableDefaultTests.swift",
        "CodableIgnoredTests.swift",
        "DecodingErrorCleanedTests.swift",
        "DictionaryExtensionTests.swift",
        "EncodableAsDictionaryTests.swift",
        "EncodablePrettyPrintedTests.swift"
      ],
      "target_dependencies" : [
        "KippleCodable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCodable",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodable",
      "path" : "Sources/KippleCodable",
      "product_memberships" : [
        "Kipple",
        "KippleCodable"
      ],
      "sources" : [
        "Errors/CleanedDecodingError.swift",
        "Errors/KippleCodableError.swift",
        "Extensions/DecodingError+Cleaned.swift",
        "Extensions/Dictionary+AsJSONSerializedData.swift",
        "Extensions/Encodable+AsDictionary.swift",
        "Extensions/Encodable+PrettyPrinted.swift",
        "Extensions/JSONDecoder+DecodeCleaned.swift",
        "Extensions/PropertyListDecoder+DecodeCleaned.swift",
        "PropertyWrappers/CodableDefault.swift",
        "PropertyWrappers/CodableDefaultStrategy.swift",
        "PropertyWrappers/CodableIgnored.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Kipple",
      "module_type" : "SwiftTarget",
      "name" : "Kipple",
      "path" : "Sources/Kipple",
      "product_memberships" : [
        "Kipple"
      ],
      "sources" : [
        "Exports.swift"
      ],
      "target_dependencies" : [
        "KippleCodable",
        "KippleCollections",
        "KippleCombine",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain",
        "KippleLocalStorage",
        "KippleLogging"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Done.