Build Information
Successful build of YouTubeKit, reference main (6532af), with Swift 6.4 for macOS (SPM) on 25 Sep 2026 20:20:02 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/b5i/YouTubeKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/b5i/YouTubeKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 6532af3 feat: add support for storyboards and more
Cloned https://github.com/b5i/YouTubeKit.git
Revision (git rev-parse @):
6532af39da4c1612b0a1af603792419d8fb0e67f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/b5i/YouTubeKit.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/b5i/YouTubeKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[31 / 41] YouTubeKit_YouTubeKit
[32 / 41]
[33 / 42] YouTubeKit
[43 / 90]
[48 / 90]
[52 / 90]
[53 / 90]
[57 / 90]
[59 / 90]
[62 / 90]
[65 / 90]
[68 / 90]
[69 / 90]
[81 / 90] YouTubeKit
[82 / 90] YouTubeKit
Build complete! (8.80 sec)
/Users/admin/builder/spi-builder-workspace/Sources/YouTubeKit/YouTubeModel.swift:1794:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m1792 |[0;0m }
[0;36m1793 |[0;0m #else
[0;36m1794 |[0;0m extension String: LocalizedError {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m1795 |[0;0m public var errorDescription: String? { self }
[0;36m1796 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/YouTubeKit/YouTubeModel.swift:1794:1: [1;33mwarning: [1;39mextension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m1792 |[0;0m }
[0;36m1793 |[0;0m #else
[0;36m1794 |[0;0m extension String: LocalizedError {
[0;36m|[0;0m |- [1;33mwarning: [1;39mextension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd '@retroactive' to silence this warning[0;0m
[0;36m1795 |[0;0m public var errorDescription: String? { self }
[0;36m1796 |[0;0m }
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "YouTubeKit",
"name" : "YouTubeKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "YouTubeKit",
"targets" : [
"YouTubeKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "YouTubeKitTests",
"module_type" : "SwiftTarget",
"name" : "YouTubeKitTests",
"path" : "Tests/YouTubeKitTests",
"sources" : [
"YouTubeKitTests.swift"
],
"target_dependencies" : [
"YouTubeKit"
],
"type" : "test"
},
{
"c99name" : "YouTubeKit",
"module_type" : "SwiftTarget",
"name" : "YouTubeKit",
"path" : "Sources/YouTubeKit",
"product_memberships" : [
"YouTubeKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/YouTubeKit/JavaScript",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"BaseEnums/YTLikeStatus.swift",
"BaseEnums/YTPrivacy.swift",
"BaseProtocols/Channel/YouTubeChannel+fetchInfos.swift",
"BaseProtocols/Channel/YouTubeChannel+subscribeActions.swift",
"BaseProtocols/Channel/YouTubeChannel.swift",
"BaseProtocols/Continuation/AuthenticatedContinuableResponse+fetchContinuation.swift",
"BaseProtocols/Continuation/AuthenticatedContinuableResponse.swift",
"BaseProtocols/Continuation/ContinuableResponse+fetchContinuation.swift",
"BaseProtocols/Continuation/ContinuableResponse+mergeContinuation.swift",
"BaseProtocols/Continuation/ContinuableResponse.swift",
"BaseProtocols/Continuation/ResponseContinuation.swift",
"BaseProtocols/Video/YouTubeVideo+fetchAllPossibleHostPlaylists.swift",
"BaseProtocols/Video/YouTubeVideo+fetchMoreInfos.swift",
"BaseProtocols/Video/YouTubeVideo+fetchStreamingInfos.swift",
"BaseProtocols/Video/YouTubeVideo+fetchStreamingInfosWithDownloadFormats.swift",
"BaseProtocols/Video/YouTubeVideo+getCaptions.swift",
"BaseProtocols/Video/YouTubeVideo+likeActions.swift",
"BaseProtocols/Video/YouTubeVideo.swift",
"BaseStructs/YTCaption.swift",
"BaseStructs/YTChannel.swift",
"BaseStructs/YTComment+actions.swift",
"BaseStructs/YTComment.swift",
"BaseStructs/YTLittleChannelInfos.swift",
"BaseStructs/YTPlaylist+canShowBeDecoded.swift",
"BaseStructs/YTPlaylist+decodeShowFromJSON.swift",
"BaseStructs/YTPlaylist+fetchVideos.swift",
"BaseStructs/YTPlaylist.swift",
"BaseStructs/YTStoryboard.swift",
"BaseStructs/YTThumbnail.swift",
"BaseStructs/YTVideo+decodeShortFromJSON.swift",
"BaseStructs/YTVideo+decodeVideoFromPlaylist.swift",
"BaseStructs/YTVideo+timeStringToSeconds.swift",
"BaseStructs/YTVideo.swift",
"ErrorHandling/ErrorTypes/BadRequestDataError.swift",
"ErrorHandling/ErrorTypes/NetworkError.swift",
"ErrorHandling/ErrorTypes/ResponseExtractionError.swift",
"ErrorHandling/ParameterValidator+commonValidators.swift",
"ErrorHandling/ParameterValidator.swift",
"HeaderTypes+Hashable.swift",
"HeaderTypes+RawRepresentable.swift",
"HeaderTypes.swift",
"HeadersList.swift",
"Logging/RequestLog.swift",
"Logging/RequestLogger+defaultImplementations.swift",
"Logging/RequestsLogger.swift",
"SwiftyJSON/SwiftyJSON.swift",
"URL+AppendQueryItems.swift",
"Utils/Array+inoutMap.swift",
"Utils/String+ytkRegexMatches.swift",
"YouTubeModel.swift",
"YouTubeResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountInfosResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountLibraryResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountPlaylistsResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountSubscriptionsFeedResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountSubscriptionsResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/AuthenticatedResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/ChannelsActions/SubscribeChannelResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/ChannelsActions/UnsubscribeChannelResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/CreateCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/DeleteCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/DislikeCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/EditCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/EditReplyCommandResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/LikeCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/RemoveDislikeCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/RemoveLikeCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/ReplyCommentResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryBlockContent.swift",
"YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryReponse+removeVideo.swift",
"YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/RemoveVideoFromHistroryResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/AddVideoToPlaylistResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/AllPossibleHostPlaylistsResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/CreatePlaylistResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/DeletePlaylistResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/MoveVideoInPlaylistResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/RemoveVideoByIdFromPlaylistResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/RemoveVideoFromPlaylistResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/SimpleOperationAuthenticatedResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/VideosActions/DislikeVideoResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/VideosActions/LikeVideoResponse.swift",
"YouTubeResponseTypes/AuthenticatedResponses/VideosActions/RemoveLikeFromVideoResponse.swift",
"YouTubeResponseTypes/AutoCompletion/AutoCompletionResponse.swift",
"YouTubeResponseTypes/ChannelInfos/ChannelContent+canDecode.swift",
"YouTubeResponseTypes/ChannelInfos/ChannelContent+decodeJSONFromTab.swift",
"YouTubeResponseTypes/ChannelInfos/ChannelContent+getContinuationFromTab.swift",
"YouTubeResponseTypes/ChannelInfos/ChannelContent.swift",
"YouTubeResponseTypes/ChannelInfos/ChannelInfosResponse.swift",
"YouTubeResponseTypes/ChannelInfos/ListableChannelContent+addChannelInfos.swift",
"YouTubeResponseTypes/ChannelInfos/ListableChannelContent.swift",
"YouTubeResponseTypes/Home/HomeScreenResponse.swift",
"YouTubeResponseTypes/PlaylistInfos/PlaylistInfosResponse.swift",
"YouTubeResponseTypes/Search/SearchResponse.swift",
"YouTubeResponseTypes/Search/YTSearchResult+canBeDecoded.swift",
"YouTubeResponseTypes/Search/YTSearchResult+decodeJSON.swift",
"YouTubeResponseTypes/Search/YTSearchResult+filterTypes.swift",
"YouTubeResponseTypes/Search/YTSearchResult.swift",
"YouTubeResponseTypes/Search/YTSearchResultType.swift",
"YouTubeResponseTypes/Trending/TrendingVideosResponse.swift",
"YouTubeResponseTypes/VideoInfos/AudioOnlyFormat.swift",
"YouTubeResponseTypes/VideoInfos/CommentTranslationResponse.swift",
"YouTubeResponseTypes/VideoInfos/DownloadFormat.swift",
"YouTubeResponseTypes/VideoInfos/EndScreen.swift",
"YouTubeResponseTypes/VideoInfos/EndScreenElement.swift",
"YouTubeResponseTypes/VideoInfos/MediaType.swift",
"YouTubeResponseTypes/VideoInfos/MoreVideoInfosResponse.swift",
"YouTubeResponseTypes/VideoInfos/PlayerProcessing.swift",
"YouTubeResponseTypes/VideoInfos/VideoCaptionsResponse.swift",
"YouTubeResponseTypes/VideoInfos/VideoCommentsResponse.swift",
"YouTubeResponseTypes/VideoInfos/VideoDownloadFormat.swift",
"YouTubeResponseTypes/VideoInfos/VideoInfosResponse.swift",
"YouTubeResponseTypes/VideoInfos/VideoInfosWithDownloadFormatsResponse.swift",
"[URLQueryItem]+makeUnique.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.