The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build Poes, reference 2.0.0 (e20def), with Swift 6.1 for Linux on 26 Apr 2025 05:56:20 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AvdLee/Poes.git
Reference: 2.0.0
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/AvdLee/Poes
 * tag               2.0.0      -> FETCH_HEAD
HEAD is now at e20def8 Implement the new arguments parser framework (#14)
Submodule path 'Submodules/WeTransfer-iOS-CI': checked out 'c2122f81f98515f3e292dff1a5e03c6899870646'
Submodule 'Submodules/WeTransfer-iOS-CI' (https://github.com/WeTransfer/WeTransfer-iOS-CI.git) registered for path 'Submodules/WeTransfer-iOS-CI'
Cloning into '/host/spi-builder-workspace/Submodules/WeTransfer-iOS-CI'...
Cloned https://github.com/AvdLee/Poes.git
Revision (git rev-parse @):
e20def8f7ed2965c17a84aad96997857f7c66d77
SUCCESS checkout https://github.com/AvdLee/Poes.git at 2.0.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/AvdLee/Poes.git
https://github.com/AvdLee/Poes.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "Poes",
  "name" : "Poes",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "Poes",
      "targets" : [
        "Poes"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PoesCore",
      "module_type" : "SwiftTarget",
      "name" : "PoesCore",
      "path" : "Sources/PoesCore",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "Poes"
      ],
      "sources" : [
        "Helpers/Log.swift",
        "Helpers/Shell.swift",
        "Payload.swift",
        "Poes.swift",
        "Send.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Poes",
      "module_type" : "SwiftTarget",
      "name" : "Poes",
      "path" : "Sources/Poes",
      "product_memberships" : [
        "Poes"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "PoesCore"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.1"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-argument-parser
[1/14937] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.13s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.5.0 (2.13s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.5.0
Building for debugging...
[0/11] Write sources
[4/11] Write swift-version-24593BA9C3E375BF.txt
[6/13] Emitting module ArgumentParserToolInfo
[7/13] Compiling ArgumentParserToolInfo ToolInfo.swift
[8/14] Wrapping AST for ArgumentParserToolInfo for debugging
[10/48] Compiling ArgumentParser ParsableArguments.swift
[11/48] Compiling ArgumentParser ParsableArgumentsValidation.swift
[12/48] Compiling ArgumentParser ParsableCommand.swift
[13/48] Compiling ArgumentParser ArgumentDecoder.swift
[14/48] Compiling ArgumentParser ArgumentDefinition.swift
[15/48] Compiling ArgumentParser Option.swift
[16/48] Compiling ArgumentParser OptionGroup.swift
[17/48] Compiling ArgumentParser CommandConfiguration.swift
[18/48] Compiling ArgumentParser EnumerableFlag.swift
[19/48] Compiling ArgumentParser ExpressibleByArgument.swift
[20/52] Compiling ArgumentParser BashCompletionsGenerator.swift
[21/52] Compiling ArgumentParser CompletionsGenerator.swift
[22/52] Compiling ArgumentParser FishCompletionsGenerator.swift
[23/52] Compiling ArgumentParser ZshCompletionsGenerator.swift
[24/52] Compiling ArgumentParser Argument.swift
[25/52] Emitting module ArgumentParser
[26/52] Compiling ArgumentParser ArgumentHelp.swift
[27/52] Compiling ArgumentParser CompletionKind.swift
[28/52] Compiling ArgumentParser Errors.swift
[29/52] Compiling ArgumentParser Flag.swift
[30/52] Compiling ArgumentParser NameSpecification.swift
[31/52] Compiling ArgumentParser HelpCommand.swift
[32/52] Compiling ArgumentParser HelpGenerator.swift
[33/52] Compiling ArgumentParser MessageInfo.swift
[34/52] Compiling ArgumentParser UsageGenerator.swift
[35/52] Compiling ArgumentParser ArgumentSet.swift
[36/52] Compiling ArgumentParser CommandParser.swift
[37/52] Compiling ArgumentParser InputOrigin.swift
[38/52] Compiling ArgumentParser Name.swift
[39/52] Compiling ArgumentParser Parsed.swift
[40/52] Compiling ArgumentParser ParsedValues.swift
[41/52] Compiling ArgumentParser ParserError.swift
[42/52] Compiling ArgumentParser SplitArguments.swift
[43/52] Compiling ArgumentParser DumpHelpGenerator.swift
[44/52] Compiling ArgumentParser CollectionExtensions.swift
[45/52] Compiling ArgumentParser SequenceExtensions.swift
[46/52] Compiling ArgumentParser StringExtensions.swift
[47/52] Compiling ArgumentParser Tree.swift
[48/53] Wrapping AST for ArgumentParser for debugging
[50/59] Compiling PoesCore Poes.swift
/host/spi-builder-workspace/Sources/PoesCore/Poes.swift:13:23: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | public struct Poes: ParsableCommand {
13 |     public static let configuration = CommandConfiguration(
   |                       `- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
14 |         abstract: "A Swift command-line tool to easily test push notifications to the iOS simulator",
15 |         subcommands: [Send.self])
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
/host/spi-builder-workspace/Sources/PoesCore/Poes.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 8 |
 9 | import Foundation
10 | import ArgumentParser
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
11 |
12 | public struct Poes: ParsableCommand {
13 |     public static let configuration = CommandConfiguration(
   |                       |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         abstract: "A Swift command-line tool to easily test push notifications to the iOS simulator",
15 |         subcommands: [Send.self])
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:19:43: error: extra argument 'default' in call
17 |     private var bundleIdentifier: String
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
   |                                           `- error: extra argument 'default' in call
20 |     private var title: String
21 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:22:43: error: extra argument 'default' in call
20 |     private var title: String
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
   |                                           `- error: extra argument 'default' in call
23 |     private var body: String
24 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:28:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
26 |     private var badge: Int?
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:31:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
32 |     private var verbose: Bool
33 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
[51/59] Compiling PoesCore Send.swift
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:19:43: error: extra argument 'default' in call
17 |     private var bundleIdentifier: String
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
   |                                           `- error: extra argument 'default' in call
20 |     private var title: String
21 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:22:43: error: extra argument 'default' in call
20 |     private var title: String
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
   |                                           `- error: extra argument 'default' in call
23 |     private var body: String
24 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:28:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
26 |     private var badge: Int?
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:31:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
32 |     private var verbose: Bool
33 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:12:8: error: type 'Send' does not conform to protocol 'Decodable'
10 | import ArgumentParser
11 |
12 | struct Send: ParsableCommand, ShellInjectable {
   |        `- error: type 'Send' does not conform to protocol 'Decodable'
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   :
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
20 |     private var title: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
23 |     private var body: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
24 |
25 |     @Option(name: .shortAndLong, help: "The number to display in a badge on your app’s icon")
   :
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
29 |     private var isMutable: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
32 |     private var verbose: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
33 |
34 |     func run() throws {
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:14:23: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | struct Send: ParsableCommand, ShellInjectable {
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   |                       `- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
15 |
16 |     @Argument(help: "The bundle identifier of the app to push to")
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 8 |
 9 | import Foundation
10 | import ArgumentParser
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
11 |
12 | struct Send: ParsableCommand, ShellInjectable {
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   |                       |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 |     @Argument(help: "The bundle identifier of the app to push to")
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:45:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
43 |
44 |         let url = Foundation.URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent("payload.json")
45 |         FileManager.default.createFile(atPath: url.path, contents: jsonData, attributes: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
46 |
47 |         Log.message("Sending push notification...")
[52/59] Compiling PoesCore Shell.swift
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Shell.swift:58:16: warning: static property 'shell' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
56 |
57 | enum ShellInjector {
58 |     static var shell: ShellExecuting.Type = Shell.self
   |                |- warning: static property 'shell' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'shell' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'shell' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | }
60 |
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Shell.swift:24:9: warning: 'launchPath' is deprecated: renamed to 'executableURL'
22 | extension Process {
23 |     func shell(_ command: ShellCommand) -> String {
24 |         launchPath = "/bin/bash"
   |         |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
   |         `- note: use 'executableURL' instead
25 |         arguments = ["-c", command.rawValue]
26 |
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Shell.swift:29:9: warning: 'launch()' is deprecated: renamed to 'run'
27 |         let outputPipe = Pipe()
28 |         standardOutput = outputPipe
29 |         launch()
   |         |- warning: 'launch()' is deprecated: renamed to 'run'
   |         `- note: use 'run' instead
30 |
31 |         let data = outputPipe.fileHandleForReading.readDataToEndOfFile()
error: emit-module command failed with exit code 1 (use -v to see invocation)
[53/59] Compiling PoesCore Log.swift
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Log.swift:12:16: warning: static property 'isVerbose' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | enum Log {
12 |     static var isVerbose: Bool = false
   |                |- warning: static property 'isVerbose' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'isVerbose' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'isVerbose' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 |     static func debug(_ message: Any) {
[54/59] Compiling PoesCore Payload.swift
[55/59] Emitting module PoesCore
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Log.swift:12:16: warning: static property 'isVerbose' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | enum Log {
12 |     static var isVerbose: Bool = false
   |                |- warning: static property 'isVerbose' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'isVerbose' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'isVerbose' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 |     static func debug(_ message: Any) {
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Shell.swift:58:16: warning: static property 'shell' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
56 |
57 | enum ShellInjector {
58 |     static var shell: ShellExecuting.Type = Shell.self
   |                |- warning: static property 'shell' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'shell' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'shell' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | }
60 |
/host/spi-builder-workspace/Sources/PoesCore/Poes.swift:13:23: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | public struct Poes: ParsableCommand {
13 |     public static let configuration = CommandConfiguration(
   |                       `- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
14 |         abstract: "A Swift command-line tool to easily test push notifications to the iOS simulator",
15 |         subcommands: [Send.self])
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
/host/spi-builder-workspace/Sources/PoesCore/Poes.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 8 |
 9 | import Foundation
10 | import ArgumentParser
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
11 |
12 | public struct Poes: ParsableCommand {
13 |     public static let configuration = CommandConfiguration(
   |                       |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         abstract: "A Swift command-line tool to easily test push notifications to the iOS simulator",
15 |         subcommands: [Send.self])
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:19:43: error: extra argument 'default' in call
17 |     private var bundleIdentifier: String
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
   |                                           `- error: extra argument 'default' in call
20 |     private var title: String
21 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:22:43: error: extra argument 'default' in call
20 |     private var title: String
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
   |                                           `- error: extra argument 'default' in call
23 |     private var body: String
24 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:28:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
26 |     private var badge: Int?
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:31:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
32 |     private var verbose: Bool
33 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:12:8: error: type 'Send' does not conform to protocol 'Decodable'
10 | import ArgumentParser
11 |
12 | struct Send: ParsableCommand, ShellInjectable {
   |        `- error: type 'Send' does not conform to protocol 'Decodable'
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   :
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
20 |     private var title: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
23 |     private var body: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
24 |
25 |     @Option(name: .shortAndLong, help: "The number to display in a badge on your app’s icon")
   :
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
29 |     private var isMutable: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
32 |     private var verbose: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
33 |
34 |     func run() throws {
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:14:23: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | struct Send: ParsableCommand, ShellInjectable {
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   |                       `- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
15 |
16 |     @Argument(help: "The bundle identifier of the app to push to")
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 8 |
 9 | import Foundation
10 | import ArgumentParser
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
11 |
12 | struct Send: ParsableCommand, ShellInjectable {
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   |                       |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 |     @Argument(help: "The bundle identifier of the app to push to")
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/7] Write swift-version-24593BA9C3E375BF.txt
[2/9] Emitting module ArgumentParserToolInfo
[3/9] Compiling ArgumentParserToolInfo ToolInfo.swift
[5/43] Emitting module ArgumentParser
[6/47] Compiling ArgumentParser Option.swift
[7/47] Compiling ArgumentParser OptionGroup.swift
[8/47] Compiling ArgumentParser CommandConfiguration.swift
[9/47] Compiling ArgumentParser EnumerableFlag.swift
[10/47] Compiling ArgumentParser ExpressibleByArgument.swift
[11/47] Compiling ArgumentParser CollectionExtensions.swift
[12/47] Compiling ArgumentParser SequenceExtensions.swift
[13/47] Compiling ArgumentParser StringExtensions.swift
[14/47] Compiling ArgumentParser Tree.swift
[15/47] Compiling ArgumentParser ParsedValues.swift
[16/47] Compiling ArgumentParser ParserError.swift
[17/47] Compiling ArgumentParser SplitArguments.swift
[18/47] Compiling ArgumentParser DumpHelpGenerator.swift
[19/47] Compiling ArgumentParser BashCompletionsGenerator.swift
[20/47] Compiling ArgumentParser CompletionsGenerator.swift
[21/47] Compiling ArgumentParser FishCompletionsGenerator.swift
[22/47] Compiling ArgumentParser ZshCompletionsGenerator.swift
[23/47] Compiling ArgumentParser Argument.swift
[24/47] Compiling ArgumentParser HelpCommand.swift
[25/47] Compiling ArgumentParser HelpGenerator.swift
[26/47] Compiling ArgumentParser MessageInfo.swift
[27/47] Compiling ArgumentParser UsageGenerator.swift
[28/47] Compiling ArgumentParser ArgumentHelp.swift
[29/47] Compiling ArgumentParser CompletionKind.swift
[30/47] Compiling ArgumentParser Errors.swift
[31/47] Compiling ArgumentParser Flag.swift
[32/47] Compiling ArgumentParser NameSpecification.swift
[33/47] Compiling ArgumentParser ArgumentSet.swift
[34/47] Compiling ArgumentParser CommandParser.swift
[35/47] Compiling ArgumentParser InputOrigin.swift
[36/47] Compiling ArgumentParser Name.swift
[37/47] Compiling ArgumentParser Parsed.swift
[38/47] Compiling ArgumentParser ParsableArguments.swift
[39/47] Compiling ArgumentParser ParsableArgumentsValidation.swift
[40/47] Compiling ArgumentParser ParsableCommand.swift
[41/47] Compiling ArgumentParser ArgumentDecoder.swift
[42/47] Compiling ArgumentParser ArgumentDefinition.swift
[43/48] Wrapping AST for ArgumentParser for debugging
[45/54] Compiling PoesCore Payload.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[46/54] Emitting module PoesCore
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:19:43: error: extra argument 'default' in call
17 |     private var bundleIdentifier: String
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
   |                                           `- error: extra argument 'default' in call
20 |     private var title: String
21 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:22:43: error: extra argument 'default' in call
20 |     private var title: String
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
   |                                           `- error: extra argument 'default' in call
23 |     private var body: String
24 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:28:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
26 |     private var badge: Int?
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:31:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
32 |     private var verbose: Bool
33 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:12:8: error: type 'Send' does not conform to protocol 'Decodable'
10 | import ArgumentParser
11 |
12 | struct Send: ParsableCommand, ShellInjectable {
   |        `- error: type 'Send' does not conform to protocol 'Decodable'
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   :
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
20 |     private var title: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
23 |     private var body: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
24 |
25 |     @Option(name: .shortAndLong, help: "The number to display in a badge on your app’s icon")
   :
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
29 |     private var isMutable: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
32 |     private var verbose: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
33 |
34 |     func run() throws {
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
[47/54] Compiling PoesCore Log.swift
[48/54] Compiling PoesCore Shell.swift
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Shell.swift:24:9: warning: 'launchPath' is deprecated: renamed to 'executableURL'
22 | extension Process {
23 |     func shell(_ command: ShellCommand) -> String {
24 |         launchPath = "/bin/bash"
   |         |- warning: 'launchPath' is deprecated: renamed to 'executableURL'
   |         `- note: use 'executableURL' instead
25 |         arguments = ["-c", command.rawValue]
26 |
/host/spi-builder-workspace/Sources/PoesCore/Helpers/Shell.swift:29:9: warning: 'launch()' is deprecated: renamed to 'run'
27 |         let outputPipe = Pipe()
28 |         standardOutput = outputPipe
29 |         launch()
   |         |- warning: 'launch()' is deprecated: renamed to 'run'
   |         `- note: use 'run' instead
30 |
31 |         let data = outputPipe.fileHandleForReading.readDataToEndOfFile()
[49/54] Compiling PoesCore Poes.swift
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:19:43: error: extra argument 'default' in call
17 |     private var bundleIdentifier: String
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
   |                                           `- error: extra argument 'default' in call
20 |     private var title: String
21 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:22:43: error: extra argument 'default' in call
20 |     private var title: String
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
   |                                           `- error: extra argument 'default' in call
23 |     private var body: String
24 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:28:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
26 |     private var badge: Int?
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:31:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
32 |     private var verbose: Bool
33 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
[50/54] Compiling PoesCore Send.swift
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:19:43: error: extra argument 'default' in call
17 |     private var bundleIdentifier: String
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
   |                                           `- error: extra argument 'default' in call
20 |     private var title: String
21 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:22:43: error: extra argument 'default' in call
20 |     private var title: String
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
   |                                           `- error: extra argument 'default' in call
23 |     private var body: String
24 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:28:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
26 |     private var badge: Int?
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:31:6: error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
29 |     private var isMutable: Bool
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
   |      `- error: referencing initializer 'init(name:help:)' on 'Flag' requires the types 'Bool' and 'Int' be equivalent
32 |     private var verbose: Bool
33 |
/host/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Properties/Flag.swift:298:1: note: where 'Value' = 'Bool'
296 | }
297 |
298 | extension Flag where Value == Int {
    | `- note: where 'Value' = 'Bool'
299 |   /// Creates an integer property that gets its value from the number of times
300 |   /// a flag appears.
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:12:8: error: type 'Send' does not conform to protocol 'Decodable'
10 | import ArgumentParser
11 |
12 | struct Send: ParsableCommand, ShellInjectable {
   |        `- error: type 'Send' does not conform to protocol 'Decodable'
13 |
14 |     public static let configuration = CommandConfiguration(abstract: "Send a push notification to an app installed on the iOS Simulator")
   :
18 |
19 |     @Option(name: .shortAndLong, default: "Default Title", help: "The title of the Push notification")
20 |     private var title: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
21 |
22 |     @Option(name: .shortAndLong, default: "Default Body", help: "The body of the Push notification")
23 |     private var body: String
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
24 |
25 |     @Option(name: .shortAndLong, help: "The number to display in a badge on your app’s icon")
   :
27 |
28 |     @Flag(name: .shortAndLong, help: "Adds the mutable-content key to the payload")
29 |     private var isMutable: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 |     @Flag(name: .long, help: "Show extra logging for debugging purposes")
32 |     private var verbose: Bool
   |                 `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
33 |
34 |     func run() throws {
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
  | `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/PoesCore/Send.swift:45:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
43 |
44 |         let url = Foundation.URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent("payload.json")
45 |         FileManager.default.createFile(atPath: url.path, contents: jsonData, attributes: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
46 |
47 |         Log.message("Sending push notification...")
BUILD FAILURE 6.1 linux