The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Manifest, reference master (21cf15), with Swift 6.4 for Wasm on 17 Sep 2026 02:00:01 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Ether-CLI/Manifest.git
Reference: master
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/Ether-CLI/Manifest
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 21cf15c Updated CHANGLELOG for dependency write fixes
Cloned https://github.com/Ether-CLI/Manifest.git
Revision (git rev-parse @):
21cf15c2ce50a630aed3a7d353c77d3a6dc953b1
SUCCESS checkout https://github.com/Ether-CLI/Manifest.git at master
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/Ether-CLI/Manifest.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Building for debugging...
[Planning deferred tasks]
[27 / 42] Utilities
[39 / 52] Manifest
[39 / 52] Utilities
[41 / 52] Utilities
/host/spi-builder-workspace/Sources/Manifest/Dependency/Dependency+CUD.swift:30:24: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
28 |         if array.matches(in: String(contents), options: [], range: contents.range).count > 0 {
29 |             if stored.matches(in: String(contents), options: [], range: contents.range).count > 0 {
30 |                 stored.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: self.description)
   |                        `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
31 |             } else {
32 |                 let match = dependencies.firstMatch(in: String(contents), options: [], range: contents.range)
/host/spi-builder-workspace/Sources/Manifest/Dependency/Dependency+CUD.swift:36:34: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
34 |
35 |                 if space == "" {
36 |                     dependencies.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "$1\n$2$2\(self.description)\n$2]")
   |                                  `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
37 |                 } else {
38 |                     dependencies.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "$1\(self.description),$9$10")
/host/spi-builder-workspace/Sources/Manifest/Dependency/Dependency+CUD.swift:38:34: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
36 |                     dependencies.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "$1\n$2$2\(self.description)\n$2]")
37 |                 } else {
38 |                     dependencies.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "$1\(self.description),$9$10")
   |                                  `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
39 |                 }
40 |             }
/host/spi-builder-workspace/Sources/Manifest/Dependency/Dependency+CUD.swift:42:20: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
40 |             }
41 |         } else {
42 |             before.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: """
   |                    `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
43 |                 $1,
44 |                 $2dependenciesw: [
/host/spi-builder-workspace/Sources/Manifest/Dependency/Dependency+CUD.swift:65:17: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
63 |         let contents: NSMutableString = try self.manifest.contents()
64 |
65 |         pattern.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "")
   |                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
66 |         try self.manifest.write(with: contents)
67 |     }
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
[46 / 52] Manifest
/host/spi-builder-workspace/Sources/Manifest/Target/Target+CUD.swift:26:19: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
24 |                 pattern: "(Package\\(\\n?(\\s*)name\\s*:\\s*\".*?\"\\s*,?\\s*(providers\\s*:\\s*\\[(.|\\n)*?\\](?!\\s*\\)),?\\s*)?(products\\s*:\\s*\\[(.|\\n)*?\\](?!\\s*\\)),?\\s*)?(dependencies\\s*:\\s*\\[(.|\\n)*?\\])?)",
25 |                 options: []
26 |                 ).replaceMatches(
   |                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
27 |                     in: contents,
28 |                     options: [],
/host/spi-builder-workspace/Sources/Manifest/Target/Target+CUD.swift:41:21: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
39 |
40 |         if pattern.matches(in: String(contents), options: [], range: contents.range).count > 0 {
41 |             pattern.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: self.description)
   |                     `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
42 |         } else if self.isTest {
43 |             let replacement = try NSRegularExpression(pattern: "(?<=\\n|\\[)(\\s*)(\\.testTarget\\(.*?\\))(,?)(?=\\s*\\])", options: [])
/host/spi-builder-workspace/Sources/Manifest/Target/Target+CUD.swift:44:25: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
42 |         } else if self.isTest {
43 |             let replacement = try NSRegularExpression(pattern: "(?<=\\n|\\[)(\\s*)(\\.testTarget\\(.*?\\))(,?)(?=\\s*\\])", options: [])
44 |             replacement.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "$1$2,\n$1\(self.description)")
   |                         `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
45 |         } else {
46 |             let replacement = try NSRegularExpression(pattern: "(?<=\\n|\\[)(\\s*)(\\.target\\(.*?\\))(,?)(?=\\s*(\\.testTarget|\\]))", options: [])
/host/spi-builder-workspace/Sources/Manifest/Target/Target+CUD.swift:47:25: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
45 |         } else {
46 |             let replacement = try NSRegularExpression(pattern: "(?<=\\n|\\[)(\\s*)(\\.target\\(.*?\\))(,?)(?=\\s*(\\.testTarget|\\]))", options: [])
47 |             replacement.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "$1$2,\n$1\(self.description),")
   |                         `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
48 |         }
49 |
/host/spi-builder-workspace/Sources/Manifest/Target/Target+CUD.swift:66:17: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
64 |         let contents: NSMutableString = try self.manifest.contents()
65 |
66 |         pattern.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "")
   |                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
67 |         try self.manifest.write(with: contents)
68 |     }
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/host/spi-builder-workspace/Sources/Manifest/Product/Product+CUD.swift:39:17: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
37 |         }
38 |
39 |         pattern.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: replacement)
   |                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
40 |         try self.manifest.write(with: contents)
41 |     }
/host/spi-builder-workspace/Sources/Manifest/Product/Product+CUD.swift:58:17: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
56 |         let contents: NSMutableString = try self.manifest.contents()
57 |
58 |         pattern.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "")
   |                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
59 |         try self.manifest.write(with: contents)
60 |     }
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/host/spi-builder-workspace/Sources/Manifest/Providers/Providers+CUD.swift:17:22: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
15 |
16 |         if provider.matches(in: String(contents), options: [], range: contents.range).count > 0 {
17 |             provider.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: self.description)
   |                      `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
