Build Information
Successful build of Units, reference v1.2.1 (28b315), with Swift 6.2 for Android on 16 Jul 2026 10:53:31 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344844-2":/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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 333316120c8b89ed7d21f1b34865290794301d91
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NeedleInAJayStack/Units.git
Reference: v1.2.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/NeedleInAJayStack/Units
* tag v1.2.1 -> FETCH_HEAD
HEAD is now at 28b3150 Merge pull request #26 from NeedleInAJayStack/ci/fix-macos-publish
Cloned https://github.com/NeedleInAJayStack/Units.git
Revision (git rev-parse @):
28b3150f23ee84763f894c714eff87808e82e94d
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/NeedleInAJayStack/Units.git at v1.2.1
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/NeedleInAJayStack/Units.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-2":/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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:3f0849bce0d177c252f57ff0847fffe59d625aee973279c71a52a43c740d3c90
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Fetching https://github.com/apple/swift-argument-parser
[1/18024] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.66s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.86s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/13] Write sources
[6/13] Write swift-version--11D90AFD9DD3AB2.txt
[8/30] Compiling Units Quantity.swift
[9/30] Compiling Units Registry.swift
[10/31] Compiling Units UnitError.swift
[11/31] Compiling ArgumentParserToolInfo ToolInfo.swift
[12/31] Emitting module ArgumentParserToolInfo
[14/32] Compiling Units DefinedUnit.swift
[15/32] Compiling Units Equations.swift
[15/32] Wrapping AST for ArgumentParserToolInfo for debugging
[17/79] Emitting module ArgumentParser
[18/85] Compiling ArgumentParser ArgumentVisibility.swift
[19/85] Compiling ArgumentParser CompletionKind.swift
[20/85] Compiling ArgumentParser Errors.swift
[21/85] Compiling ArgumentParser Flag.swift
[22/85] Compiling ArgumentParser NameSpecification.swift
[23/85] Compiling ArgumentParser Option.swift
[24/85] Compiling ArgumentParser OptionGroup.swift
[25/85] Compiling ArgumentParser Mutex.swift
[26/85] Compiling ArgumentParser Platform.swift
[27/85] Compiling ArgumentParser SequenceExtensions.swift
[28/85] Compiling ArgumentParser StringExtensions.swift
[29/85] Compiling ArgumentParser SwiftExtensions.swift
[30/85] Compiling ArgumentParser Tree.swift
[31/85] Compiling ArgumentParser AsyncCompletionsValidator.swift
[32/85] Compiling ArgumentParser CodingKeyValidator.swift
[33/85] Compiling ArgumentParser NonsenseFlagsValidator.swift
[34/85] Compiling ArgumentParser ParsableArgumentsValidation.swift
[35/85] Compiling ArgumentParser PositionalArgumentsValidator.swift
[36/85] Compiling ArgumentParser UniqueNamesValidator.swift
[37/85] Compiling ArgumentParser BashCompletionsGenerator.swift
[38/85] Compiling ArgumentParser CompletionsGenerator.swift
[39/85] Compiling ArgumentParser FishCompletionsGenerator.swift
[40/85] Compiling ArgumentParser ZshCompletionsGenerator.swift
[41/85] Compiling ArgumentParser Argument.swift
[42/85] Compiling ArgumentParser ArgumentDiscussion.swift
[43/85] Compiling ArgumentParser ArgumentHelp.swift
[44/85] Compiling ArgumentParser HelpCommand.swift
[45/85] Compiling ArgumentParser HelpGenerator.swift
[46/85] Compiling ArgumentParser MessageInfo.swift
[47/85] Compiling ArgumentParser UsageGenerator.swift
[48/85] Compiling ArgumentParser CollectionExtensions.swift
[49/85] Compiling ArgumentParser Foundation.swift
[50/85] Compiling ArgumentParser Name.swift
[51/85] Compiling ArgumentParser Parsed.swift
[52/85] Compiling ArgumentParser ParsedValues.swift
[53/85] Compiling ArgumentParser ParserError.swift
[54/85] Compiling ArgumentParser SplitArguments.swift
[55/85] Compiling ArgumentParser DumpHelpGenerator.swift
[64/85] Emitting module Units
[67/86] Wrapping AST for Units for debugging
[69/86] Compiling ArgumentParser ParentCommand.swift
[70/86] Compiling ArgumentParser AsyncParsableCommand.swift
[71/86] Compiling ArgumentParser CommandConfiguration.swift
[72/86] Compiling ArgumentParser CommandGroup.swift
[73/86] Compiling ArgumentParser EnumerableFlag.swift
[74/86] Compiling ArgumentParser ExpressibleByArgument.swift
[75/86] Compiling ArgumentParser ParsableArguments.swift
[76/86] Compiling ArgumentParser ParsableCommand.swift
[77/86] Compiling ArgumentParser ArgumentDecoder.swift
[78/86] Compiling ArgumentParser ArgumentDefinition.swift
[79/86] Compiling ArgumentParser ArgumentSet.swift
[80/86] Compiling ArgumentParser CommandParser.swift
[81/86] Compiling ArgumentParser InputKey.swift
[82/86] Compiling ArgumentParser InputOrigin.swift
[83/87] Wrapping AST for ArgumentParser for debugging
[85/92] Compiling CLI main.swift
[86/92] Compiling CLI Unit.swift
[87/92] Compiling CLI Convert.swift
/host/spi-builder-workspace/Sources/CLI/Convert.swift:45:1: warning: extension declares a conformance of imported type 'Expression' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
43 | let registry = Units.Registry.default
44 |
45 | extension Units.Expression: ArgumentParser.ExpressibleByArgument {
| |- warning: extension declares a conformance of imported type 'Expression' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
46 | public convenience init?(argument: String) {
47 | let argument = argument.replacingOccurrences(of: "_", with: " ")
/host/spi-builder-workspace/Sources/CLI/Convert.swift:52:1: warning: extension declares a conformance of imported type 'Unit' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
50 | }
51 |
52 | extension Units.Unit: ArgumentParser.ExpressibleByArgument {
| |- warning: extension declares a conformance of imported type 'Unit' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
53 | public init?(argument: String) {
54 | if let unit = try? Self(fromName: argument, registry: registry) {
[88/92] Compiling CLI List.swift
[89/92] Emitting module CLI
/host/spi-builder-workspace/Sources/CLI/Convert.swift:45:1: warning: extension declares a conformance of imported type 'Expression' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
43 | let registry = Units.Registry.default
44 |
45 | extension Units.Expression: ArgumentParser.ExpressibleByArgument {
| |- warning: extension declares a conformance of imported type 'Expression' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
46 | public convenience init?(argument: String) {
47 | let argument = argument.replacingOccurrences(of: "_", with: " ")
/host/spi-builder-workspace/Sources/CLI/Convert.swift:52:1: warning: extension declares a conformance of imported type 'Unit' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
50 | }
51 |
52 | extension Units.Unit: ArgumentParser.ExpressibleByArgument {
| |- warning: extension declares a conformance of imported type 'Unit' to imported protocol '_SendableMetatype'; this will not behave correctly if the owners of 'Units' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
53 | public init?(argument: String) {
54 | if let unit = try? Self(fromName: argument, registry: registry) {
[90/93] Wrapping AST for CLI for debugging
[91/93] Write Objects.LinkFileList
[92/93] Linking unit
Build complete! (11.45s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
}
],
"manifest_display_name" : "Units",
"name" : "Units",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Units",
"targets" : [
"Units"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "unit",
"targets" : [
"CLI"
],
"type" : {
"executable" : null
}
}
],
"swift_languages_versions" : [
"5",
"6"
],
"targets" : [
{
"c99name" : "UnitsTests",
"module_type" : "SwiftTarget",
"name" : "UnitsTests",
"path" : "Tests/UnitsTests",
"sources" : [
"DefinitionTests.swift",
"ExpressionTests.swift",
"MeasurementTests.swift",
"ParserTests.swift",
"PercentTests.swift",
"QuantityTests.swift",
"UnitTests.swift",
"XCTest+Measurement.swift"
],
"target_dependencies" : [
"Units"
],
"type" : "test"
},
{
"c99name" : "Units",
"module_type" : "SwiftTarget",
"name" : "Units",
"path" : "Sources/Units",
"product_memberships" : [
"Units",
"unit"
],
"sources" : [
"Expression.swift",
"Measurement/Double+Measurement.swift",
"Measurement/Int+Measurement.swift",
"Measurement/Measurement.swift",
"Measurement/Percent+Measurement.swift",
"Parser.swift",
"Quantity.swift",
"Registry.swift",
"RegistryBuilder.swift",
"Unit/DefaultUnits.swift",
"Unit/DefinedUnit.swift",
"Unit/Equations.swift",
"Unit/Unit+DefaultUnits.swift",
"Unit/Unit.swift",
"UnitError.swift"
],
"type" : "library"
},
{
"c99name" : "PerformanceTests",
"module_type" : "SwiftTarget",
"name" : "PerformanceTests",
"path" : "Tests/PerformanceTests",
"sources" : [
"PerformanceTests.swift"
],
"target_dependencies" : [
"Units"
],
"type" : "test"
},
{
"c99name" : "CLI",
"module_type" : "SwiftTarget",
"name" : "CLI",
"path" : "Sources/CLI",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"unit"
],
"sources" : [
"Convert.swift",
"List.swift",
"Unit.swift",
"main.swift"
],
"target_dependencies" : [
"Units"
],
"type" : "executable"
}
],
"tools_version" : "5.4"
}
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:3f0849bce0d177c252f57ff0847fffe59d625aee973279c71a52a43c740d3c90
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Done.