Build Information
Successful build of FitDataProtocol, reference 2.1.6 (b93ef5), with Swift 6.4 for Linux on 19 Sep 2026 06:04:05 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886769-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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/FitnessKit/FitDataProtocol.git
Reference: 2.1.6
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/FitnessKit/FitDataProtocol
* tag 2.1.6 -> FETCH_HEAD
HEAD is now at b93ef5e update def message
Cloned https://github.com/FitnessKit/FitDataProtocol.git
Revision (git rev-parse @):
b93ef5ea736d32ec0ab16d4eea5b09972887cd8e
SUCCESS checkout https://github.com/FitnessKit/FitDataProtocol.git at 2.1.6
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/FitnessKit/FitDataProtocol.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/FitnessKit/FitnessUnits
Fetching https://github.com/FitnessKit/DataDecoder
Fetching https://github.com/FitnessKit/AntMessageProtocol
[1/454] Fetching datadecoder
[160/1273] Fetching datadecoder, antmessageprotocol
Fetched https://github.com/FitnessKit/DataDecoder (0.49s)
Fetched https://github.com/FitnessKit/AntMessageProtocol (0.49s)
[1/839] Fetching fitnessunits
Fetched https://github.com/FitnessKit/FitnessUnits (1.29s)
Computing version for https://github.com/FitnessKit/AntMessageProtocol
Computed https://github.com/FitnessKit/AntMessageProtocol at 1.1.1 (1.48s)
Computing version for https://github.com/FitnessKit/DataDecoder
Computed https://github.com/FitnessKit/DataDecoder at 5.0.0 (0.18s)
Computing version for https://github.com/FitnessKit/FitnessUnits
Computed https://github.com/FitnessKit/FitnessUnits at 3.1.0 (0.17s)
Creating working copy for https://github.com/FitnessKit/AntMessageProtocol
Working copy of https://github.com/FitnessKit/AntMessageProtocol resolved at 1.1.1
Creating working copy for https://github.com/FitnessKit/DataDecoder
Working copy of https://github.com/FitnessKit/DataDecoder resolved at 5.0.0
Creating working copy for https://github.com/FitnessKit/FitnessUnits
Working copy of https://github.com/FitnessKit/FitnessUnits resolved at 3.1.0
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[44 / 73] FitnessUnits
[47 / 82] FitnessUnits
[58 / 82] DataDecoder
[64 / 83] DataDecoder
[70 / 93] FitnessUnits
[74 / 93] AntMessageProtocol
[76 / 93] AntMessageProtocol
[82 / 94] AntMessageProtocol
[89 / 103] FitDataProtocol
[90 / 104] FitDataProtocol
/host/spi-builder-workspace/Sources/FitDataProtocol/Types/Units/UnitFitGrit.swift:31:12: [1;33mwarning: [1;39mclass 'UnitFitGrit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m29 |[0;0m @available(swift 3.1)
[0;36m30 |[0;0m @available(iOS 10.0, tvOS 10.0, watchOS 3.0, OSX 10.12, *)
[0;36m31 |[0;0m open class UnitFitGrit: Unit {
[0;36m|[0;0m `- [1;33mwarning: [1;39mclass 'UnitFitGrit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m32 |[0;0m
[0;36m33 |[0;0m private struct Symbol {
[91 / 105] FitnessUnits
/host/spi-builder-workspace/Sources/FitDataProtocol/Types/Units/RatingUnit.swift:30:12: [1;33mwarning: [1;39mclass 'RatingUnit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m28 |[0;0m @available(swift 3.1)
[0;36m29 |[0;0m @available(iOS 10.0, tvOS 10.0, watchOS 3.0, OSX 10.12, *)
[0;36m30 |[0;0m open class RatingUnit: Unit {
[0;36m|[0;0m `- [1;33mwarning: [1;39mclass 'RatingUnit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m31 |[0;0m
[0;36m32 |[0;0m private struct Symbol {
/host/spi-builder-workspace/Sources/FitDataProtocol/Types/Units/UnitFitFlow.swift:31:12: [1;33mwarning: [1;39mclass 'UnitFitFlow' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m29 |[0;0m @available(swift 3.1)
[0;36m30 |[0;0m @available(iOS 10.0, tvOS 10.0, watchOS 3.0, OSX 10.12, *)
[0;36m31 |[0;0m open class UnitFitFlow: Unit {
[0;36m|[0;0m `- [1;33mwarning: [1;39mclass 'UnitFitFlow' must restate inherited '@unchecked [92 / 105] FitDataProtocol
Sendable' conformance[0;0m
[0;36m32 |[0;0m
[0;36m33 |[0;0m private struct Symbol {
[97 / 105] AntMessageProtocol
[97 / 105] FitDataProtocol
/host/spi-builder-workspace/Sources/FitDataProtocol/Types/Units/RatingUnit.swift:30:12: [1;33mwarning: [1;39mclass 'RatingUnit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m28 |[0;0m @available(swift 3.1)
[0;36m29 |[0;0m @available(iOS 10.0, tvOS 10.0, watchOS 3.0, OSX 10.12, *)
[0;36m30 |[0;0m open class RatingUnit: Unit {
[0;36m|[0;0m `- [1;33mwarning: [1;39mclass 'RatingUnit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m31 |[0;0m
[0;36m32 |[0;0m private struct Symbol {
/host/spi-builder-workspace/Sources/FitDataProtocol/Types/Units/UnitFitFlow.swift:31:12: [1;33mwarning: [1;39mclass 'UnitFitFlow' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m29 |[0;0m @available(swift 3.1)
[0;36m30 |[0;0m @available(iOS 10.0, tvOS 10.0, watchOS 3.0, OSX 10.12, *)
[0;36m31 |[0;0m open class UnitFitFlow: Unit {
[0;36m|[0;0m `- [1;33mwarning: [1;39mclass 'UnitFitFlow' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m32 |[0;0m
[0;36m33 |[0;0m private struct Symbol {
/host/spi-builder-workspace/Sources/FitDataProtocol/Types/Units/UnitFitGrit.swift:31:12: [1;33mwarning: [1;39mclass 'UnitFitGrit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m29 |[0;0m @available(swift 3.1)
[0;36m30 |[0;0m @available(iOS 10.0, tvOS 10.0, watchOS 3.0, OSX 10.12, *)
[0;36m31 |[0;0m open class UnitFitGrit: Unit {
[0;36m|[0;0m `- [1;33mwarning: [1;39mclass 'UnitFitGrit' must restate inherited '@unchecked Sendable' conformance[0;0m
[0;36m32 |[0;0m
[0;36m33 |[0;0m private struct Symbol {
[102 / 105] FitDataProtocol
[105 / 106] FitDataProtocol
Build complete! (15.21 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "fitnessunits",
"requirement" : {
"range" : [
{
"lower_bound" : "3.1.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/FitnessKit/FitnessUnits"
},
{
"identity" : "datadecoder",
"requirement" : {
"range" : [
{
"lower_bound" : "5.0.0",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/FitnessKit/DataDecoder"
},
{
"identity" : "antmessageprotocol",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/FitnessKit/AntMessageProtocol"
}
],
"manifest_display_name" : "FitDataProtocol",
"name" : "FitDataProtocol",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "10.0"
},
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "tvos",
"version" : "10.0"
},
{
"name" : "watchos",
"version" : "3.0"
}
],
"products" : [
{
"name" : "FitDataProtocol",
"targets" : [
"FitDataProtocol"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FitDataProtocolTests",
"module_type" : "SwiftTarget",
"name" : "FitDataProtocolTests",
"path" : "Tests/FitDataProtocolTests",
"sources" : [
"ExerciseNameTests.swift",
"FitDataProtocolTests.swift",
"FitMessageTests.swift",
"ResolutionTest.swift",
"StringExtensionsTests.swift"
],
"target_dependencies" : [
"FitDataProtocol"
],
"type" : "test"
},
{
"c99name" : "FitDataProtocol",
"module_type" : "SwiftTarget",
"name" : "FitDataProtocol",
"path" : "Sources/FitDataProtocol",
"product_dependencies" : [
"FitnessUnits",
"DataDecoder",
"AntMessageProtocol"
],
"product_memberships" : [
"FitDataProtocol"
],
"sources" : [
"Decoder/FitFileDecoder.swift",
"Encoding/EncoderValidator.swift",
"Encoding/FitFileEncoder.swift",
"Encoding/Validators/GarminConnectFileEncoderValidator.swift",
"Encoding/Validators/GoalsFileEncoderValidator.swift",
"Encoding/Validators/WoroutFileEncoderValidator.swift",
"Extensions/AntMessageProtocolExtension.swift",
"Extensions/DataExtension.swift",
"Extensions/DateExtension.swift",
"Extensions/Resolutionable.swift",
"Extensions/StringExtension.swift",
"Extensions/UInt8Extension.swift",
"Internal/DefinitionMessage.swift",
"Internal/DeveloperFieldDefinition.swift",
"Internal/FieldDefinition.swift",
"Internal/FileHeader.swift",
"Internal/RecordHeader.swift",
"Merge/FitFileMerger.swift",
"Messages/ActivityMessage.swift",
"Messages/AntChannelIdMessage.swift",
"Messages/BikeProfileMessage.swift",
"Messages/BloodPressureMessage.swift",
"Messages/CadenceZoneMessage.swift",
"Messages/CapabilitiesMessage.swift",
"Messages/ConnectivityMessage.swift",
"Messages/CourseMessage.swift",
"Messages/CoursePointMessage.swift",
"Messages/DeveloperDataIdMessage.swift",
"Messages/DeviceInfoMessage.swift",
"Messages/DeviceSettingsMessage.swift",
"Messages/EventMessage.swift",
"Messages/ExerciseTitleMessage.swift",
"Messages/FieldDescriptionMessage.swift",
"Messages/FileCapabilitiesMessage.swift",
"Messages/FileCreatorMessage.swift",
"Messages/FileIdMessage.swift",
"Messages/FitMessage.swift",
"Messages/GoalMessage.swift",
"Messages/HeartRateZoneMessage.swift",
"Messages/HeartrateProfileMessage.swift",
"Messages/HrvMessage.swift",
"Messages/JumpMessage.swift",
"Messages/LapMessage.swift",
"Messages/MetZoneMessage.swift",
"Messages/PowerZoneMessage.swift",
"Messages/RecordMessage.swift",
"Messages/ScheduleMessage.swift",
"Messages/SegmentLeaderboardEntryMessage.swift",
"Messages/SegmentPointMessage.swift",
"Messages/SessionMessage.swift",
"Messages/SetMessage.swift",
"Messages/SlaveDeviceMessage.swift",
"Messages/SoftwareMessage.swift",
"Messages/SpeedZoneMessage.swift",
"Messages/SportMessage.swift",
"Messages/StressLevelMessage.swift",
"Messages/StrideSpeedDistanceMonitorProfileMessage.swift",
"Messages/TotalsMessage.swift",
"Messages/UserProfileMessage.swift",
"Messages/VideoMessage.swift",
"Messages/WatchfaceSettingsMessage.swift",
"Messages/WeatherAlertMessage.swift",
"Messages/WeatherConditionsMessage.swift",
"Messages/WeightScaleMessage.swift",
"Messages/WorkoutMessage.swift",
"Messages/WorkoutSessionMessage.swift",
"Messages/WorkoutStepMessage.swift",
"Messages/ZonesTargetMessage.swift",
"Types/Activity.swift",
"Types/AutoActivityDetect.swift",
"Types/AutoSyncFrequency.swift",
"Types/BacklightMode.swift",
"Types/Base Type/BaseType.swift",
"Types/Base Type/BaseTypeDecode.swift",
"Types/BaseUnit.swift",
"Types/BloodPressureType.swift",
"Types/BodyLocation.swift",
"Types/ConnectivityCapabilities.swift",
"Types/CoursePointType.swift",
"Types/DateMode.swift",
"Types/DeviceIndex.swift",
"Types/DisplayOrientation.swift",
"Types/DisplayTypes.swift",
"Types/Error.swift",
"Types/Event.swift",
"Types/EventType.swift",
"Types/Exercise/Exercise Name/BenchPressExerciseName.swift",
"Types/Exercise/Exercise Name/CalfRaiseExerciseName.swift",
"Types/Exercise/Exercise Name/CardioExerciseName.swift",
"Types/Exercise/Exercise Name/CarryExerciseName.swift",
"Types/Exercise/Exercise Name/ChopExerciseName.swift",
"Types/Exercise/Exercise Name/CoreExerciseName.swift",
"Types/Exercise/Exercise Name/CrunchExerciseName.swift",
"Types/Exercise/Exercise Name/CurlExerciseName.swift",
"Types/Exercise/Exercise Name/DeadliftExerciseName.swift",
"Types/Exercise/Exercise Name/FlyeExerciseName.swift",
"Types/Exercise/Exercise Name/HipRaiseExerciseName.swift",
"Types/Exercise/Exercise Name/HipStabilityExerciseName.swift",
"Types/Exercise/Exercise Name/HipSwingExerciseName.swift",
"Types/Exercise/Exercise Name/HyperextensionExerciseName.swift",
"Types/Exercise/Exercise Name/LateralRaiseExerciseName.swift",
"Types/Exercise/Exercise Name/LegCurlExerciseName.swift",
"Types/Exercise/Exercise Name/LegRaiseExerciseName.swift",
"Types/Exercise/Exercise Name/LungeExerciseName.swift",
"Types/Exercise/Exercise Name/OlympicLiftExerciseName.swift",
"Types/Exercise/Exercise Name/PlankExerciseName.swift",
"Types/Exercise/Exercise Name/PlyoExerciseName.swift",
"Types/Exercise/Exercise Name/PullUpExerciseName.swift",
"Types/Exercise/Exercise Name/PushUpExerciseName.swift",
"Types/Exercise/Exercise Name/RowExerciseName.swift",
"Types/Exercise/Exercise Name/RunExerciseName.swift",
"Types/Exercise/Exercise Name/ShoulderPressExerciseName.swift",
"Types/Exercise/Exercise Name/ShoulderStabilityExerciseName.swift",
"Types/Exercise/Exercise Name/ShrugExerciseName.swift",
"Types/Exercise/Exercise Name/SitUpExerciseName.swift",
"Types/Exercise/Exercise Name/SquatExerciseName.swift",
"Types/Exercise/Exercise Name/TotalBodyExerciseName.swift",
"Types/Exercise/Exercise Name/TricepExtensionExerciseName.swift",
"Types/Exercise/Exercise Name/WarmUpExerciseName.swift",
"Types/Exercise/ExerciseCategory.swift",
"Types/Exercise/ExerciseName.swift",
"Types/FieldData.swift",
"Types/FileType.swift",
"Types/FitFileFlag.swift",
"Types/FitTime.swift",
"Types/GarminProduct.swift",
"Types/GoalType.swift",
"Types/HeartrateType.swift",
"Types/HemoglobinPercent.swift",
"Types/Intensity.swift",
"Types/Language.swift",
"Types/LanguageCapabilities.swift",
"Types/LapTrigger.swift",
"Types/LeaderboardType.swift",
"Types/LeftRightBalance.swift",
"Types/MessageIndex.swift",
"Types/PositionDisplayType.swift",
"Types/PowerType.swift",
"Types/ScheduleType.swift",
"Types/SessionTriggerType.swift",
"Types/SetType.swift",
"Types/Side.swift",
"Types/SourceType.swift",
"Types/SportCapabilities.swift",
"Types/StrokeType.swift",
"Types/SwimStrokeType.swift",
"Types/Switch.swift",
"Types/TimeMode.swift",
"Types/Units/RatingUnit.swift",
"Types/Units/UnitCount+FIT.swift",
"Types/Units/UnitFitFlow.swift",
"Types/Units/UnitFitGrit.swift",
"Types/Values/PedalSmoothness.swift",
"Types/Values/Position.swift",
"Types/Values/ScoreType.swift",
"Types/Values/StanceTime.swift",
"Types/Values/TorqueEffectiveness.swift",
"Types/WatchFace.swift",
"Types/WeatherReportType.swift",
"Types/WeatherSeverity.swift",
"Types/WeatherStatusType.swift",
"Types/Weight.swift",
"Types/Workout/WorkoutCapabilities.swift",
"Types/Workout/WorkoutEquipment.swift",
"Types/Workout/WorkoutStepDurationType.swift",
"Types/Workout/WorkoutStepTargetType.swift",
"Utilities/Conversions.swift",
"Utilities/FitCrc.swift",
"Utilities/Wrappers/FitFieldDimension.swift",
"Utilities/Wrappers/FitFieldTime.swift",
"Utilities/Wrappers/FitFieldUnit.swift",
"Utilities/Wrappers/FitFieldWrapper.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.