The Swift Package Index logo.Swift Package Index

Build Information

Successful build of PerfectRedis, reference 3.4.1 (b74ae3), with Swift 6.4 for macOS (SPM) on 16 Sep 2026 03:04:26 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-redis.git
Reference: 3.4.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-redis
 * tag               3.4.1      -> FETCH_HEAD
HEAD is now at b74ae3a Merge pull request #20 from PerfectlySoft/existsfix
Cloned https://github.com/perfectlysoft/perfect-redis.git
Revision (git rev-parse @):
b74ae3aaf48ed4029a42404bf0a1788195d89d78
SUCCESS checkout https://github.com/perfectlysoft/perfect-redis.git at 3.4.1
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-redis.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 217]
[Planning deferred tasks]
[45 / 553]
[55 / 555] COpenSSL
[74 / 579] PerfectLib
[78 / 579] PerfectThread
[82 / 579] PerfectThread
[88 / 579] PerfectThread-product
[98 / 579] COpenSSL
[99 / 579] COpenSSL
[103 / 579] COpenSSL
[109 / 579] COpenSSL
[118 / 579] COpenSSL
[129 / 582] COpenSSL
[139 / 582] COpenSSL
[151 / 582] COpenSSL
[171 / 582] PerfectLib
[189 / 582] COpenSSL
[205 / 582] COpenSSL
[225 / 582] COpenSSL
[243 / 582] COpenSSL
[268 / 582] COpenSSL
[296 / 582] COpenSSL
[318 / 582] COpenSSL
[341 / 582] COpenSSL
[367 / 582] COpenSSL
[397 / 582] COpenSSL
[420 / 582] COpenSSL
[445 / 582] COpenSSL
[471 / 582] COpenSSL
[492 / 582] COpenSSL
[520 / 582] COpenSSL
[545 / 582] COpenSSL
[560 / 592] PerfectThread
[566 / 592] PerfectCrypto
[567 / 592]
[567 / 592] PerfectCrypto
[579 / 601] PerfectNet
[580 / 601] PerfectNet
[582 / 601] PerfectNet
[595 / 608] PerfectRedis
[598 / 608] PerfectCrypto
[603 / 608] PerfectRedis
[605 / 608] PerfectRedis
Build complete! (9.91 sec)
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
[1/570] Fetching perfect-net
Fetched https://github.com/PerfectlySoft/Perfect-Net.git (0.90s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0 (1.59s)
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
[1/612] Fetching perfect-crypto
[57/991] Fetching perfect-crypto, perfect-thread
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git (1.06s)
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git (1.06s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.3.0 (1.74s)
Fetching https://github.com/PerfectlySoft/PerfectLib.git
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git
[1/10784] Fetching perfectlib
[1403/14745] Fetching perfectlib, perfect-copenssl
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git (6.30s)
Fetched https://github.com/PerfectlySoft/PerfectLib.git (6.30s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (7.00s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.65s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4 (0.63s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
Creating working copy for https://github.com/PerfectlySoft/Perfect-Net.git
Working copy of https://github.com/PerfectlySoft/Perfect-Net.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 3.1.4
/Users/admin/builder/spi-builder-workspace/Sources/PerfectRedis/RedisClientSync.swift:52:2: warning: 'public' modifier is redundant for instance method declared in a public extension
50 | 	}
51 |
52 | 	public func sendCommand(name: String, parameters: [RedisResponse]) throws -> RedisResponse {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
53 | 		let a = commandBytes(name: name, parameters: parameters)
54 | 		return try sendRawCommand(bytes: a)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectRedis/RedisClientSync.swift:57:2: warning: 'public' modifier is redundant for instance method declared in a public extension
55 | 	}
56 |
57 | 	public func sendCommand(name: String) throws -> RedisResponse {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 | 		let a = commandBytes(name: name)
59 | 		return try sendRawCommand(bytes: a)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectRedis/RedisClientSync.swift:63:2: warning: 'public' modifier is redundant for instance method declared in a public extension
61 |
62 | 	// Send command as serialized in RESP format: See https://redis.io/topics/protocol
63 | 	public func sendCommandAsRESP(name: String, parameters: [String]) throws -> RedisResponse {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
64 | 		var array = [RedisResponse.bulkString(name.bytes)]
65 | 		#if swift(>=4.1)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectRedis/RedisClientSync.swift:52:2: warning: 'public' modifier is redundant for instance method declared in a public extension
50 | 	}
51 |
52 | 	public func sendCommand(name: String, parameters: [RedisResponse]) throws -> RedisResponse {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
53 | 		let a = commandBytes(name: name, parameters: parameters)
54 | 		return try sendRawCommand(bytes: a)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectRedis/RedisClientSync.swift:57:2: warning: 'public' modifier is redundant for instance method declared in a public extension
55 | 	}
56 |
57 | 	public func sendCommand(name: String) throws -> RedisResponse {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
58 | 		let a = commandBytes(name: name)
59 | 		return try sendRawCommand(bytes: a)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectRedis/RedisClientSync.swift:63:2: warning: 'public' modifier is redundant for instance method declared in a public extension
61 |
62 | 	// Send command as serialized in RESP format: See https://redis.io/topics/protocol
63 | 	public func sendCommandAsRESP(name: String, parameters: [String]) throws -> RedisResponse {
   |  `- warning: 'public' modifier is redundant for instance method declared in a public extension
64 | 		var array = [RedisResponse.bulkString(name.bytes)]
65 | 		#if swift(>=4.1)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "perfect-net",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.1",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/PerfectlySoft/Perfect-Net.git"
    }
  ],
  "manifest_display_name" : "PerfectRedis",
  "name" : "PerfectRedis",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "PerfectRedis",
      "targets" : [
        "PerfectRedis"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PerfectRedisTests",
      "module_type" : "SwiftTarget",
      "name" : "PerfectRedisTests",
      "path" : "Tests/PerfectRedisTests",
      "product_dependencies" : [
        "PerfectNet"
      ],
      "sources" : [
        "HashTests.swift",
        "PerfectRedisTests.swift"
      ],
      "target_dependencies" : [
        "PerfectRedis"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PerfectRedis",
      "module_type" : "SwiftTarget",
      "name" : "PerfectRedis",
      "path" : "Sources/PerfectRedis",
      "product_dependencies" : [
        "PerfectNet"
      ],
      "product_memberships" : [
        "PerfectRedis"
      ],
      "sources" : [
        "PerfectRedis.swift",
        "RedisClientSync.swift",
        "RedisHash.swift",
        "RedisList.swift",
        "RedisSet.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.