Build Information
Failed to build tandha, reference main (535a71), with Swift 6.1 for Android on 4 Sep 2026 15:54:50 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.0.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iQbalADR/tandha.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/iQbalADR/tandha
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 535a710 Keep roadmap out of code comments
Cloned https://github.com/iQbalADR/tandha.git
Revision (git rev-parse @):
535a710530ba5019726f1b7306f5de0b09fc3e2d
SUCCESS checkout https://github.com/iQbalADR/tandha.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/iQbalADR/tandha.git
https://github.com/iQbalADR/tandha.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:0cd0efb458d677a6de9b5e028d30e2aa1d1b247c2277202ba317a28ce9e867e0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
[1/1] Compiling plugin TandhaCodegenPlugin
Building for debugging...
[1/23] Write sources
[15/23] Write swift-version-24593BA9C3E375BF.txt
[17/33] Emitting module TandhaCore
/host/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' 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
15 |
16 | private let lock = NSLock()
[18/33] Compiling TandhaCore AutomationModel.swift
[19/33] Compiling TandhaCore AutomationIDEntry.swift
[20/33] Compiling TandhaCore AutomationRegistry.swift
/host/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' 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
15 |
16 | private let lock = NSLock()
[21/33] Compiling TandhaCore AutomationIDError.swift
[23/50] Emitting module TandhaCodegen
[24/50] Compiling TandhaCodegen SwiftEnumGenerator.swift
[25/50] Compiling TandhaCodegen SwiftIdentifier.swift
[26/51] Compiling TandhaLint LintFinding.swift
[27/51] Compiling TandhaLint Linter.swift
[28/51] Compiling TandhaLint NamingConventionRule.swift
[29/51] Emitting module TandhaLint
[30/51] Compiling TandhaLint DuplicateIdentifierRule.swift
[31/51] Compiling TandhaLint MissingKeyRule.swift
[32/51] Compiling TandhaLint LintRule.swift
[34/52] Compiling TandhaLint UnusedKeyRule.swift
[35/52] Emitting module TandhaExport
/host/spi-builder-workspace/Sources/TandhaExport/Exporter.swift:18:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | ///
6 | /// Each format is a single self-contained type, registered in `Exporters.all`.
7 | public protocol Exporter {
| `- note: protocol 'Exporter' does not conform to the 'Sendable' protocol
8 | /// CLI-facing format name, e.g. `json`, `csv`, `java`.
9 | static var formatName: String { get }
:
16 | /// Registry of the built-in exporters, keyed by `formatName`.
17 | public enum Exporters {
18 | public static let all: [any Exporter] = [
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | JSONExporter(),
20 | CSVExporter(),
[36/52] Compiling TandhaExport CSVExporter.swift
[37/52] Compiling TandhaExport JavaPageObjectExporter.swift
[38/52] Compiling TandhaExport Exporter.swift
/host/spi-builder-workspace/Sources/TandhaExport/Exporter.swift:18:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | ///
6 | /// Each format is a single self-contained type, registered in `Exporters.all`.
7 | public protocol Exporter {
| `- note: protocol 'Exporter' does not conform to the 'Sendable' protocol
8 | /// CLI-facing format name, e.g. `json`, `csv`, `java`.
9 | static var formatName: String { get }
:
16 | /// Registry of the built-in exporters, keyed by `formatName`.
17 | public enum Exporters {
18 | public static let all: [any Exporter] = [
| |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[any Exporter]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | JSONExporter(),
20 | CSVExporter(),
[39/52] Compiling TandhaExport JSONExporter.swift
[40/53] Compiling TandhaLint SourceScanner.swift
[43/61] Compiling TandhaCLI main.swift
[44/61] Compiling TandhaCLI ExportCommand.swift
[45/61] Emitting module TandhaCLI
[46/61] Compiling TandhaCLI Arguments.swift
[47/61] Compiling TandhaCLI IO.swift
[48/61] Compiling TandhaCLI GenerateCommand.swift
[49/61] Compiling TandhaCLI LintCommand.swift
[51/62] Compiling TandhaCore AutomationRegistry.swift
/host/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' 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
15 |
16 | private let lock = NSLock()
[52/62] Compiling TandhaCore AutomationModel.swift
[53/62] Compiling TandhaCore AutomationIDError.swift
[54/62] Emitting module TandhaCore
/host/spi-builder-workspace/Sources/TandhaCore/AutomationRegistry.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// Until configured, `identifier(forKey:)` returns the key unchanged, which
12 | /// matches the auto-derive default (key == identifier).
13 | public final class AutomationRegistry {
| `- note: class 'AutomationRegistry' does not conform to the 'Sendable' protocol
14 | public static let shared = AutomationRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AutomationRegistry' 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
15 |
16 | private let lock = NSLock()
[55/62] Compiling TandhaCore AutomationIDEntry.swift
[56/63] Wrapping AST for TandhaCore for debugging
[58/85] Compiling TandhaSwiftUI View+AutomationID.swift
[59/85] Emitting module TandhaSwiftUI
[60/85] Compiling TandhaXCUITest XCUITest+AutomationID.swift
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:8:11: error: cannot find type 'XCUIElementQuery' in scope
6 | #endif
7 |
8 | extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
9 | /// Look up an element in this query by automation identifier.
10 | ///
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:20:11: error: cannot find type 'XCUIApplication' in scope
18 | }
19 |
20 | extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
21 | /// First descendant of `type` matching `identifier`.
22 | ///
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:15:58: error: cannot find type 'XCUIElement' in scope
13 | /// app.textFields[automationID: AutomationID.login.usernameField].tap()
14 | /// ```
15 | public subscript(automationID identifier: String) -> XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
16 | self[identifier]
17 | }
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:29:10: error: cannot find type 'XCUIElement' in scope
27 | _ identifier: String,
28 | type: XCUIElement.ElementType = .any
29 | ) -> XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
30 | descendants(matching: type).matching(identifier: identifier).firstMatch
31 | }
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:28:15: error: cannot find type 'XCUIElement' in scope
26 | public func element(
27 | _ identifier: String,
28 | type: XCUIElement.ElementType = .any
| `- error: cannot find type 'XCUIElement' in scope
29 | ) -> XCUIElement {
30 | descendants(matching: type).matching(identifier: identifier).firstMatch
error: emit-module command failed with exit code 1 (use -v to see invocation)
[61/86] Emitting module TandhaXCUITest
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:8:11: error: cannot find type 'XCUIElementQuery' in scope
6 | #endif
7 |
8 | extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
9 | /// Look up an element in this query by automation identifier.
10 | ///
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:20:11: error: cannot find type 'XCUIApplication' in scope
18 | }
19 |
20 | extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
21 | /// First descendant of `type` matching `identifier`.
22 | ///
[62/86] Emitting module TandhaUIKit
[63/86] Compiling TandhaUIKit UIView+AutomationID.swift
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:0cd0efb458d677a6de9b5e028d30e2aa1d1b247c2277202ba317a28ce9e867e0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
[0/1] Planning build
[1/1] Compiling plugin TandhaCodegenPlugin
Building for debugging...
[1/9] Write swift-version-24593BA9C3E375BF.txt
[3/19] Compiling TandhaCore AutomationRegistry.swift
[5/19] Compiling TandhaCore AutomationIDError.swift
[6/19] Compiling TandhaCore AutomationModel.swift
[7/19] Compiling TandhaCore AutomationIDEntry.swift
[8/19] Emitting module TandhaCore
[9/20] Compiling TandhaCore AutomationIDError.swift
[10/20] Compiling TandhaCore AutomationIDEntry.swift
[11/20] Compiling TandhaCore AutomationModel.swift
[12/20] Emitting module TandhaCore
[15/55] Compiling TandhaLint MissingKeyRule.swift
[16/56] Compiling TandhaXCUITest XCUITest+AutomationID.swift
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:8:11: error: cannot find type 'XCUIElementQuery' in scope
6 | #endif
7 |
8 | extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
9 | /// Look up an element in this query by automation identifier.
10 | ///
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:20:11: error: cannot find type 'XCUIApplication' in scope
18 | }
19 |
20 | extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
21 | /// First descendant of `type` matching `identifier`.
22 | ///
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:15:58: error: cannot find type 'XCUIElement' in scope
13 | /// app.textFields[automationID: AutomationID.login.usernameField].tap()
14 | /// ```
15 | public subscript(automationID identifier: String) -> XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
16 | self[identifier]
17 | }
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:29:10: error: cannot find type 'XCUIElement' in scope
27 | _ identifier: String,
28 | type: XCUIElement.ElementType = .any
29 | ) -> XCUIElement {
| `- error: cannot find type 'XCUIElement' in scope
30 | descendants(matching: type).matching(identifier: identifier).firstMatch
31 | }
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:28:15: error: cannot find type 'XCUIElement' in scope
26 | public func element(
27 | _ identifier: String,
28 | type: XCUIElement.ElementType = .any
| `- error: cannot find type 'XCUIElement' in scope
29 | ) -> XCUIElement {
30 | descendants(matching: type).matching(identifier: identifier).firstMatch
[17/56] Compiling TandhaUIKit UIView+AutomationID.swift
[18/56] Emitting module TandhaUIKit
[19/57] Compiling TandhaLint LintFinding.swift
[20/57] Emitting module TandhaLint
error: emit-module command failed with exit code 1 (use -v to see invocation)
[21/57] Emitting module TandhaXCUITest
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:8:11: error: cannot find type 'XCUIElementQuery' in scope
6 | #endif
7 |
8 | extension XCUIElementQuery {
| `- error: cannot find type 'XCUIElementQuery' in scope
9 | /// Look up an element in this query by automation identifier.
10 | ///
/host/spi-builder-workspace/Sources/TandhaXCUITest/XCUITest+AutomationID.swift:20:11: error: cannot find type 'XCUIApplication' in scope
18 | }
19 |
20 | extension XCUIApplication {
| `- error: cannot find type 'XCUIApplication' in scope
21 | /// First descendant of `type` matching `identifier`.
22 | ///
[22/57] Compiling TandhaExport Exporter.swift
[23/57] Emitting module TandhaExport
[24/57] Compiling TandhaSwiftUI View+AutomationID.swift
[25/57] Compiling TandhaLint DuplicateIdentifierRule.swift
[26/57] Compiling TandhaLint Linter.swift
[27/57] Compiling TandhaLint LintRule.swift
[28/57] Emitting module TandhaSwiftUI
[29/57] Emitting module TandhaExport
[30/57] Compiling TandhaLint NamingConventionRule.swift
[31/57] Compiling TandhaExport CSVExporter.swift
[32/57] Compiling TandhaExport JSONExporter.swift
BUILD FAILURE 6.1 android