The Swift Package Index logo.Swift Package Index

Build Information

Successful build of PodcastIndexKit, reference main (e74444), with Swift 6.4 for macOS (SPM) on 16 Oct 2026 00:34:39 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/SparrowTek/PodcastIndexKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/SparrowTek/PodcastIndexKit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e744442 Make the transport injectable, add a raw service, remove fatal errors; build on Linux
Cloned https://github.com/SparrowTek/PodcastIndexKit.git
Revision (git rev-parse @):
e744442bbf4999f7e89f90b842b67f1a9d50e03a
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/SparrowTek/PodcastIndexKit.git at main
Fetching https://github.com/apple/swift-asn1.git
Fetching https://github.com/apple/swift-crypto.git
[1/2051] Fetching swift-asn1
[84/20693] Fetching swift-asn1, swift-crypto
Fetched https://github.com/apple/swift-crypto.git (5.62s)
Fetched https://github.com/apple/swift-asn1.git (5.62s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (15.89s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.67s)
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "podcastindexkit",
      "name": "PodcastIndexKit",
      "url": "https://github.com/SparrowTek/PodcastIndexKit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PodcastIndexKit",
      "traits": [
        "default"
      ],
      "dependencies": [
        {
          "identity": "swift-crypto",
          "name": "swift-crypto",
          "url": "https://github.com/apple/swift-crypto.git",
          "version": "4.5.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-crypto",
          "traits": [
            "default"
          ],
          "dependencies": [
            {
              "identity": "swift-asn1",
              "name": "swift-asn1",
              "url": "https://github.com/apple/swift-asn1.git",
              "version": "1.7.3",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-asn1",
              "traits": [
                "default"
              ],
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/SparrowTek/PodcastIndexKit.git
[1/1512] Fetching podcastindexkit
Fetched https://github.com/SparrowTek/PodcastIndexKit.git (3.92s)
Fetching https://github.com/apple/swift-crypto.git from cache
Fetched https://github.com/apple/swift-crypto.git from cache (0.58s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (0.65s)
Fetching https://github.com/apple/swift-asn1.git from cache
Fetched https://github.com/apple/swift-asn1.git from cache (0.48s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.55s)
Creating working copy for https://github.com/SparrowTek/PodcastIndexKit.git
Working copy of https://github.com/SparrowTek/PodcastIndexKit.git resolved at main (e744442)
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
warning: '.resolve-product-dependencies': dependency 'podcastindexkit' is not used by any target
Found 1 product dependencies
  - swift-crypto
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/SparrowTek/PodcastIndexKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[31 / 40] PodcastIndexKit_PodcastIndexKitTests
[31 / 40]
[32 / 41] PodcastIndexKit
[42 / 89]
[44 / 89]
[50 / 89]
[52 / 89]
[56 / 89]
[58 / 89]
[61 / 89]
[65 / 89]
[67 / 89]
[68 / 89]
[80 / 89] PodcastIndexKit
[81 / 89] PodcastIndexKit
Build complete! (8.92 sec)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto.git"
    }
  ],
  "manifest_display_name" : "PodcastIndexKit",
  "name" : "PodcastIndexKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "17.0"
    },
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "17.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "PodcastIndexKit",
      "targets" : [
        "PodcastIndexKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PodcastIndexKitTests",
      "module_type" : "SwiftTarget",
      "name" : "PodcastIndexKitTests",
      "path" : "Tests/PodcastIndexKitTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/PodcastIndexKitTests/Fixtures",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "PodcastIndexKitTests.swift"
      ],
      "target_dependencies" : [
        "PodcastIndexKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PodcastIndexKit",
      "module_type" : "SwiftTarget",
      "name" : "PodcastIndexKit",
      "path" : "Sources/PodcastIndexKit",
      "product_dependencies" : [
        "Crypto"
      ],
      "product_memberships" : [
        "PodcastIndexKit"
      ],
      "sources" : [
        "Models/AppleReplacementPodcast.swift",
        "Models/AppleReplacementSearchResponse.swift",
        "Models/CategoriesResponse.swift",
        "Models/Category.swift",
        "Models/DataResponse.swift",
        "Models/Destination.swift",
        "Models/Episode.swift",
        "Models/EpisodeArrayResponse.swift",
        "Models/EpisodeResponse.swift",
        "Models/Podcast.swift",
        "Models/PodcastArrayResponse.swift",
        "Models/PodcastResponse.swift",
        "Models/PubNotifyResponse.swift",
        "Models/RandomEpisodeResponse.swift",
        "Models/Soundbite.swift",
        "Models/SoundbiteArrayResponse.swift",
        "Models/StatProperty.swift",
        "Models/StatsResponse.swift",
        "Models/Transcript.swift",
        "Models/Value.swift",
        "Models/ValueResponse.swift",
        "Networking.swift",
        "Networking/Encoding/JSONParameterEncoder.swift",
        "Networking/Encoding/ParameterEncoding.swift",
        "Networking/Encoding/URLParameterEncoder.swift",
        "Networking/Extensions/CharacterSet.swift",
        "Networking/Extensions/Encodable.swift",
        "Networking/Service/EndpointType.swift",
        "Networking/Service/HTTPMethod.swift",
        "Networking/Service/HTTPTask.swift",
        "Networking/Service/NetworkRouter.swift",
        "Networking/Service/NetworkingProtocol.swift",
        "Networking/Service/StatusCode.swift",
        "PodcastActor.swift",
        "PodcastCodable.swift",
        "PodcastEnvironment.swift",
        "PodcastIndexKit.swift",
        "Services/AppleReplacementService.swift",
        "Services/CategoriesService.swift",
        "Services/EpisodesService.swift",
        "Services/HubService.swift",
        "Services/PodcastsService.swift",
        "Services/RawService.swift",
        "Services/RecentService.swift",
        "Services/SearchService.swift",
        "Services/ServiceHelper.swift",
        "Services/StatsService.swift",
        "Services/ValueService.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/sparrowtek/podcastindexkit/main
Repository:               SparrowTek/PodcastIndexKit
Swift version used:       6.4
Target:                   PodcastIndexKit
Extracting symbol information for 'PodcastIndexKit'...
Finished extracting symbol information for 'PodcastIndexKit'. (1.71s)
Building documentation for 'PodcastIndexKit'...
warning: Parameter 'pretty' is missing documentation
  --> Sources/PodcastIndexKit/Services/AppleReplacementService.swift:25:38-25:38
23 | 	///- parameter id: The iTunes Feed ID to search for
24 | 	///- parameter entity: The iTunes entity type to look in
25 + 	//- parameter pretty: If present, makes the output “pretty” to help with debugging.
   |                                      ╰─suggestion: Document 'pretty' parameter
26 | 	/// Parameter shall not have a value
27 | 	///- returns: a `AppleReplacementSearchResponse` object which contains an array of `AppleReplacementPodcast` objects
warning: Parameter 'id' not found in instance method declaration
  --> Sources/PodcastIndexKit/Services/PodcastsService.swift:24:9-24:57
22 |     /// This call returns everything we know about the feed from the feed URL
23 |     ///
24 +     /// - parameter id: (Required) PodcastIndex Feed URL
   |         ╰─suggestion: Remove 'id' parameter documentation
25 |     /// - parameter pretty: If present, makes the output “pretty” to help with debugging. Parameter shall not have a value
26 |     /// - returns: a `Podcast` object containing information about the feed.
warning: Parameter 'url' is missing documentation
  --> Sources/PodcastIndexKit/Services/PodcastsService.swift:25:127-25:127
23 |     ///
24 |     /// - parameter id: (Required) PodcastIndex Feed URL
25 +     /// - parameter pretty: If present, makes the output “pretty” to help with debugging. Parameter shall not have a value
   |         ╰─suggestion: Document 'url' parameter
26 |     /// - returns: a `Podcast` object containing information about the feed.
27 |     public func podcast(byFeedUrl url: String, pretty: Bool = false) async throws -> PodcastResponse {
warning: Parameter 'podcast-value' not found in instance method declaration
  --> Sources/PodcastIndexKit/Services/PodcastsService.swift:62:9-63:41
60 |     /// Repeat this sequence until no items are returned.
61 |     ///
62 +     ///- parameter podcast-value: (Required) Get feeds supporting the value tag.
   |         ╰─suggestion: Remove 'podcast-value' parameter documentation
63 +     ///Parameter shall not have a value
64 |     ///- parameter max: Maximum number of results to return.
65 |     ///- parameter start_at: Feed ID to start at for request
warning: Parameter 'start_at' not found in instance method declaration
  --> Sources/PodcastIndexKit/Services/PodcastsService.swift:65:21-65:29
63 |     ///Parameter shall not have a value
64 |     ///- parameter max: Maximum number of results to return.
65 +     ///- parameter start_at: Feed ID to start at for request
   |                     ╰─suggestion: Replace 'start_at' with 'startAt'
66 |     ///- parameter pretty: If present, makes the output “pretty” to help with debugging.
67 |     ///Parameter shall not have a value
warning: Parameter 'startAt' is missing documentation
  --> Sources/PodcastIndexKit/Services/PodcastsService.swift:67:41-67:41
65 |     ///- parameter start_at: Feed ID to start at for request
66 |     ///- parameter pretty: If present, makes the output “pretty” to help with debugging.
   |         ╰─suggestion: Document 'startAt' parameter
67 +     ///Parameter shall not have a value
68 |     ///- returns: a  `PodcastArrayResponse` object which has an array of `Podcast`s
69 |     public func podcastByTag(max: Int? = nil, startAt: String? = nil, pretty: Bool = false) async throws -> PodcastArrayResponse {
warning: Parameter 'start_at' not found in instance method declaration
  --> Sources/PodcastIndexKit/Services/PodcastsService.swift:77:9-77:62
75 |     /// Full list of possible values documented in [medium](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#medium) tag spec.
76 |     ///- parameter max: Maximum number of results to return.
77 +     ///- parameter start_at: Feed ID to start at for request
   |         ╰─suggestion: Remove 'start_at' parameter documentation
78 |     ///- parameter pretty: If present, makes the output “pretty” to help with debugging.
79 |     ///Parameter shall not have a value
warning: 'JSONDecoder' doesn't exist at '/PodcastIndexKit/PodcastIndexRawService'
 --> Sources/PodcastIndexKit/Services/RawService.swift:7:18-7:29
5 | /// The typed services decode responses into models. A server that caches
6 | /// responses wants the exact bytes instead, so it can store them and decode
7 + /// later with ``JSONDecoder/podcastIndexDecoder``. Each method mirrors one of
8 | /// the typed service calls and sends the same request.
9 | @PodcastActor
Finished building documentation for 'PodcastIndexKit' (0.42s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/sparrowtek/podcastindexkit/main
Fetching https://github.com/swiftlang/swift-docc-plugin
Updating https://github.com/apple/swift-crypto.git
Updating https://github.com/apple/swift-asn1.git
[1/2345] Fetching swift-docc-plugin
Updated https://github.com/apple/swift-asn1.git (1.39s)
Updated https://github.com/apple/swift-crypto.git (1.39s)
Fetched https://github.com/swiftlang/swift-docc-plugin (1.40s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (2.14s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.65s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (2.16s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3839] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (3.00s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (3.77s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Building for debugging...
[Planning deferred tasks]
[18 / 41]
[20 / 43] Snippets
[31 / 58] SymbolKit
[40 / 58] SymbolKit
[52 / 59] SymbolKit
[58 / 63] SymbolKit
[59 / 63] snippet-extract-product
[61 / 63] snippet-extract-product
Build complete! (2.50 sec)
Building for debugging...
[Planning deferred tasks]
[3 / 11] PodcastIndexKit
[14 / 22] PodcastIndexKit
[16 / 18] PodcastIndexKit
Build complete! (1.32 sec)
    1464
9	/Users/admin/builder/spi-builder-workspace/.docs/sparrowtek/podcastindexkit/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/sparrowtek/podcastindexkit/main
File count: 1464
Doc size:   9.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -sparrowtek-podcastindexkit-main-7fc7aca8.zip to presigned URL
Starting upload of 1940636 bytes...
Upload completed successfully
Done.