18 |             try self.manifest.write(with: contents)
19 |             return
/host/spi-builder-workspace/Sources/Manifest/Providers/Providers+CUD.swift:23:23: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
21 |
22 |         if providers.matches(in: String(contents), options: [], range: contents.range).count > 0 {
23 |             providers.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "$0\n$1$1\(self.description),")
   |                       `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
24 |         } else {
25 |             let products = try NSRegularExpression(pattern: "\n?(\\s*)products: \\[", options: [])
/host/spi-builder-workspace/Sources/Manifest/Providers/Providers+CUD.swift:26:22: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
24 |         } else {
25 |             let products = try NSRegularExpression(pattern: "\n?(\\s*)products: \\[", options: [])
26 |             products.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: """
   |                      `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
27 |
28 |                 $1providers: [
/host/spi-builder-workspace/Sources/Manifest/Providers/Providers+CUD.swift:48:17: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
46 |         let contents: NSMutableString = try self.manifest.contents()
47 |
48 |         pattern.replaceMatches(in: contents, options: [], range: contents.range, withTemplate: "")
   |                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
49 |         try self.manifest.write(with: contents)
50 |     }
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/host/spi-builder-workspace/Sources/Manifest/Manifest/Manifest+Mutations.swift:19:21: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
17 |
18 |         if let name = name {
19 |             pattern.replaceMatches(in: content, options: [], range: content.range, withTemplate: "$1\(name)$3")
   |                     `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
20 |             try self.write(with: content)
21 |             return name
/host/spi-builder-workspace/Sources/Manifest/Manifest/Manifest+Mutations.swift:60:21: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
58 |         if pattern.matches(in: String(content), options: [], range: content.range).count > 0 {
59 |             let newValue = string == nil ? "" : "$1\(string!)$3"
60 |             pattern.replaceMatches(in: content, options: [], range: content.range, withTemplate: newValue)
   |                     `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
61 |         } else if let string = string {
62 |             let namePattern = try NSRegularExpression(pattern: "(Package\\(\\n?(\\s*)name:\\s*\".*?\"),?", options: [])
/host/spi-builder-workspace/Sources/Manifest/Manifest/Manifest+Mutations.swift:63:25: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
61 |         } else if let string = string {
62 |             let namePattern = try NSRegularExpression(pattern: "(Package\\(\\n?(\\s*)name:\\s*\".*?\"),?", options: [])
63 |             namePattern.replaceMatches(in: content, options: [], range: content.range, withTemplate: "$1,\n$2pkgConfig: \"\(string)\",")
   |                         `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
64 |         }
65 |
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
[50 / 53] Utilities
[50 / 53] Manifest
Build complete! (5.92 secs)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Manifest",
  "name" : "Manifest",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Manifest",
      "targets" : [
        "Manifest"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Utilities",
      "module_type" : "SwiftTarget",
      "name" : "Utilities",
      "path" : "Sources/Utilities",
      "product_memberships" : [
        "Manifest"
      ],
      "sources" : [
        "Deletable.swift",
        "Saveable.swift",
        "String+NSRange.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ManifestTests",
      "module_type" : "SwiftTarget",
      "name" : "ManifestTests",
      "path" : "Tests/ManifestTests",
      "sources" : [
        "ManifestTests.swift"
      ],
      "target_dependencies" : [
        "Manifest",
        "Utilities"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Manifest",
      "module_type" : "SwiftTarget",
      "name" : "Manifest",
      "path" : "Sources/Manifest",
      "product_memberships" : [
        "Manifest"
      ],
      "sources" : [
        "Dependency/Dependency+CUD.swift",
        "Dependency/Dependency.swift",
        "Dependency/Manifest+Dependency.swift",
        "Dependency/VersionType.swift",
        "Helpers/Environment.swift",
        "Helpers/Error.swift",
        "Helpers/Internal.swift",
        "Manifest/Manifest+Mutations.swift",
        "Manifest/Manifest.swift",
        "Manifest/ManifestCodingKeys.swift",
        "Manifest/ManifestElement.swift",
        "Product/Manifest+Product.swift",
        "Product/Product+CUD.swift",
        "Product/Product.swift",
        "Product/ProductSubTypes.swift",
        "Providers/Manifest+Providers.swift",
        "Providers/Providers+CUD.swift",
        "Providers/Providers.swift",
        "Resolved/Pin.swift",
        "Resolved/Resolved.swift",
        "Target/Manifest+Target.swift",
        "Target/Target+CUD.swift",
        "Target/Target.swift"
      ],
      "target_dependencies" : [
        "Utilities"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Done.