Build Information
Successful build of SalahKit, reference 0.4.1 (00dc18), with Swift 6.3 for Android on 27 Oct 2026 11:39:45 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344846-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.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/salah-kit/SalahKit.git
Reference: 0.4.1
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/salah-kit/SalahKit
* tag 0.4.1 -> FETCH_HEAD
HEAD is now at 00dc18e Prepare SalahKit 0.4.1
Cloned https://github.com/salah-kit/SalahKit.git
Revision (git rev-parse @):
00dc18e06a37bc6c7d897bb1c38b2d20a8d4302c
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/salah-kit/SalahKit.git at 0.4.1
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/salah-kit/SalahKit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344846-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.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:1259d966e40d034d138a282ea8b980b108763342a7ff8ac7ef483c73e99068f3
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.3-latest
Fetching https://github.com/salah-kit/SalahTimes.git
[1/667] Fetching salahtimes
Fetched https://github.com/salah-kit/SalahTimes.git from cache (0.63s)
Computing version for https://github.com/salah-kit/SalahTimes.git
Computed https://github.com/salah-kit/SalahTimes.git at 0.1.0 (0.77s)
Creating working copy for https://github.com/salah-kit/SalahTimes.git
Working copy of https://github.com/salah-kit/SalahTimes.git resolved at 0.1.0
Building for debugging...
[0/19] Copying Localizable.xcstrings
[1/19] Write sources
[4/19] Copying Info.plist
[4/19] Copying PrivacyInfo.xcprivacy
[6/19] Copying Info.plist
[7/19] Write sources
[13/19] Write swift-version-272D24FF697CF451.txt
[15/55] Emitting module SalahCore
[16/58] Emitting module SalahTimes
[17/58] Compiling SalahCore CivilDay.swift
[18/58] Compiling SalahCore PrayerDay.swift
[19/59] Compiling SalahTimes Rules.swift
[20/59] Compiling SalahCore StatePolicy.swift
[21/59] Compiling SalahCore IqamaRules.swift
[22/59] Compiling SalahCore WallTimeResolver.swift
[23/59] Compiling SalahCore PrayerNames.swift
[24/59] Compiling SalahCore StringCatalog.swift
[25/59] Compiling SalahCore PrayerLocale.swift
[26/59] Compiling SalahCore Gregorian.swift
[27/59] Compiling SalahCore InstantText.swift
[30/59] Compiling SalahCore PrayerSource.swift
[35/59] Compiling SalahCore PrayerEvent.swift
[36/59] Compiling SalahCore PrayerKind.swift
[37/59] Compiling SalahCore ScheduleCoverage.swift
[38/59] Compiling SalahCore ScheduleEngine.swift
[39/59] Compiling SalahCore ScheduleState.swift
[44/59] Compiling SalahCore PrayerSchedule.swift
[45/59] Compiling SalahCore RefreshPlan.swift
[46/59] Compiling SalahCore ScheduleContext.swift
[47/59] Compiling SalahCore PrayerLocation.swift
[48/59] Compiling SalahCore HijriDateFormat.swift
[49/59] Compiling SalahCore PrayerDurationFormat.swift
[50/59] Compiling SalahCore TimetableSource.swift
[51/59] Compiling SalahCore WallClockTime.swift
[52/59] Compiling SalahCore resource_bundle_accessor.swift
[53/60] Compiling SalahTimes PrayerTimes.swift
[55/60] Compiling SalahTimes Qibla.swift
[56/61] Wrapping AST for SalahCore for debugging
[58/96] Compiling SalahAlerts NotificationScheduler.swift
[59/96] Compiling SalahUI ThemeColor+SwiftUI.swift
[60/97] Compiling SalahCalculation MethodSuggestion.swift
[61/97] Compiling SalahUI PrayerRowStyle.swift
[62/97] Compiling SalahUI PrayerTimesList.swift
[63/97] Compiling SalahWidgets resource_bundle_accessor.swift
[64/97] Compiling SalahCalculation CalculationSettings.swift
[65/97] Emitting module SalahUI
[66/97] Emitting module SalahCalculation
[67/97] Compiling SalahUI PrayerFocus.swift
[68/97] Compiling SalahUI NextPrayerView.swift
[69/97] Compiling SalahUI PrayerCountdown.swift
[70/97] Compiling SalahFixtures PrayerFixtures.swift
[71/97] Compiling SalahWidgets SharedValue.swift
[72/97] Compiling SalahFixtures PrayerFixtures+Places.swift
[73/97] Compiling SalahFixtures PrayerFixtures+Moments.swift
[74/97] Emitting module SalahFixtures
[75/97] Compiling SalahFixtures FixtureRows.swift
[76/97] Compiling SalahWidgets PrayerTimeline.swift
[77/97] Compiling SalahWidgets PrayerTimelineState.swift
[78/98] Compiling SalahUI ThemeColor.swift
[79/98] Compiling SalahCalculation CalculationSource.swift
[82/99] Compiling SalahUI ContrastCheck.swift
[83/99] Compiling SalahUI DisplayContent.swift
[84/99] Emitting module SalahWidgets
[85/99] Compiling SalahWidgets DarwinSignal.swift
[86/99] Compiling SalahWidgets PrayerTimelineBuilder.swift
[87/99] Compiling SalahWidgets PrayerTimelineBuilder+WidgetKit.swift
[88/100] Compiling SalahUI ListRowContent.swift
[89/100] Compiling SalahUI NextPrayerStyle.swift
[91/101] Wrapping AST for SalahWidgets for debugging
[93/105] Compiling SalahAlerts NotificationIdentity.swift
[94/105] Compiling SalahAlerts InProcessAlertEngine.swift
[95/105] Compiling SalahAlerts AlertSchedule.swift
[96/105] Emitting module SalahAlerts
[97/105] Compiling SalahAlerts AlertPlanner.swift
[98/105] Compiling SalahAlerts AlertSettings.swift
[99/106] Emitting module SalahUIPreviews
[100/106] Compiling SalahUIPreviews Gallery.swift
[103/107] Emitting module DarwinSignalHelper
[104/107] Compiling DarwinSignalHelper main.swift
[105/108] Wrapping AST for DarwinSignalHelper for debugging
[106/108] Write Objects.LinkFileList
[107/108] Linking DarwinSignalHelper
Build complete! (7.98s)
Build complete.
{
"default_localization" : "en",
"dependencies" : [
{
"identity" : "salahtimes",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "0.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/salah-kit/SalahTimes.git"
}
],
"manifest_display_name" : "SalahKit",
"name" : "SalahKit",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SalahCore",
"targets" : [
"SalahCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahCalculation",
"targets" : [
"SalahCalculation"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahFixtures",
"targets" : [
"SalahFixtures"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahAlerts",
"targets" : [
"SalahAlerts"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahWidgets",
"targets" : [
"SalahWidgets"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SalahUI",
"targets" : [
"SalahUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "DarwinSignalHelper",
"targets" : [
"DarwinSignalHelper"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "SalahWidgetsTests",
"module_type" : "SwiftTarget",
"name" : "SalahWidgetsTests",
"path" : "Tests/SalahWidgetsTests",
"product_dependencies" : [
"SalahTimes"
],
"sources" : [
"DarwinSignalTests.swift",
"LessonsDocumentationExamples.swift",
"PrayerTimelineBuilderTests.swift",
"SevenDayTimelineTests.swift",
"SharedValueTests.swift",
"WidgetHost.swift",
"WidgetsDocumentationExamples.swift",
"WidgetsDocumentationTests.swift"
],
"target_dependencies" : [
"DarwinSignalHelper",
"SalahCalculation",
"SalahCore",
"SalahFixtures",
"SalahUI",
"SalahWidgets"
],
"type" : "test"
},
{
"c99name" : "SalahWidgets",
"module_type" : "SwiftTarget",
"name" : "SalahWidgets",
"path" : "Sources/SalahWidgets",
"product_memberships" : [
"SalahWidgets",
"DarwinSignalHelper"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/SalahWidgets/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"DarwinSignal.swift",
"PrayerTimeline.swift",
"PrayerTimelineBuilder+WidgetKit.swift",
"PrayerTimelineBuilder.swift",
"PrayerTimelineState.swift",
"SharedValue.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahUITests",
"module_type" : "SwiftTarget",
"name" : "SalahUITests",
"path" : "Tests/SalahUITests",
"sources" : [
"DisplayContentTests.swift",
"ListRowContentTests.swift",
"MissingRowsRenderingTests.swift",
"NarrowLayoutTests.swift",
"PrayerFocusTests.swift",
"Snapshot.swift",
"SnapshotComparisonTests.swift",
"SnapshotTests.swift",
"ThemeColorTests.swift",
"UIDocumentationExamples.swift",
"UIDocumentationTests.swift"
],
"target_dependencies" : [
"SalahCore",
"SalahFixtures",
"SalahUI",
"SalahUIPreviews"
],
"type" : "test"
},
{
"c99name" : "SalahUIPreviews",
"module_type" : "SwiftTarget",
"name" : "SalahUIPreviews",
"path" : "Sources/SalahUIPreviews",
"sources" : [
"Gallery.swift"
],
"target_dependencies" : [
"SalahCore",
"SalahFixtures",
"SalahUI"
],
"type" : "library"
},
{
"c99name" : "SalahUI",
"module_type" : "SwiftTarget",
"name" : "SalahUI",
"path" : "Sources/SalahUI",
"product_memberships" : [
"SalahUI"
],
"sources" : [
"ContrastCheck.swift",
"Internal/DisplayContent.swift",
"Internal/ListRowContent.swift",
"NextPrayerStyle.swift",
"NextPrayerView.swift",
"PrayerCountdown.swift",
"PrayerFocus.swift",
"PrayerRowStyle.swift",
"PrayerTimesList.swift",
"ThemeColor+SwiftUI.swift",
"ThemeColor.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahFixturesTests",
"module_type" : "SwiftTarget",
"name" : "SalahFixturesTests",
"path" : "Tests/SalahFixturesTests",
"sources" : [
"DocumentationTests.swift",
"FixtureChecks.swift",
"FixtureDataTests.swift",
"MomentTests.swift",
"PlaceCaseTests.swift",
"PlaceCatalogTests.swift"
],
"target_dependencies" : [
"SalahCore",
"SalahFixtures"
],
"type" : "test"
},
{
"c99name" : "SalahFixtures",
"module_type" : "SwiftTarget",
"name" : "SalahFixtures",
"path" : "Sources/SalahFixtures",
"product_memberships" : [
"SalahFixtures"
],
"sources" : [
"FixtureRows.swift",
"PrayerFixtures+Moments.swift",
"PrayerFixtures+Places.swift",
"PrayerFixtures.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahCoreTests",
"module_type" : "SwiftTarget",
"name" : "SalahCoreTests",
"path" : "Tests/SalahCoreTests",
"sources" : [
"CatalogTests.swift",
"DocumentationExamples.swift",
"DocumentationTests.swift",
"DomainTests.swift",
"HijriDateFormatTests.swift",
"LeadTests.swift",
"NonisolatedAPITests.swift",
"PrayerDurationFormatTests.swift",
"PrayerLocaleTests.swift",
"PrayerNamesTests.swift",
"RefreshPlanTests.swift",
"ScheduleTests.swift",
"SourceContractTests.swift",
"VectorTests.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "test"
},
{
"c99name" : "SalahCore",
"module_type" : "SwiftTarget",
"name" : "SalahCore",
"path" : "Sources/SalahCore",
"product_memberships" : [
"SalahCore",
"SalahCalculation",
"SalahFixtures",
"SalahAlerts",
"SalahWidgets",
"SalahUI",
"DarwinSignalHelper"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/SalahCore/Resources/Localizable.xcstrings",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Domain/CivilDay.swift",
"Domain/PrayerDay.swift",
"Domain/PrayerEvent.swift",
"Domain/PrayerKind.swift",
"Domain/PrayerLocation.swift",
"Formatting/HijriDateFormat.swift",
"Formatting/PrayerDurationFormat.swift",
"Formatting/PrayerLocale.swift",
"Internal/Gregorian.swift",
"Internal/InstantText.swift",
"Internal/WallTimeResolver.swift",
"Names/PrayerNames.swift",
"Names/StringCatalog.swift",
"Schedule/PrayerSchedule.swift",
"Schedule/RefreshPlan.swift",
"Schedule/ScheduleContext.swift",
"Schedule/ScheduleCoverage.swift",
"Schedule/ScheduleEngine.swift",
"Schedule/ScheduleState.swift",
"Schedule/StatePolicy.swift",
"Sources/IqamaRules.swift",
"Sources/PrayerSource.swift",
"Sources/TimetableSource.swift",
"Sources/WallClockTime.swift"
],
"type" : "library"
},
{
"c99name" : "SalahCalculationTests",
"module_type" : "SwiftTarget",
"name" : "SalahCalculationTests",
"path" : "Tests/SalahCalculationTests",
"product_dependencies" : [
"SalahTimes"
],
"sources" : [
"CalculationDocumentationExamples.swift",
"CalculationDocumentationTests.swift",
"CalculationSettingsTests.swift",
"CalculationSourceTests.swift",
"CalculationVectorTests.swift",
"GoldenTests.swift",
"NonisolatedCalculationAPITests.swift",
"Places.swift",
"PrayerTimesInvarianceTests.swift"
],
"target_dependencies" : [
"SalahCalculation",
"SalahCore"
],
"type" : "test"
},
{
"c99name" : "SalahCalculation",
"module_type" : "SwiftTarget",
"name" : "SalahCalculation",
"path" : "Sources/SalahCalculation",
"product_dependencies" : [
"SalahTimes"
],
"product_memberships" : [
"SalahCalculation"
],
"sources" : [
"CalculationSettings.swift",
"CalculationSource.swift",
"MethodSuggestion.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "SalahAlertsTests",
"module_type" : "SwiftTarget",
"name" : "SalahAlertsTests",
"path" : "Tests/SalahAlertsTests",
"sources" : [
"AlertPlannerTests.swift",
"AlertVectorTests.swift",
"AlertsDocumentationExamples.swift",
"AlertsDocumentationTests.swift",
"CharacterizationPortTests.swift",
"InProcessAlertEngineTests.swift",
"NotificationSchedulerTests.swift",
"ReconciliationVectorTests.swift",
"Support/Fixture.swift",
"Support/JSON.swift",
"Support/ModelCenter.swift"
],
"target_dependencies" : [
"SalahAlerts",
"SalahCalculation",
"SalahCore"
],
"type" : "test"
},
{
"c99name" : "SalahAlerts",
"module_type" : "SwiftTarget",
"name" : "SalahAlerts",
"path" : "Sources/SalahAlerts",
"product_memberships" : [
"SalahAlerts"
],
"sources" : [
"AlertPlanner.swift",
"AlertSchedule.swift",
"AlertSettings.swift",
"InProcessAlertEngine.swift",
"NotificationIdentity.swift",
"NotificationScheduler.swift"
],
"target_dependencies" : [
"SalahCore"
],
"type" : "library"
},
{
"c99name" : "DarwinSignalHelper",
"module_type" : "SwiftTarget",
"name" : "DarwinSignalHelper",
"path" : "Tests/DarwinSignalHelper",
"product_memberships" : [
"DarwinSignalHelper"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SalahWidgets"
],
"type" : "executable"
}
],
"tools_version" : "6.2"
}
android-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:1259d966e40d034d138a282ea8b980b108763342a7ff8ac7ef483c73e99068f3
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.3-latest
Done.