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 Tonic, reference main (227c89), with Swift 6.1 for Wasm on 4 Jun 2025 03:21:49 UTC.

Swift 6 data race errors: 1

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AudioKit/Tonic.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/AudioKit/Tonic
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 227c89e test: romanNumeralNotation throws on index out of range (#53)
Cloned https://github.com/AudioKit/Tonic.git
Revision (git rev-parse @):
227c89ea047f928787bec571e487239547f21fe6
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/AudioKit/Tonic.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/AudioKit/Tonic.git
https://github.com/AudioKit/Tonic.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Tonic",
  "name" : "Tonic",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Tonic",
      "targets" : [
        "Tonic"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TonicTests",
      "module_type" : "SwiftTarget",
      "name" : "TonicTests",
      "path" : "Tests/TonicTests",
      "sources" : [
        "BitSetTests.swift",
        "ChordTests.swift",
        "IntervalTests.swift",
        "KeyTests.swift",
        "NoteTests.swift",
        "PerformanceTests.swift",
        "ReadMeTests.swift",
        "ScaleTests.swift",
        "TonicTests.swift"
      ],
      "target_dependencies" : [
        "Tonic"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Tonic",
      "module_type" : "SwiftTarget",
      "name" : "Tonic",
      "path" : "Sources/Tonic",
      "product_memberships" : [
        "Tonic"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Sources/Tonic/Tonic.docc",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Accidental.swift",
        "BitSet.swift",
        "Chord+Shortcuts.swift",
        "Chord.swift",
        "ChordTable.swift",
        "ChordType.swift",
        "Interval.swift",
        "Key+Shortcuts.swift",
        "Key.swift",
        "Letter.swift",
        "Note+MiddleCStandard.swift",
        "Note+Shortcuts.swift",
        "Note.swift",
        "NoteClass+Shortcuts.swift",
        "NoteClass.swift",
        "NoteSet.swift",
        "Octave.swift",
        "Pitch.swift",
        "PitchColor.swift",
        "Scale+Shortcuts.swift",
        "Scale.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Sources/Tonic/Chord.swift.orig
Building for debugging...
[0/3] Write sources
[1/3] Copying Tonic.docc
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/24] Compiling Tonic NoteSet.swift
[5/24] Compiling Tonic Octave.swift
[6/24] Compiling Tonic Pitch.swift
[7/26] Compiling Tonic PitchColor.swift
[8/26] Compiling Tonic Scale+Shortcuts.swift
[9/26] Emitting module Tonic
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// A table of note sets so we can look up chord names.
 6 | public class ChordTable {
   |              `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
 7 |     public static let shared = ChordTable()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     static func hash(_ noteClasses: [NoteClass]) -> Int {
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
69 |
70 |     /// All chords include enharmonic (same NoteSet) - Use "chords" alternative when enharmonic chords are not needed
71 |     lazy var chordsIncludingEnharmonic: [Chord] = ChordTable.generateAllChordsIncludingEnharmonic()
   |                                                              |- warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
   |                                                              `- note: use 'getRankedChords()' instead
72 |
73 |     /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[10/26] Compiling Tonic Accidental.swift
[11/26] Compiling Tonic BitSet.swift
[12/26] Compiling Tonic Chord+Shortcuts.swift
[13/26] Compiling Tonic Letter.swift
[14/26] Compiling Tonic Note+MiddleCStandard.swift
[15/26] Compiling Tonic Note+Shortcuts.swift
[16/26] Compiling Tonic Note.swift
[17/26] Compiling Tonic NoteClass+Shortcuts.swift
[18/26] Compiling Tonic NoteClass.swift
[19/26] Compiling Tonic Chord.swift
/host/spi-builder-workspace/Sources/Tonic/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
290 |     /// want to list the notes C, E, G, A as C6 if the C is in the bass
291 |     public static func getRankedChords(from notes: [Note]) -> [Chord] {
292 |         let potentialChords = ChordTable.shared.getAllChordsForNoteSet(NoteSet(notes: notes))
    |                                                 |- warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
    |                                                 `- note: use 'getRankedChords' instead
293 |         if potentialChords.isEmpty { return [] }
294 |         let orderedNotes = notes.sorted(by: { f, s in  f.noteNumber < s.noteNumber })
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// A table of note sets so we can look up chord names.
 6 | public class ChordTable {
   |              `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
 7 |     public static let shared = ChordTable()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     static func hash(_ noteClasses: [NoteClass]) -> Int {
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
69 |
70 |     /// All chords include enharmonic (same NoteSet) - Use "chords" alternative when enharmonic chords are not needed
71 |     lazy var chordsIncludingEnharmonic: [Chord] = ChordTable.generateAllChordsIncludingEnharmonic()
   |                                                              |- warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
   |                                                              `- note: use 'getRankedChords()' instead
72 |
73 |     /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[20/26] Compiling Tonic ChordTable.swift
/host/spi-builder-workspace/Sources/Tonic/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
290 |     /// want to list the notes C, E, G, A as C6 if the C is in the bass
291 |     public static func getRankedChords(from notes: [Note]) -> [Chord] {
292 |         let potentialChords = ChordTable.shared.getAllChordsForNoteSet(NoteSet(notes: notes))
    |                                                 |- warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
    |                                                 `- note: use 'getRankedChords' instead
293 |         if potentialChords.isEmpty { return [] }
294 |         let orderedNotes = notes.sorted(by: { f, s in  f.noteNumber < s.noteNumber })
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// A table of note sets so we can look up chord names.
 6 | public class ChordTable {
   |              `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
 7 |     public static let shared = ChordTable()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     static func hash(_ noteClasses: [NoteClass]) -> Int {
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
69 |
70 |     /// All chords include enharmonic (same NoteSet) - Use "chords" alternative when enharmonic chords are not needed
71 |     lazy var chordsIncludingEnharmonic: [Chord] = ChordTable.generateAllChordsIncludingEnharmonic()
   |                                                              |- warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
   |                                                              `- note: use 'getRankedChords()' instead
72 |
73 |     /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[21/26] Compiling Tonic ChordType.swift
/host/spi-builder-workspace/Sources/Tonic/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
290 |     /// want to list the notes C, E, G, A as C6 if the C is in the bass
291 |     public static func getRankedChords(from notes: [Note]) -> [Chord] {
292 |         let potentialChords = ChordTable.shared.getAllChordsForNoteSet(NoteSet(notes: notes))
    |                                                 |- warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
    |                                                 `- note: use 'getRankedChords' instead
293 |         if potentialChords.isEmpty { return [] }
294 |         let orderedNotes = notes.sorted(by: { f, s in  f.noteNumber < s.noteNumber })
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | /// A table of note sets so we can look up chord names.
 6 | public class ChordTable {
   |              `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
 7 |     public static let shared = ChordTable()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     static func hash(_ noteClasses: [NoteClass]) -> Int {
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
69 |
70 |     /// All chords include enharmonic (same NoteSet) - Use "chords" alternative when enharmonic chords are not needed
71 |     lazy var chordsIncludingEnharmonic: [Chord] = ChordTable.generateAllChordsIncludingEnharmonic()
   |                                                              |- warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
   |                                                              `- note: use 'getRankedChords()' instead
72 |
73 |     /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[22/26] Compiling Tonic Interval.swift
[23/26] Compiling Tonic Key+Shortcuts.swift
[24/26] Compiling Tonic Key.swift
[25/26] Compiling Tonic Scale.swift
[26/26] Compiling Tonic resource_bundle_accessor.swift
Build complete! (11.41s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Tonic",
  "name" : "Tonic",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Tonic",
      "targets" : [
        "Tonic"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TonicTests",
      "module_type" : "SwiftTarget",
      "name" : "TonicTests",
      "path" : "Tests/TonicTests",
      "sources" : [
        "BitSetTests.swift",
        "ChordTests.swift",
        "IntervalTests.swift",
        "KeyTests.swift",
        "NoteTests.swift",
        "PerformanceTests.swift",
        "ReadMeTests.swift",
        "ScaleTests.swift",
        "TonicTests.swift"
      ],
      "target_dependencies" : [
        "Tonic"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Tonic",
      "module_type" : "SwiftTarget",
      "name" : "Tonic",
      "path" : "Sources/Tonic",
      "product_memberships" : [
        "Tonic"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Sources/Tonic/Tonic.docc",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Accidental.swift",
        "BitSet.swift",
        "Chord+Shortcuts.swift",
        "Chord.swift",
        "ChordTable.swift",
        "ChordType.swift",
        "Interval.swift",
        "Key+Shortcuts.swift",
        "Key.swift",
        "Letter.swift",
        "Note+MiddleCStandard.swift",
        "Note+Shortcuts.swift",
        "Note.swift",
        "NoteClass+Shortcuts.swift",
        "NoteClass.swift",
        "NoteSet.swift",
        "Octave.swift",
        "Pitch.swift",
        "PitchColor.swift",
        "Scale+Shortcuts.swift",
        "Scale.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Done.