Build Information
Successful build of Iris, reference v1.2.0 (570ee9), with Swift 6.3 for macOS (SPM) on 14 Aug 2026 13:54:37 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: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Chandram-Dutta/Iris.git
Reference: v1.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Chandram-Dutta/Iris
* tag v1.2.0 -> FETCH_HEAD
HEAD is now at 570ee91 Add audio system with Sound and Music APIs
Cloned https://github.com/Chandram-Dutta/Iris.git
Revision (git rev-parse @):
570ee918d0a3056c1f23b3a3d3965a7df20a568e
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Chandram-Dutta/Iris.git at v1.2.0
Fetching https://github.com/swiftlang/swift-docc-symbolkit
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
[236/6152] Fetching swift-docc-plugin, swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.53s)
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.53s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.5
========================================
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": "iris",
"name": "Iris",
"url": "https://github.com/Chandram-Dutta/Iris.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Iris",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/Chandram-Dutta/Iris.git
[1/321] Fetching iris
Fetched https://github.com/Chandram-Dutta/Iris.git from cache (1.45s)
Creating working copy for https://github.com/Chandram-Dutta/Iris.git
Working copy of https://github.com/Chandram-Dutta/Iris.git resolved at v1.2.0 (570ee91)
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/Chandram-Dutta/Iris.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/25] Write sources
[4/25] Write IrisRunner-entitlement.plist
[4/25] Write Breakout-entitlement.plist
[7/25] Write sources
[8/25] Write Snake-entitlement.plist
[9/25] Write SpaceShooter-entitlement.plist
[11/25] Copying Resources
[12/25] Write swift-version--6988338F2F200930.txt
[14/46] Compiling Iris DrawCommand.swift
[15/46] Compiling Iris Font.swift
[16/48] Compiling Iris Game.swift
[17/48] Compiling Iris WindowConfig.swift
[18/48] Compiling Iris CollisionDetection.swift
[19/48] Compiling Iris ConvexHull.swift
[20/48] Compiling Iris Hitbox.swift
[21/48] Compiling Iris PixelMask.swift
[22/48] Compiling Iris Engine.swift
[23/48] Compiling Iris Image.swift
[24/48] Compiling Iris Input.swift
[25/48] Compiling Iris AudioBackend.swift
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:232:24: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
230 | consumed = true
231 | outStatus.pointee = .haveData
232 | return buffer
| `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
233 | }
234 |
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
65 | */
66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
67 | @interface AVAudioPCMBuffer : AVAudioBuffer
| `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
68 |
69 | /*! @method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:2:5: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
1 | #if os(macOS)
2 | import AVFoundation
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
3 | import Foundation
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:226:20: warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
224 | var error: NSError?
225 | let status = converter.convert(to: outBuffer, error: &error) { _, outStatus in
226 | if consumed {
| `- warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
227 | outStatus.pointee = .endOfStream
228 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:230:17: warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
228 | return nil
229 | }
230 | consumed = true
| `- warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
231 | outStatus.pointee = .haveData
232 | return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[26/48] Compiling Iris Music.swift
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:232:24: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
230 | consumed = true
231 | outStatus.pointee = .haveData
232 | return buffer
| `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
233 | }
234 |
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
65 | */
66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
67 | @interface AVAudioPCMBuffer : AVAudioBuffer
| `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
68 |
69 | /*! @method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:2:5: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
1 | #if os(macOS)
2 | import AVFoundation
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
3 | import Foundation
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:226:20: warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
224 | var error: NSError?
225 | let status = converter.convert(to: outBuffer, error: &error) { _, outStatus in
226 | if consumed {
| `- warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
227 | outStatus.pointee = .endOfStream
228 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:230:17: warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
228 | return nil
229 | }
230 | consumed = true
| `- warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
231 | outStatus.pointee = .haveData
232 | return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[27/48] Compiling Iris Sound.swift
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:232:24: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
230 | consumed = true
231 | outStatus.pointee = .haveData
232 | return buffer
| `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
233 | }
234 |
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
65 | */
66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
67 | @interface AVAudioPCMBuffer : AVAudioBuffer
| `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
68 |
69 | /*! @method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:2:5: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
1 | #if os(macOS)
2 | import AVFoundation
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
3 | import Foundation
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:226:20: warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
224 | var error: NSError?
225 | let status = converter.convert(to: outBuffer, error: &error) { _, outStatus in
226 | if consumed {
| `- warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
227 | outStatus.pointee = .endOfStream
228 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:230:17: warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
228 | return nil
229 | }
230 | consumed = true
| `- warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
231 | outStatus.pointee = .haveData
232 | return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[28/48] Emitting module Iris
[29/48] Compiling Iris GlyphAtlas.swift
[30/48] Compiling Iris Graphics.swift
[31/48] Compiling Iris Iris.swift
[32/48] Compiling Iris Math.swift
[33/48] Compiling Iris MacApp.swift
[34/48] Compiling Iris MacWindow.swift
[35/48] Compiling Iris MetalView.swift
[36/48] Compiling Iris Renderer.swift
[37/72] Compiling Snake main.swift
[38/72] Compiling Breakout main.swift
[39/72] Compiling Breakout Brick.swift
[40/72] Compiling Breakout Paddle.swift
[41/72] Compiling SpaceShooter resource_bundle_accessor.swift
[42/72] Compiling SpaceShooter main.swift
[43/72] Compiling SpaceShooter Star.swift
[44/72] Emitting module SpaceShooter
[45/72] Emitting module Snake
[46/72] Compiling Snake Grid.swift
[47/72] Compiling Snake Snake.swift
[48/72] Compiling Snake Food.swift
[49/72] Compiling Snake SnakeGame.swift
[50/72] Compiling SpaceShooter Explosion.swift
[51/72] Compiling SpaceShooter Bullet.swift
[52/72] Compiling SpaceShooter Enemy.swift
[52/72] Write Objects.LinkFileList
[54/72] Compiling SpaceShooter GameResources.swift
[55/72] Compiling SpaceShooter Player.swift
[56/72] Emitting module Breakout
[57/72] Compiling Breakout Ball.swift
[58/72] Compiling Breakout BreakoutGame.swift
[59/72] Emitting module IrisRunner
[60/72] Compiling IrisRunner IrisRunner.swift
[60/72] Write Objects.LinkFileList
[63/72] Compiling SpaceShooter SpaceShooterGame.swift
[63/72] Write Objects.LinkFileList
[64/72] Linking IrisRunner
[65/72] Linking Snake
[65/72] Linking Breakout
[67/72] Applying Snake
[68/72] Applying Breakout
[69/72] Applying IrisRunner
[70/72] Linking SpaceShooter
[71/72] Applying SpaceShooter
Build complete! (20.82s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
}
],
"manifest_display_name" : "Iris",
"name" : "Iris",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Iris",
"targets" : [
"Iris"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "IrisRunner",
"targets" : [
"IrisRunner"
],
"type" : {
"executable" : null
}
},
{
"name" : "Breakout",
"targets" : [
"Breakout"
],
"type" : {
"executable" : null
}
},
{
"name" : "Snake",
"targets" : [
"Snake"
],
"type" : {
"executable" : null
}
},
{
"name" : "SpaceShooter",
"targets" : [
"SpaceShooter"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "SpaceShooter",
"module_type" : "SwiftTarget",
"name" : "SpaceShooter",
"path" : "Examples/SpaceShooter",
"product_memberships" : [
"SpaceShooter"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Examples/SpaceShooter/Resources",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Bullet.swift",
"Enemy.swift",
"Explosion.swift",
"GameResources.swift",
"Player.swift",
"SpaceShooterGame.swift",
"Star.swift",
"main.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
},
{
"c99name" : "Snake",
"module_type" : "SwiftTarget",
"name" : "Snake",
"path" : "Examples/Snake",
"product_memberships" : [
"Snake"
],
"sources" : [
"Food.swift",
"Grid.swift",
"Snake.swift",
"SnakeGame.swift",
"main.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
},
{
"c99name" : "IrisTests",
"module_type" : "SwiftTarget",
"name" : "IrisTests",
"path" : "Tests/IrisTests",
"sources" : [
"AudioTests.swift",
"CollisionTests.swift",
"IrisTests.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "test"
},
{
"c99name" : "IrisRunner",
"module_type" : "SwiftTarget",
"name" : "IrisRunner",
"path" : "Sources/IrisRunner",
"product_memberships" : [
"IrisRunner"
],
"sources" : [
"IrisRunner.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
},
{
"c99name" : "Iris",
"module_type" : "SwiftTarget",
"name" : "Iris",
"path" : "Sources/Iris",
"product_memberships" : [
"Iris",
"IrisRunner",
"Breakout",
"Snake",
"SpaceShooter"
],
"sources" : [
"Audio/AudioBackend.swift",
"Audio/Music.swift",
"Audio/Sound.swift",
"Collision/CollisionDetection.swift",
"Collision/ConvexHull.swift",
"Collision/Hitbox.swift",
"Collision/PixelMask.swift",
"Core/Engine.swift",
"Core/Game.swift",
"Core/WindowConfig.swift",
"Graphics/DrawCommand.swift",
"Graphics/Font.swift",
"Graphics/GlyphAtlas.swift",
"Graphics/Graphics.swift",
"Graphics/Image.swift",
"Input/Input.swift",
"Iris.swift",
"Math.swift",
"Platform/macOS/MacApp.swift",
"Platform/macOS/MacWindow.swift",
"Platform/macOS/MetalView.swift",
"Rendering/Renderer.swift"
],
"type" : "library"
},
{
"c99name" : "Breakout",
"module_type" : "SwiftTarget",
"name" : "Breakout",
"path" : "Examples/Breakout",
"product_memberships" : [
"Breakout"
],
"sources" : [
"Ball.swift",
"BreakoutGame.swift",
"Brick.swift",
"Paddle.swift",
"main.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
}
],
"tools_version" : "6.2"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/chandram-dutta/iris/v1.2.0
Repository: Chandram-Dutta/Iris
Swift version used: 6.3
.package(url: "https://github.com/swiftlang/swift-docc-plugin", from: "1.3.0")
Target: Iris
Extracting symbol information for 'Iris'...
Finished extracting symbol information for 'Iris'. (43.74s)
Building documentation for 'Iris'...
Finished building documentation for 'Iris' (0.77s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/chandram-dutta/iris/v1.2.0
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Compiling SymbolKit SemanticVersion.swift
[7/53] Compiling SymbolKit AccessControl.swift
[8/53] Compiling SymbolKit Availability.swift
[9/53] Compiling SymbolKit AvailabilityItem.swift
[10/53] Compiling SymbolKit Domain.swift
[11/57] Compiling SymbolKit SourceRange.swift
[12/57] Compiling SymbolKit Metadata.swift
[13/57] Compiling SymbolKit Module.swift
[14/57] Compiling SymbolKit OperatingSystem.swift
[15/57] Compiling SymbolKit Platform.swift
[16/57] Compiling SymbolKit Identifier.swift
[17/57] Compiling SymbolKit KindIdentifier.swift
[18/57] Compiling SymbolKit Location.swift
[19/57] Compiling SymbolKit Mutability.swift
[20/57] Compiling Snippets SnippetParser.swift
[21/57] Emitting module Snippets
[22/57] Compiling Snippets Snippet.swift
[23/57] Compiling SymbolKit DeclarationFragments.swift
[24/57] Compiling SymbolKit Fragment.swift
[25/57] Compiling SymbolKit FragmentKind.swift
[26/57] Compiling SymbolKit FunctionParameter.swift
[27/57] Compiling SymbolKit FunctionSignature.swift
[28/57] Compiling SymbolKit Mixin+Equals.swift
[29/57] Compiling SymbolKit Mixin+Hash.swift
[30/57] Compiling SymbolKit Mixin.swift
[31/57] Compiling SymbolKit LineList.swift
[32/57] Compiling SymbolKit Position.swift
[33/57] Emitting module SymbolKit
[34/57] Compiling SymbolKit Relationship.swift
[35/57] Compiling SymbolKit RelationshipKind.swift
[36/57] Compiling SymbolKit SourceOrigin.swift
[37/57] Compiling SymbolKit GenericConstraints.swift
[38/57] Compiling SymbolKit Swift.swift
[39/57] Compiling SymbolKit GenericConstraint.swift
[40/57] Compiling SymbolKit GenericParameter.swift
[41/57] Compiling SymbolKit Generics.swift
[42/57] Compiling SymbolKit Namespace.swift
[43/57] Compiling SymbolKit Symbol.swift
[44/57] Compiling SymbolKit SymbolKind.swift
[45/57] Compiling SymbolKit SymbolGraph.swift
[46/57] Compiling SymbolKit GraphCollector.swift
[47/57] Compiling SymbolKit Names.swift
[48/57] Compiling SymbolKit SPI.swift
[49/57] Compiling SymbolKit Snippet.swift
[50/57] Compiling SymbolKit Extension.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.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.57s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'Iris' complete! (0.25s)
362
3 /Users/admin/builder/spi-builder-workspace/.docs/chandram-dutta/iris/v1.2.0
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/chandram-dutta/iris/v1.2.0
File count: 362
Doc size: 3.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -chandram-dutta-iris-v1.2.0-fdf39342.zip to presigned URL
Starting upload of 694032 bytes...
Upload completed successfully
Done.