Build Information
Successful build of Tonic, reference main (47aaab), with Swift 6.3 for macOS (SPM) on 16 Apr 2026 08:01:44 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AudioKit/Tonic.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/AudioKit/Tonic
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 47aaabd Bugfix: Clamp Note.noteNumber to MIDI range (0-127) to prevent crashes (#57)
Cloned https://github.com/AudioKit/Tonic.git
Revision (git rev-parse @):
47aaabd79e789bf269275564d466c08b86a75b1e
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/AudioKit/Tonic.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "tonic",
"name": "Tonic",
"url": "https://github.com/AudioKit/Tonic.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Tonic",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/AudioKit/Tonic.git
[1/4012] Fetching tonic
Fetched https://github.com/AudioKit/Tonic.git from cache (0.92s)
Creating working copy for https://github.com/AudioKit/Tonic.git
Working copy of https://github.com/AudioKit/Tonic.git resolved at main (47aaabd)
warning: '.resolve-product-dependencies': dependency 'tonic' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/AudioKit/Tonic.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[1/3] Copying Tonic.docc
[2/3] Write swift-version--6988338F2F200930.txt
[4/24] Emitting module Tonic
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
| `- note: use 'getRankedChords()' instead
72 |
73 | /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[5/26] Compiling Tonic Scale.swift
[6/26] Compiling Tonic resource_bundle_accessor.swift
[7/26] Compiling Tonic Interval.swift
[8/26] Compiling Tonic Key+Shortcuts.swift
[9/26] Compiling Tonic Key.swift
[10/26] Compiling Tonic Letter.swift
[11/26] Compiling Tonic Note.swift
[12/26] Compiling Tonic NoteClass+Shortcuts.swift
[13/26] Compiling Tonic Note+MiddleCStandard.swift
[14/26] Compiling Tonic Note+Shortcuts.swift
[15/26] Compiling Tonic PitchColor.swift
[16/26] Compiling Tonic Scale+Shortcuts.swift
[17/26] Compiling Tonic NoteClass.swift
[18/26] Compiling Tonic NoteSet.swift
[19/26] Compiling Tonic Octave.swift
[20/26] Compiling Tonic Pitch.swift
[21/26] Compiling Tonic Chord.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
| `- note: use 'getRankedChords' instead
293 | if potentialChords.isEmpty { return [] }
294 | let orderedNotes = notes.sorted(by: { f, s in f.noteNumber < s.noteNumber })
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
| `- note: use 'getRankedChords()' instead
72 |
73 | /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[22/26] Compiling Tonic ChordTable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
| `- note: use 'getRankedChords' instead
293 | if potentialChords.isEmpty { return [] }
294 | let orderedNotes = notes.sorted(by: { f, s in f.noteNumber < s.noteNumber })
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
| `- note: use 'getRankedChords()' instead
72 |
73 | /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[23/26] Compiling Tonic ChordType.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
| `- note: use 'getRankedChords' instead
293 | if potentialChords.isEmpty { return [] }
294 | let orderedNotes = notes.sorted(by: { f, s in f.noteNumber < s.noteNumber })
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection [#DeprecatedDeclaration]
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 [#DeprecatedDeclaration]
| `- note: use 'getRankedChords()' instead
72 |
73 | /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[24/26] Compiling Tonic Accidental.swift
[25/26] Compiling Tonic BitSet.swift
[26/26] Compiling Tonic Chord+Shortcuts.swift
Build complete! (4.06s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/Tonic/Chord.swift.orig
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Tonic",
"name" : "Tonic",
"path" : "/Users/admin/builder/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" : "/Users/admin/builder/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"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/audiokit/tonic/main
Repository: AudioKit/Tonic
Swift version used: 6.3
Target: Tonic
Extracting symbol information for 'Tonic'...
Finished extracting symbol information for 'Tonic'. (28.79s)
Building documentation for 'Tonic'...
warning: External name 'to' used to document parameter
--> ../Pitch.swift:81:21-81:23
79 |
80 | /// Returns the distance between Pitches in semitones.
81 + /// - Parameter to: Pitch to which you want to know the distance
| ╰─suggestion: Replace 'to' with 'next'
82 | public func semitones(to next: Pitch) -> Int8 {
83 | abs(midiNoteNumber - next.midiNoteNumber)
Finished building documentation for 'Tonic' (0.99s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/audiokit/tonic/main
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2277] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.08s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (1.73s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3672] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.04s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.77s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.6
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Compiling SymbolKit DeclarationFragments.swift
[7/53] Compiling SymbolKit Fragment.swift
[8/53] Compiling SymbolKit FragmentKind.swift
[9/53] Compiling SymbolKit FunctionParameter.swift
[10/53] Compiling SymbolKit FunctionSignature.swift
[11/53] Emitting module SymbolKit
[12/57] Compiling SymbolKit GenericConstraint.swift
[13/57] Compiling SymbolKit GenericParameter.swift
[14/57] Compiling SymbolKit Generics.swift
[15/57] Compiling SymbolKit Namespace.swift
[16/57] Compiling SymbolKit Mixin+Equals.swift
[17/57] Compiling SymbolKit Mixin+Hash.swift
[18/57] Compiling SymbolKit Mixin.swift
[19/57] Compiling SymbolKit LineList.swift
[20/57] Compiling SymbolKit Position.swift
[21/57] Compiling SymbolKit Names.swift
[22/57] Compiling SymbolKit SPI.swift
[23/57] Compiling SymbolKit Snippet.swift
[24/57] Compiling SymbolKit Extension.swift
[25/57] Compiling SymbolKit SemanticVersion.swift
[26/57] Compiling SymbolKit AccessControl.swift
[27/57] Compiling SymbolKit Availability.swift
[28/57] Compiling SymbolKit AvailabilityItem.swift
[29/57] Compiling SymbolKit Domain.swift
[30/57] Compiling SymbolKit SourceRange.swift
[31/57] Compiling SymbolKit Metadata.swift
[32/57] Compiling SymbolKit Module.swift
[33/57] Compiling SymbolKit OperatingSystem.swift
[34/57] Compiling SymbolKit Platform.swift
[35/57] Compiling SymbolKit Symbol.swift
[36/57] Compiling SymbolKit SymbolKind.swift
[37/57] Compiling SymbolKit SymbolGraph.swift
[38/57] Compiling SymbolKit GraphCollector.swift
[39/57] Compiling SymbolKit Relationship.swift
[40/57] Compiling SymbolKit RelationshipKind.swift
[41/57] Compiling SymbolKit SourceOrigin.swift
[42/57] Compiling SymbolKit GenericConstraints.swift
[43/57] Compiling SymbolKit Swift.swift
[44/57] Compiling SymbolKit Identifier.swift
[45/57] Compiling SymbolKit KindIdentifier.swift
[46/57] Compiling SymbolKit Location.swift
[47/57] Compiling SymbolKit Mutability.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets SnippetParser.swift
[53/57] Emitting module Snippets
[54/57] Compiling Snippets Snippet.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.98s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'Tonic' complete! (0.24s)
1869
11 /Users/admin/builder/spi-builder-workspace/.docs/audiokit/tonic/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/audiokit/tonic/main
File count: 1869
Doc size: 11.0MB
Preparing doc bundle ...
Uploading prod-audiokit-tonic-main-3f93ac3e.zip to s3://spi-docs-inbox/prod-audiokit-tonic-main-3f93ac3e.zip
Copying... [10%]
Copying... [21%]
Copying... [31%]
Copying... [42%]
Copying... [52%]
Copying... [60%]
Copying... [71%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.