Build Information
Successful build of Sisyphos, reference 0.1.0 (63c644), with Swift 6.4 for macOS (SPM) on 23 Sep 2026 10:46:39 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/SisyphosTests/Sisyphos.git
Reference: 0.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/SisyphosTests/Sisyphos
* tag 0.1.0 -> FETCH_HEAD
HEAD is now at 63c6449 Add build instruction for docs on SPI.
Cloned https://github.com/SisyphosTests/Sisyphos.git
Revision (git rev-parse @):
63c644935f0e0cc52fdb76b36dac2ec017d44bd8
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/SisyphosTests/Sisyphos.git at 0.1.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/SisyphosTests/Sisyphos.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[19 / 28]
[20 / 29] Sisyphos
[30 / 106]
[33 / 106]
[41 / 106]
[43 / 106]
[44 / 106]
[49 / 106]
[52 / 106]
[55 / 106]
[60 / 106]
[63 / 106]
[65 / 106]
[66 / 106]
[75 / 106]
[77 / 106]
[78 / 106]
[80 / 106]
[82 / 106]
[85 / 106]
[86 / 106]
[97 / 106] Sisyphos
[98 / 106] Sisyphos
[103 / 106] Sisyphos
Build complete! (11.68 sec)
/Users/admin/builder/spi-builder-workspace/Sources/Sisyphos/Extensions/XCUIElementSnapshot+Matching.swift:44:33: [1;33mwarning: [1;39mno method declared with Objective-C selector '_matchesElement:'[0;0m
[0;36m42 |[0;0m func matches(element: NSObject) -> Bool {
[0;36m43 |[0;0m typealias MethodType = @convention(c) (NSObject, Selector, NSObject) -> Bool
[0;36m44 |[0;0m let selector = Selector("_matchesElement:")
[0;36m|[0;0m |- [1;33mwarning: [1;39mno method declared with Objective-C selector '_matchesElement:'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mwrap the selector name in parentheses to suppress this warning[0;0m
[0;36m45 |[0;0m let methodImplementation = unsafeBitCast(method(for: selector), to: MethodType.self)
[0;36m46 |[0;0m return methodImplementation(self, selector, element)
/Users/admin/builder/spi-builder-workspace/Sources/Sisyphos/Extensions/XCUIElementType+BetterCustomDebugString.swift:7:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ElementType' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'XCUIAutomation' introduce this conformance in the future[0;0m
[0;36m5 |[0;0m /// `__C.XCUIElementType` for every element type which gives no idea of which type the element is. This implementation
[0;36m6 |[0;0m /// will print the actual element type, e.g. `.staticText` or `.other`.
[0;36m7 |[0;0m extension XCUIElement.ElementType: CustomDebugStringConvertible {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ElementType' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'XCUIAutomation' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m8 |[0;0m public var debugDescription: String {
[0;36m9 |[0;0m guard let elementType = ElementType(self) else { return "XCUIElement.ElementType(rawValue:\(rawValue))" }
/Users/admin/builder/spi-builder-workspace/Sources/Sisyphos/Extensions/XCUIElementSnapshot+Matching.swift:15:41: [1;33mwarning: [1;39mconditional cast from 'XCUIElement' to 'NSObject' always succeeds[0;0m
[0;36m13 |[0;0m guard
[0;36m14 |[0;0m let selfObject = self as? NSObject,
[0;36m15 |[0;0m let elementObject = element as? NSObject
[0;36m|[0;0m `- [1;33mwarning: [1;39mconditional cast from 'XCUIElement' to 'NSObject' always succeeds[0;0m
[0;36m16 |[0;0m else {
[0;36m17 |[0;0m return false
/Users/admin/builder/spi-builder-workspace/Sources/Sisyphos/Extensions/XCUIElementSnapshot+Matching.swift:44:33: [1;33mwarning: [1;39mno method declared with Objective-C selector '_matchesElement:'[0;0m
[0;36m42 |[0;0m func matches(element: NSObject) -> Bool {
[0;36m43 |[0;0m typealias MethodType = @convention(c) (NSObject, Selector, NSObject) -> Bool
[0;36m44 |[0;0m let selector = Selector("_matchesElement:")
[0;36m|[0;0m |- [1;33mwarning: [1;39mno method declared with Objective-C selector '_matchesElement:'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39mwrap the selector name in parentheses to suppress this warning[0;0m
[0;36m45 |[0;0m let methodImplementation = unsafeBitCast(method(for: selector), to: MethodType.self)
[0;36m46 |[0;0m return methodImplementation(self, selector, element)
/Users/admin/builder/spi-builder-workspace/Sources/Sisyphos/Extensions/XCUIElementType+BetterCustomDebugString.swift:7:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'ElementType' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'XCUIAutomation' introduce this conformance in the future[0;0m
[0;36m5 |[0;0m /// `__C.XCUIElementType` for every element type which gives no idea of which type the element is. This implementation
[0;36m6 |[0;0m /// will print the actual element type, e.g. `.staticText` or `.other`.
[0;36m7 |[0;0m extension XCUIElement.ElementType: CustomDebugStringConvertible {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'ElementType' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'XCUIAutomation' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m8 |[0;0m public var debugDescription: String {
[0;36m9 |[0;0m guard let elementType = ElementType(self) else { return "XCUIElement.ElementType(rawValue:\(rawValue))" }
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Sisyphos",
"name" : "Sisyphos",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "14.0"
}
],
"products" : [
{
"name" : "Sisyphos",
"targets" : [
"Sisyphos"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SisyphosTests",
"module_type" : "SwiftTarget",
"name" : "SisyphosTests",
"path" : "Tests/SisyphosTests",
"sources" : [
"Internal/NSPredicateTests.swift",
"PageBuilderTests.swift",
"SisyphosTests.swift"
],
"target_dependencies" : [
"Sisyphos"
],
"type" : "test"
},
{
"c99name" : "Sisyphos",
"module_type" : "SwiftTarget",
"name" : "Sisyphos",
"path" : "Sources/Sisyphos",
"product_memberships" : [
"Sisyphos"
],
"sources" : [
"DefaultAlert.swift",
"DefaultPermissionAlert.swift",
"Extensions/NSPredicate+Description.swift",
"Extensions/String+Localized.swift",
"Extensions/XCUIApplication+CurrentPage.swift",
"Extensions/XCUIElement+Extensions.swift",
"Extensions/XCUIElementSnapshot+Matching.swift",
"Extensions/XCUIElementType+BetterCustomDebugString.swift",
"Extensions/XCUITestCase+CodeGeneration.swift",
"Extensions/XCUITestCase+InterruptionMonitor.swift",
"Internal/ElementFinder.swift",
"Internal/Snapshot.swift",
"Internal/UIInterruptionsObserver.swift",
"InterruptionMonitor.swift",
"Page Elements/Alert.swift",
"Page Elements/Button.swift",
"Page Elements/Cell.swift",
"Page Elements/CollectionView.swift",
"Page Elements/NavigationBar.swift",
"Page Elements/Other.swift",
"Page Elements/SecureTextField.swift",
"Page Elements/StaticText.swift",
"Page Elements/Switch.swift",
"Page Elements/TabBar.swift",
"Page Elements/TextField.swift",
"Page.swift",
"PageBuilder.swift",
"PageDescription.swift",
"PageElement.swift",
"PageElementIdentifier.swift",
"PageExistsResults.swift",
"QueryIdentifier.swift",
"TestData.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Done.