The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Relax, reference main (30de4b), with Swift 6.3 for macOS (SPM) on 22 Apr 2026 14:44:41 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tdeleon/Relax.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tdeleon/Relax
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 30de4b5 Merge pull request #60 from tdeleon/develop
Cloned https://github.com/tdeleon/Relax.git
Revision (git rev-parse @):
30de4b526965f008ab776baac3325a98ce6787f0
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/tdeleon/Relax.git at main
========================================
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": "relax",
      "name": "Relax",
      "url": "https://github.com/tdeleon/Relax.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Relax",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/tdeleon/Relax.git
[1/2794] Fetching relax
Fetched https://github.com/tdeleon/Relax.git from cache (1.16s)
Creating working copy for https://github.com/tdeleon/Relax.git
Working copy of https://github.com/tdeleon/Relax.git resolved at main (30de4b5)
warning: '.resolve-product-dependencies': dependency 'relax' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/tdeleon/Relax.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--6988338F2F200930.txt
[4/18] Compiling Relax Request+SendPublisher.swift
[5/18] Compiling Relax Request+Modifiers.swift
[6/19] Compiling Relax PathComponents.swift
[7/19] Compiling Relax QueryItems.swift
[8/19] Compiling Relax RequestProperty.swift
[9/19] Compiling Relax Request+Configuration.swift
[10/19] Compiling Relax Service.swift
[11/19] Compiling Relax Errors.swift
[12/19] Compiling Relax Body.swift
[13/19] Compiling Relax Headers.swift
[14/19] Compiling Relax APIComponent.swift
[15/19] Compiling Relax Endpoint.swift
[16/19] Emitting module Relax
[17/19] Compiling Relax Request+Send.swift
[18/19] Compiling Relax Request+SendAsync.swift
[19/19] Compiling Relax Request.swift
[20/24] Compiling URLMock URLMock.swift
[21/24] Compiling URLMock MockResponse.swift
[22/24] Compiling URLMock URLRequestValidation.swift
[23/24] Compiling URLMock Response.swift
[24/24] Emitting module URLMock
Build complete! (13.89s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Relax",
  "name" : "Relax",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "Relax",
      "targets" : [
        "Relax"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "URLMock",
      "targets" : [
        "URLMock"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "URLMock",
      "module_type" : "SwiftTarget",
      "name" : "URLMock",
      "path" : "Sources/URLMock",
      "product_memberships" : [
        "URLMock"
      ],
      "sources" : [
        "MockResponse/MockResponse.swift",
        "MockResponse/Response.swift",
        "URLMock.swift",
        "URLRequestValidation.swift"
      ],
      "target_dependencies" : [
        "Relax"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RelaxTests",
      "module_type" : "SwiftTarget",
      "name" : "RelaxTests",
      "path" : "Tests/RelaxTests",
      "sources" : [
        "AsyncTests/AsyncCancellationTests.swift",
        "AsyncTests/AsyncCodableTests.swift",
        "AsyncTests/AsyncErrorTests.swift",
        "AsyncTests/AsyncRequestTests.swift",
        "CombineTests/CombineCodableTests.swift",
        "CombineTests/CombineErrorTests.swift",
        "CombineTests/CombineRequestTests.swift",
        "CompletionTests/CompletionErrorTests.swift",
        "CompletionTests/CompletionRequestTests.swift",
        "Errors/HTTPErrorTests.swift",
        "Errors/RequestErrorTests.swift",
        "Helpers/ErrorTest.swift",
        "Helpers/MockError.swift",
        "Helpers/MockServices.swift",
        "Helpers/Service+Testing.swift",
        "Request/Properties/BodyTests.swift",
        "Request/Properties/ConfigurationTests.swift",
        "Request/Properties/HeaderTests.swift",
        "Request/Properties/HeaderTypeTests.swift",
        "Request/Properties/PathComponentsTests.swift",
        "Request/Properties/QueryItemTests.swift",
        "Request/Properties/RequestPropertiesBuilderTests.swift",
        "Request/Properties/RequestPropertiesTests.swift",
        "Request/RequestModifiersTests.swift",
        "Request/RequestTests.swift",
        "Request/ServiceTests.swift"
      ],
      "target_dependencies" : [
        "Relax",
        "URLMock"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Relax",
      "module_type" : "SwiftTarget",
      "name" : "Relax",
      "path" : "Sources/Relax",
      "product_memberships" : [
        "Relax",
        "URLMock"
      ],
      "sources" : [
        "API Structure/APIComponent.swift",
        "API Structure/Endpoint.swift",
        "API Structure/Service.swift",
        "Errors.swift",
        "Request/Properties/Body.swift",
        "Request/Properties/Headers.swift",
        "Request/Properties/PathComponents.swift",
        "Request/Properties/QueryItems.swift",
        "Request/Properties/RequestProperty.swift",
        "Request/Request+Configuration.swift",
        "Request/Request+Modifiers.swift",
        "Request/Request+Send.swift",
        "Request/Request+SendAsync.swift",
        "Request/Request+SendPublisher.swift",
        "Request/Request.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/tdeleon/relax/main
Repository:               tdeleon/Relax
Swift version used:       6.3
Target:                   Relax
Extracting symbol information for 'Relax'...
Finished extracting symbol information for 'Relax'. (28.11s)
Building documentation for 'Relax'...
warning: 'send(decoder:session:completion:)' is ambiguous at '/Relax/Request'
  --> Request/Request.md:65:5-65:38
63 | - <doc:SendingRequestsHandler>
64 | - ``send(session:autoResumeTask:completion:)``
65 + - ``send(decoder:session:completion:)``
   |                                      ├─suggestion: Insert '-(_,_,(Result<ResponseModel,RequestError>)->Void)' for 'func send<ResponseModel>(decoder: JSONDecoder? = nil, session: URLSession? = nil, completion: @escaping (Result<ResponseModel, RequestError>) -> Void) where ResponseModel : Decodable'
   |                                      ╰─suggestion: Insert '-(_,_,Request.ModelCompletion<ResponseModel>)' for 'func send<ResponseModel>(decoder: JSONDecoder? = nil, session: URLSession? = nil, completion: @escaping Request.ModelCompletion<ResponseModel>) where ResponseModel : Decodable'
66 | - ``Response``
67 | - ``ResponseModel``
warning: 'send(decoder:session:completion:)' is ambiguous at '/Relax/Request'
  --> Request/SendingRequests/SendingRequestsHandler.md:78:11-78:44
76 |
77 | You can automatically decode received data into a `Decodable` instance with the
78 + ``Request/send(decoder:session:completion:)`` method. This method also uses a completion handler, but instead of `Data`,
   |                                            ├─suggestion: Insert '-(_,_,(Result<ResponseModel,RequestError>)->Void)' for 'func send<ResponseModel>(decoder: JSONDecoder? = nil, session: URLSession? = nil, completion: @escaping (Result<ResponseModel, RequestError>) -> Void) where ResponseModel : Decodable'
   |                                            ╰─suggestion: Insert '-(_,_,Request.ModelCompletion<ResponseModel>)' for 'func send<ResponseModel>(decoder: JSONDecoder? = nil, session: URLSession? = nil, completion: @escaping Request.ModelCompletion<ResponseModel>) where ResponseModel : Decodable'
79 | returns the data decoded to a `Decodable` type.
80 |
warning: Parameter 'appendTrailingSlashToPath' not found in initializer declaration
   --> ../Request/Request+Configuration.swift:121:17-121:42
119 |         ///   - allowsExpensiveNetworkAccess: Whether to allow access to expensive networks
120 |         ///   - parseHTTPStatusErrors: Whether to parse HTTP status codes for errors
121 +         ///   - appendTrailingSlashToPath: Whether to append a trailing '/' to the path components
    |                 ╰─suggestion: Replace 'appendTrailingSlashToPath' with 'appendTraillingSlashToPath'
122 |         public init(
123 |             allowsCellularAccess: Bool = true,
warning: Parameter 'appendTraillingSlashToPath' is missing documentation
   --> ../Request/Request+Configuration.swift:121:99-121:99
119 |         ///   - allowsExpensiveNetworkAccess: Whether to allow access to expensive networks
120 |         ///   - parseHTTPStatusErrors: Whether to parse HTTP status codes for errors
121 +         ///   - appendTrailingSlashToPath: Whether to append a trailing '/' to the path components
    |                                                                                                   ╰─suggestion: Document 'appendTraillingSlashToPath' parameter
122 |         public init(
123 |             allowsCellularAccess: Bool = true,
warning: Parameter 'Note' not found in initializer declaration
   --> ../Request/Request.swift:207:11-208:9
205 |     ///   ``Request/Properties/empty`` (no properties).
206 |     ///
207 +     ///   - Note: Any `properties` provided are appended to the ``APIComponent/allProperties-7xy23`` defined on the parent, not replaced.
    |           ╰─suggestion: Remove 'Note' parameter documentation
208 +     ///
209 |     /// The request will inherit attributes defined on the `parent`, including:
210 |     /// * ``APIComponent/baseURL``
Finished building documentation for 'Relax' (0.55s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/tdeleon/relax/main
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2277] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.30s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (2.07s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3674] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.28s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.25s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.6
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
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[0/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Compiling Snippets Snippet.swift
[7/53] Compiling Snippets SnippetParser.swift
[8/53] Emitting module Snippets
[9/53] Compiling SymbolKit Mixin+Equals.swift
[10/53] Compiling SymbolKit Mixin+Hash.swift
[11/53] Compiling SymbolKit Mixin.swift
[12/53] Compiling SymbolKit LineList.swift
[13/53] Compiling SymbolKit Position.swift
[14/57] Compiling SymbolKit Identifier.swift
[15/57] Compiling SymbolKit KindIdentifier.swift
[16/57] Compiling SymbolKit Location.swift
[17/57] Compiling SymbolKit Mutability.swift
[18/57] Compiling SymbolKit Names.swift
[19/57] Compiling SymbolKit SPI.swift
[20/57] Compiling SymbolKit Snippet.swift
[21/57] Compiling SymbolKit Extension.swift
[22/57] Compiling SymbolKit DeclarationFragments.swift
[23/57] Compiling SymbolKit Fragment.swift
[24/57] Compiling SymbolKit FragmentKind.swift
[25/57] Compiling SymbolKit FunctionParameter.swift
[26/57] Compiling SymbolKit FunctionSignature.swift
[27/57] Compiling SymbolKit SemanticVersion.swift
[28/57] Compiling SymbolKit AccessControl.swift
[29/57] Compiling SymbolKit Availability.swift
[30/57] Compiling SymbolKit AvailabilityItem.swift
[31/57] Compiling SymbolKit Domain.swift
[32/57] Compiling SymbolKit Symbol.swift
[33/57] Compiling SymbolKit SymbolKind.swift
[34/57] Compiling SymbolKit SymbolGraph.swift
[35/57] Compiling SymbolKit GraphCollector.swift
[36/57] Compiling SymbolKit GenericConstraint.swift
[37/57] Compiling SymbolKit GenericParameter.swift
[38/57] Compiling SymbolKit Generics.swift
[39/57] Compiling SymbolKit Namespace.swift
[40/57] Emitting module SymbolKit
[41/57] Compiling SymbolKit SourceRange.swift
[42/57] Compiling SymbolKit Metadata.swift
[43/57] Compiling SymbolKit Module.swift
[44/57] Compiling SymbolKit OperatingSystem.swift
[45/57] Compiling SymbolKit Platform.swift
[46/57] Compiling SymbolKit Relationship.swift
[47/57] Compiling SymbolKit RelationshipKind.swift
[48/57] Compiling SymbolKit SourceOrigin.swift
[49/57] Compiling SymbolKit GenericConstraints.swift
[50/57] Compiling SymbolKit Swift.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.60s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'Relax' complete! (0.20s)
Target:                   URLMock
Extracting symbol information for 'URLMock'...
Finished extracting symbol information for 'URLMock'. (18.18s)
Building documentation for 'URLMock'...
warning: Parameter 'urlErrorCode' not found in initializer declaration
   --> ../MockResponse/Response.swift:102:15-102:53
100 |         /// A response returning a `URLError` with the given code
101 |         /// - Parameters:
102 +         ///   - urlErrorCode: The code for the error
    |               ╰─suggestion: Remove 'urlErrorCode' parameter documentation
103 |         ///   - request: The request this is in response to
104 |         /// - Returns: A response with `URLError` of the given code
warning: Parameter 'code' is missing documentation
   --> ../MockResponse/Response.swift:103:60-103:60
101 |         /// - Parameters:
102 |         ///   - urlErrorCode: The code for the error
103 +         ///   - request: The request this is in response to
    |               ╰─suggestion: Document 'code' parameter
104 |         /// - Returns: A response with `URLError` of the given code
105 |         public init(code: URLError.Code, for request: URLRequest) {
warning: External name 'match' used to document parameter
  --> ../URLRequestValidation.swift:45:21-45:26
43 |     //MARK: - Validation
44 |     /// Validates the request query items match the provided query items
45 +     /// - Parameter match: The expected query items
   |                     ╰─suggestion: Replace 'match' with 'expected'
46 |     ///
47 |     /// This method validates that the query items match the expected using `XCTAssertEqual()`. Sets are used so order is not required to match.
warning: External name 'matches' used to document parameter
  --> ../URLRequestValidation.swift:75:13-75:20
73 |     /// Validates the request body matches the provided `Codable` object
74 |     /// - Parameters:
75 +     ///   - matches: The Encodable object to match
   |             ╰─suggestion: Replace 'matches' with 'expected'
76 |     ///   - decoder: The decoder to use when decoding the request body data
77 |     ///
warning: External name 'matches' used to document parameter
  --> ../URLRequestValidation.swift:89:21-89:28
87 |
88 |     /// Validates that the request body matches the provided dictionary
89 +     /// - Parameter matches: The dictionary to match
   |                     ╰─suggestion: Replace 'matches' with 'expected'
90 |     ///
91 |     /// This method attempts to decode the request body using `JSONSerialization` into a dictionary, and then validates it against the expected using
warning: External name 'match' used to document parameter
   --> ../URLRequestValidation.swift:125:21-125:26
123 |
124 |     /// Validates that the request HTTP headers match the provided
125 +     /// - Parameter match: The expected headers to match
    |                     ╰─suggestion: Replace 'match' with 'expected'
126 |     ///
127 |     /// This method matches the request `allHTTPHeaderFields` with the expected using `XCTAssertEqual()`
Finished building documentation for 'URLMock' (0.08s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/tdeleon/relax/main
Building for debugging...
[0/3] Write swift-version--6988338F2F200930.txt
Build of product 'snippet-extract' complete! (0.21s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'URLMock' complete! (0.19s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/tdeleon/relax/main/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/tdeleon/relax/main/linkable-paths.json
     763
6	/Users/admin/builder/spi-builder-workspace/.docs/tdeleon/relax/main
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/tdeleon/relax/main
File count: 763
Doc size:   6.0MB
Preparing doc bundle ...
Uploading prod-tdeleon-relax-main-a5e121fe.zip to s3://spi-docs-inbox/prod-tdeleon-relax-main-a5e121fe.zip
Copying... [10%]
Copying... [21%]
Copying... [31%]
Copying... [41%]
Copying... [52%]
Copying... [62%]
Copying... [72%]
Copying... [83%]
Copying... [93%]
Copying... [100%]
Done.