The Swift Package Index logo.Swift Package Index

Build Information

Successful build of swift-rtmp-kit, reference main (163eea), with Swift 6.4 for Linux on 25 Sep 2026 10:43:34 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/atelier-socle/swift-rtmp-kit.git
Reference: main
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/atelier-socle/swift-rtmp-kit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 163eea4 ci: Swift 6.2/6.3 matrix, bump all GitHub Actions to Node 24
Cloned https://github.com/atelier-socle/swift-rtmp-kit.git
Revision (git rev-parse @):
163eea45fe8d66b0047d028c92de9ef993bd2ace
SUCCESS checkout https://github.com/atelier-socle/swift-rtmp-kit.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.4
Building package at path:  $PWD
https://github.com/atelier-socle/swift-rtmp-kit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/swiftlang/swift-docc-plugin.git
Fetching https://github.com/apple/swift-crypto.git
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/apple/swift-argument-parser.git
[1/18549] Fetching swift-crypto
[2/34614] Fetching swift-crypto, swift-nio-ssl
[373/36959] Fetching swift-crypto, swift-nio-ssl, swift-docc-plugin
[6772/55900] Fetching swift-crypto, swift-nio-ssl, swift-docc-plugin, swift-argument-parser
[45700/142000] Fetching swift-crypto, swift-nio-ssl, swift-docc-plugin, swift-argument-parser, swift-nio
Fetched https://github.com/apple/swift-argument-parser.git (1.07s)
Fetched https://github.com/apple/swift-nio-ssl.git (1.08s)
[28643/106994] Fetching swift-crypto, swift-docc-plugin, swift-nio
Fetched https://github.com/swiftlang/swift-docc-plugin.git (1.25s)
[54711/104649] Fetching swift-crypto, swift-nio
Fetched https://github.com/apple/swift-crypto.git (1.26s)
[37884/86100] Fetching swift-nio
Fetched https://github.com/apple/swift-nio.git (3.03s)
Computing version for https://github.com/swiftlang/swift-docc-plugin.git
Computed https://github.com/swiftlang/swift-docc-plugin.git at 1.5.0 (4.10s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3830] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.62s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.84s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.17s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.37.5 (0.23s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.103.0 (0.34s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
[1/1881] Fetching swift-atomics
[472/8833] Fetching swift-atomics, swift-system
Fetched https://github.com/apple/swift-atomics.git (0.57s)
[6952/6952] Fetching swift-system
[6953/34675] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git (1.32s)
Fetched https://github.com/apple/swift-collections.git (1.33s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (1.51s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.0 (0.29s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (0.21s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.15.1 (0.26s)
Fetching https://github.com/apple/swift-asn1.git
[1/1983] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.65s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (1.74s)
Creating working copy for https://github.com/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.37.5
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 3.15.1
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.8.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.103.0
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin.git
Working copy of https://github.com/swiftlang/swift-docc-plugin.git resolved at 1.5.0
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 1017]
[Planning deferred tasks]
[Writing build description]
[182 / 1109] _NIOBase64
[197 / 1139] _NIODataStructures
[198 / 1139] _NIOBase64
[205 / 1139] _NIODataStructures
[215 / 1139] CryptoBoringWrapper
[226 / 1139] NIOConcurrencyHelpers-product
[229 / 1140] _NIOBase64
[233 / 1140] InternalCollectionsUtilities
[235 / 1140] InternalCollectionsUtilities
[238 / 1140] NIOConcurrencyHelpers
[241 / 1140] NIOConcurrencyHelpers
[243 / 1141] NIOConcurrencyHelpers
[247 / 1142] CryptoBoringWrapper
[249 / 1142] Crypto
[257 / 1142] _AtomicsShims
[272 / 1157] Crypto
[277 / 1169] Atomics
[278 / 1169] CNIOBoringSSL
[281 / 1169] CryptoBoringWrapper
[282 / 1170] CNIOBoringSSL
[287 / 1170] CNIOBoringSSL
[290 / 1170] Crypto
[294 / 1170] CNIOBoringSSL
[304 / 1170] CNIOBoringSSL
[307 / 1170] CNIOBoringSSL
[308 / 1170] CNIOBoringSSL
[316 / 1170] CNIOBoringSSL
[319 / 1170] CNIOBoringSSL
[322 / 1170] CNIOBoringSSL
[325 / 1170] CNIOBoringSSL
[327 / 1170] CNIOBoringSSL
[333 / 1170] CNIOBoringSSL
[339 / 1170] CNIOBoringSSL
[342 / 1170] CNIOBoringSSL
[344 / 1170] CNIOBoringSSL
[347 / 1170] CNIOBoringSSL
[350 / 1170] CNIOBoringSSL
[353 / 1170] CNIOBoringSSL
[356 / 1170] CNIOBoringSSL
[358 / 1170] CNIOBoringSSL
[362 / 1170] CNIOBoringSSL
[363 / 1170] CNIOBoringSSL
[368 / 1170] CNIOBoringSSL
[370 / 1170] CNIOBoringSSL
[371 / 1170] CNIOBoringSSL
[373 / 1170] CNIOBoringSSL
[376 / 1170] CNIOBoringSSL
[377 / 1170] CNIOBoringSSL
[379 / 1170] CNIOBoringSSL
[385 / 1170] CNIOBoringSSL
[386 / 1170] CNIOBoringSSL
[388 / 1170] CNIOBoringSSL
[389 / 1170] CNIOBoringSSL
[392 / 1170] CNIOBoringSSL
[393 / 1170] CNIOBoringSSL
[397 / 1170] CNIOBoringSSL
[398 / 1170] CNIOBoringSSL
[399 / 1170] CNIOBoringSSL
[401 / 1170] CNIOBoringSSL
[402 / 1170] CNIOBoringSSL
[404 / 1170] CNIOBoringSSL
[409 / 1170] CNIOBoringSSL
[413 / 1170] CNIOBoringSSL
[425 / 1170] CNIOBoringSSL
[439 / 1170] CNIOBoringSSL
[445 / 1170] CNIOBoringSSL
[447 / 1170] CNIOBoringSSL
[451 / 1170] CNIOBoringSSL
[453 / 1170] CNIOBoringSSL
[456 / 1170] CNIOBoringSSL
[458 / 1170] CNIOBoringSSL
[462 / 1170] CNIOBoringSSL
[466 / 1170] CNIOBoringSSL
[467 / 1170] CNIOBoringSSL
[470 / 1170] CNIOBoringSSL
[474 / 1170] CNIOBoringSSL
[476 / 1170] CNIOBoringSSL
[478 / 1170] CNIOBoringSSL
[480 / 1170] CNIOBoringSSL
[484 / 1170] CNIOBoringSSL
[486 / 1170] CNIOBoringSSL
[489 / 1170] CNIOBoringSSL
[496 / 1170] CNIOBoringSSL
[505 / 1170] CNIOBoringSSL
[507 / 1170] CNIOBoringSSL
[509 / 1170] CNIOBoringSSL
[516 / 1170] CNIOBoringSSL
[518 / 1170] CNIOBoringSSL
[523 / 1170] CNIOBoringSSL
[524 / 1170] CNIOBoringSSL
[530 / 1170] CNIOBoringSSL
[542 / 1170] CNIOBoringSSL
[544 / 1170] CNIOBoringSSL
[552 / 1170] CNIOBoringSSL
[554 / 1170] CNIOBoringSSL
[557 / 1170] CNIOBoringSSL
[559 / 1170] CNIOBoringSSL
[562 / 1170] CNIOBoringSSL
[566 / 1170] CNIOBoringSSL
[569 / 1170] CNIOBoringSSL
[571 / 1170] CNIOBoringSSL
[574 / 1170] CNIOBoringSSL
[578 / 1170] CNIOBoringSSL
[580 / 1170] CNIOBoringSSL
[582 / 1170] CNIOBoringSSL
[585 / 1170] CNIOBoringSSL
[588 / 1170] CNIOBoringSSL
[590 / 1170] CNIOBoringSSL
[593 / 1170] CNIOBoringSSL
[595 / 1170] CNIOBoringSSL
[601 / 1170] CNIOBoringSSL
[609 / 1170] CNIOBoringSSL
[621 / 1170] CNIOBoringSSL
[626 / 1170] CNIOBoringSSL
[631 / 1170] CNIOBoringSSL
[633 / 1170] CNIOBoringSSL
[635 / 1170] CNIOBoringSSL
[638 / 1170] CNIOBoringSSL
[641 / 1170] CNIOBoringSSL
[646 / 1170] CNIOBoringSSL
[654 / 1170] CNIOBoringSSL
[664 / 1170] CNIOBoringSSL
[673 / 1170] CNIOBoringSSL
[675 / 1170] CNIOBoringSSL
[678 / 1170] CNIOBoringSSL
[681 / 1170] CNIOBoringSSL
[682 / 1170] CNIOBoringSSL
[686 / 1170] SpanPreview
[693 / 1170] InternalCollectionsUtilities
[696 / 1170] CNIOBoringSSL
[698 / 1170] CNIOBoringSSL
[699 / 1170] CNIOOpenBSD
[700 / 1170] CNIOOpenBSD
[702 / 1170] Crypto
[704 / 1170] Atomics
[707 / 1170] Atomics-product
[712 / 1173] ArgumentParserToolInfo
[715 / 1173] CCryptoBoringSSL
[717 / 1173] CCryptoBoringSSL
[725 / 1174] CCryptoBoringSSL
[726 / 1174] CCryptoBoringSSL
[729 / 1174] CCryptoBoringSSL
[733 / 1174] CCryptoBoringSSL
[736 / 1175] CCryptoBoringSSL
[742 / 1175] CCryptoBoringSSL
[743 / 1175] CCryptoBoringSSL
[745 / 1175] CCryptoBoringSSL
[747 / 1175] CCryptoBoringSSL
[750 / 1175] CCryptoBoringSSL
[752 / 1175] CCryptoBoringSSL
[754 / 1175] CCryptoBoringSSL
[758 / 1175] CCryptoBoringSSL
[759 / 1175] CCryptoBoringSSL
[766 / 1175] CCryptoBoringSSL
[772 / 1175] CCryptoBoringSSL
[775 / 1175] CCryptoBoringSSL
[777 / 1175] CCryptoBoringSSL
[780 / 1175] CCryptoBoringSSL
[784 / 1175] CCryptoBoringSSL
[786 / 1175] CCryptoBoringSSL
[788 / 1175] CCryptoBoringSSL
[791 / 1175] CCryptoBoringSSL
[793 / 1175] CCryptoBoringSSL
[797 / 1175] CCryptoBoringSSL
[801 / 1175] CCryptoBoringSSL
[805 / 1175] CCryptoBoringSSL
[807 / 1175] CCryptoBoringSSL
[811 / 1175] CCryptoBoringSSL
[813 / 1175] CCryptoBoringSSL
[816 / 1175] CCryptoBoringSSL
[817 / 1175] CCryptoBoringSSL
[828 / 1175] CCryptoBoringSSL
[839 / 1175] CCryptoBoringSSL
[854 / 1175] CCryptoBoringSSL
[857 / 1175] CCryptoBoringSSL
[860 / 1175] CCryptoBoringSSL
[864 / 1175] CCryptoBoringSSL
[868 / 1175] CCryptoBoringSSL
[870 / 1175] CCryptoBoringSSL
[875 / 1175] CCryptoBoringSSL
[877 / 1175] CCryptoBoringSSL
[883 / 1175] CCryptoBoringSSL
[885 / 1175] CCryptoBoringSSL
[887 / 1175] CCryptoBoringSSL
[891 / 1175] CCryptoBoringSSL
[893 / 1175] CCryptoBoringSSL
[895 / 1175] CCryptoBoringSSL
[899 / 1175] CCryptoBoringSSL
[906 / 1175] CCryptoBoringSSL
[913 / 1175] CCryptoBoringSSL
[916 / 1175] CCryptoBoringSSL
[923 / 1175] CCryptoBoringSSL
[929 / 1175] CCryptoBoringSSL
[938 / 1175] CCryptoBoringSSL
[948 / 1175] CCryptoBoringSSL
[961 / 1175] CCryptoBoringSSL
[968 / 1175] CCryptoBoringSSL
[972 / 1175] CCryptoBoringSSL
[974 / 1175] CCryptoBoringSSL
[977 / 1175] CCryptoBoringSSL
[981 / 1175] CCryptoBoringSSL
[983 / 1175] CCryptoBoringSSL
[988 / 1175] CCryptoBoringSSL
[992 / 1175] CCryptoBoringSSL
[994 / 1175] CCryptoBoringSSL
[999 / 1175] CCryptoBoringSSL
[1001 / 1175] CCryptoBoringSSL
[1008 / 1175] CCryptoBoringSSL
[1018 / 1175] CCryptoBoringSSL
[1024 / 1175] CCryptoBoringSSL
[1028 / 1175] CCryptoBoringSSL
[1032 / 1175] CCryptoBoringSSL
[1035 / 1175] CCryptoBoringSSL
[1037 / 1175] CCryptoBoringSSL
[1041 / 1175] CCryptoBoringSSL
[1044 / 1175] CCryptoBoringSSL
[1053 / 1175] CCryptoBoringSSL
[1060 / 1175] CCryptoBoringSSL
[1068 / 1175] CCryptoBoringSSL
[1072 / 1175] CCryptoBoringSSL
[1074 / 1175] CCryptoBoringSSL
[1076 / 1175] CCryptoBoringSSL
[1077 / 1175] CCryptoBoringSSL
[1081 / 1175] CCryptoBoringSSL
[1085 / 1175] CCryptoBoringSSL
[1091 / 1175] CCryptoBoringSSL
[1096 / 1177]
[1100 / 1195] ArgumentParser
[1102 / 1195] DequeModule
[1103 / 1195] DequeModule
[1103 / 1195] ArgumentParserToolInfo
[1106 / 1196] DequeModule
[1108 / 1196] ArgumentParser
[1109 / 1196] ArgumentParserToolInfo
[1112 / 1196] ArgumentParser
[1112 / 1196] DequeModule
[1113 / 1196] ArgumentParser
[1115 / 1196] ArgumentParser
[1117 / 1196] ArgumentParser
[1121 / 1196] DequeModule
[1122 / 1197] ArgumentParser
[1122 / 1197] DequeModule
[1136 / 1207] NIOCore
[1137 / 1207] NIOCore
[1138 / 1207] NIOCore
[1139 / 1208] NIOCore
[1140 / 1208] NIOCore
[1141 / 1208] ArgumentParser
[1143 / 1208] ArgumentParser
[1143 / 1208] CCryptoBoringSSL
[1144 / 1208] CCryptoBoringSSL
[1147 / 1208] NIOCore
[1147 / 1209] NIOCore
[1165 / 1224] NIOPosix
[1166 / 1224] NIOPosix
[1166 / 1224] NIOEmbedded
[1169 / 1224] NIOEmbedded
[1173 / 1224] NIOEmbedded
[1174 / 1225] NIOPosix
[1175 / 1225] NIOEmbedded
[1178 / 1225] NIOPosix
[1186 / 1228] NIO
[1199 / 1236] NIOTLS
[1206 / 1237] NIOTLS
[1210 / 1246] NIOSSL
[1212 / 1247] NIOTLS
[1213 / 1247] NIOPosix
[1216 / 1247] NIOSSL
[1218 / 1248] NIOPosix
[1226 / 1249] RTMPKit
[1228 / 1249] RTMPKit
[1233 / 1258] RTMPKit
[1234 / 1258] RTMPKit
[1235 / 1258] RTMPKit
[1236 / 1258] RTMPKit
[1237 / 1259] RTMPKit
[1239 / 1259] NIOSSL
[1246 / 1260]
[1248 / 1269] RTMPKitCommands
[1249 / 1269] RTMPKitCommands
[1255 / 1269] RTMPKitCommands
[1256 / 1269] RTMPKitCommands
[1258 / 1269] rtmp-cli-product
[1260 / 1269] RTMPKitCommands
[1263 / 1272] rtmp-cli-product
[1264 / 1272] rtmp-cli-product
[1267 / 1273] rtmp-cli-product
[1267 / 1273] RTMPKitCommands
/host/spi-builder-workspace/Sources/RTMPKitCommands/Commands/ServerCommand.swift:245:25: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
243 |     let info = ServerPIDInfo(pid: getpid(), port: port)
244 |     guard let data = try? JSONEncoder().encode(info) else { return }
245 |     FileManager.default.createFile(
    |                         `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
246 |         atPath: pidFilePath, contents: data
247 |     )
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/host/spi-builder-workspace/Sources/RTMPKit/Publisher/RTMPPublisher+QualityScore.swift:74:53: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
 71 |         qualityMonitor = monitor
 72 |
 73 |         Task {
    |              |- note: 'self' implicitly strongly captured here
    |              `- note: add 'self' as a capture list item to silence
 74 |             await monitor.setWarningHandler { [weak self] dimension, score in
    |                                                     |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                                     `- note: explicitly assign the capture list item to silence
 75 |                 Task { [weak self] in
 76 |                     await self?.emitEvent(
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
[1269 / 1274] RTMPKit
[1274 / 1275] RTMPKitCommands
[1275 / 1275] rtmp-cli-product
Build complete! (62.77 secs)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.77.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-nio-ssl",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.29.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio-ssl.git"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin.git"
    }
  ],
  "manifest_display_name" : "swift-rtmp-kit",
  "name" : "swift-rtmp-kit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    },
    {
      "name" : "tvos",
      "version" : "17.0"
    },
    {
      "name" : "watchos",
      "version" : "10.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "RTMPKit",
      "targets" : [
        "RTMPKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "rtmp-cli",
      "targets" : [
        "RTMPKitCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RTMPKitTests",
      "module_type" : "SwiftTarget",
      "name" : "RTMPKitTests",
      "path" : "Tests/RTMPKitTests",
      "product_dependencies" : [
        "NIOCore",
        "NIOEmbedded",
        "NIOPosix"
      ],
      "sources" : [
        "AMF/AMF0CoverageTests.swift",
        "AMF/AMF0DecoderTests.swift",
        "AMF/AMF0EncoderTests.swift",
        "AMF/AMF0RoundtripTests.swift",
        "AMF/AMF0ValueTests.swift",
        "AMF/AMF3CoverageTests.swift",
        "AMF/AMF3DecoderTests.swift",
        "AMF/AMF3EncoderTests.swift",
        "AMF/AMF3ReferenceTableTests.swift",
        "AMF/AMF3RoundTripTests.swift",
        "AMF/AMF3TraitsTests.swift",
        "AMF/AMF3ValueTests.swift",
        "AdaptiveBitrate/AdaptiveBitrateConfigurationTests.swift",
        "AdaptiveBitrate/AdaptiveBitratePolicyTests.swift",
        "AdaptiveBitrate/BitrateChangeReasonTests.swift",
        "AdaptiveBitrate/BitrateRecommendationTests.swift",
        "AdaptiveBitrate/FrameDroppingStrategyTests.swift",
        "AdaptiveBitrate/NetworkConditionMonitorTests.swift",
        "Authentication/AdobeAuthCoverageTests.swift",
        "Authentication/AdobeChallengeAuthTests.swift",
        "Authentication/AuthCryptoTests.swift",
        "Authentication/RTMPAuthenticationTests.swift",
        "Authentication/SimpleAuthTests.swift",
        "Authentication/TokenAuthTests.swift",
        "Chunk/ChunkAssemblerInlineChunkSizeTests.swift",
        "Chunk/ChunkAssemblerTests.swift",
        "Chunk/ChunkCoverageTests.swift",
        "Chunk/ChunkDisassemblerFmtTests.swift",
        "Chunk/ChunkDisassemblerTests.swift",
        "Chunk/ChunkHeaderCoverageTests.swift",
        "Chunk/ChunkHeaderParseTests.swift",
        "Chunk/ChunkHeaderSerializeTests.swift",
        "Chunk/ChunkRoundtripTests.swift",
        "Chunk/ChunkStreamIDTests.swift",
        "Chunk/ChunkStreamTests.swift",
        "Chunk/RTMPMessageTests.swift",
        "Configuration/PlatformPresetCoverageTests.swift",
        "Configuration/PlatformPresetTests.swift",
        "Configuration/PlatformPresetsExpansionTests.swift",
        "Configuration/RTMPConfigurationTests.swift",
        "Configuration/ReconnectPolicyTests.swift",
        "Configuration/StreamingPlatformRegistryCoverageTests.swift",
        "Configuration/StreamingPlatformRegistryTests.swift",
        "Configuration/TwitchIngestServerTests.swift",
        "Enhanced/EnhancedRTMPTests.swift",
        "Enhanced/ExAudioHeaderTests.swift",
        "Enhanced/ExVideoHeaderTests.swift",
        "Enhanced/FourCCTests.swift",
        "Extensions/ByteBufferRTMPTests.swift",
        "FLV/FLVAudioTagTests.swift",
        "FLV/FLVCodecProbeCoverageTests.swift",
        "FLV/FLVCodecProbeTests.swift",
        "FLV/FLVHeaderTests.swift",
        "FLV/FLVScriptTagTests.swift",
        "FLV/FLVVideoTagConfigRecordTests.swift",
        "FLV/FLVVideoTagTests.swift",
        "Handshake/HandshakeBytesTests.swift",
        "Handshake/HandshakeValidatorTests.swift",
        "Handshake/RTMPHandshakeTests.swift",
        "Integration/NIOTransportIntegrationTests.swift",
        "Message/RTMPCommandCoverageTests.swift",
        "Message/RTMPCommandTests.swift",
        "Message/RTMPControlMessageTests.swift",
        "Message/RTMPDataMessageTests.swift",
        "Message/RTMPUserControlEventTests.swift",
        "Metadata/CaptionDataTests.swift",
        "Metadata/CuePointTests.swift",
        "Metadata/MetadataUpdaterTests.swift",
        "Metadata/StreamMetadataExtendedTests.swift",
        "Metadata/TimedMetadataTests.swift",
        "Metrics/MetricsCoverageTests.swift",
        "Metrics/PrometheusExporterFixTests.swift",
        "Metrics/PrometheusExporterTests.swift",
        "Metrics/RTMPPublisherStatisticsTests.swift",
        "Metrics/RTMPServerStatisticsTests.swift",
        "Metrics/StatsDExporterFixTests.swift",
        "Metrics/StatsDExporterTests.swift",
        "Monitoring/ConnectionMonitorCoverageTests.swift",
        "Monitoring/ConnectionMonitorTests.swift",
        "Monitoring/ConnectionStatisticsTests.swift",
        "MultiPublisher/DestinationStateTests.swift",
        "MultiPublisher/MultiPublisherCoreTests.swift",
        "MultiPublisher/MultiPublisherCoverageTests.swift",
        "MultiPublisher/MultiPublisherStatisticsTests.swift",
        "MultiPublisher/PublishDestinationTests.swift",
        "Probing/BandwidthProbeCoverageTests.swift",
        "Probing/BandwidthProbeTests.swift",
        "Probing/ProbeConfigurationTests.swift",
        "Probing/ProbeResultTests.swift",
        "Probing/QualityPresetSelectorTests.swift",
        "Publisher/AVInterleaverTests.swift",
        "Publisher/ManualTestingFixTests.swift",
        "Publisher/PatchRound2Tests.swift",
        "Publisher/PublisherInternalCoverageTests.swift",
        "Publisher/PublisherMetadataCoverageTests.swift",
        "Publisher/PublisherQualityScoreCoverageTests.swift",
        "Publisher/RTMPConnectionTests.swift",
        "Publisher/RTMPPublisherConfigTests.swift",
        "Publisher/RTMPPublisherFixTests.swift",
        "Publisher/RTMPPublisherInternalTests.swift",
        "Publisher/RTMPPublisherPayloadTests.swift",
        "Publisher/RTMPPublisherTests.swift",
        "Publisher/RTMPSessionTests.swift",
        "Publisher/StreamKeyCoverageTests.swift",
        "Publisher/StreamKeyTests.swift",
        "QualityScore/ConnectionQualityMonitorTests.swift",
        "QualityScore/ConnectionQualityScoreTests.swift",
        "QualityScore/QualityDimensionTests.swift",
        "QualityScore/QualityReportTests.swift",
        "QualityScore/QualityScoreCoverageTests.swift",
        "RTMPErrorTests.swift",
        "RTMPKitTests.swift",
        "RTMPStatusCodeTests.swift",
        "Recording/ElementaryStreamWriterTests.swift",
        "Recording/FLVWriterTests.swift",
        "Recording/RecordingConfigurationTests.swift",
        "Recording/RecordingCoverageTests.swift",
        "Recording/RecordingSegmentTests.swift",
        "Recording/StreamRecorderTests.swift",
        "Server/RTMPConnectionRateLimiterTests.swift",
        "Server/RTMPServerAccessControlTests.swift",
        "Server/RTMPServerConfigurationTests.swift",
        "Server/RTMPServerSecurityPolicyTests.swift",
        "Server/RTMPServerSessionTests.swift",
        "Server/RTMPServerStreamManagementTests.swift",
        "Server/RTMPServerTests.swift",
        "Server/RTMPStreamDVRTests.swift",
        "Server/RTMPStreamRelayTests.swift",
        "Server/ServerCoverageTests.swift",
        "Server/ServerHandshakeTests.swift",
        "Server/StreamKeyValidatorTests.swift",
        "Showcase/AMF0ShowcaseTests.swift",
        "Showcase/AMF3ShowcaseTests.swift",
        "Showcase/AdaptiveBitrateShowcaseTests.swift",
        "Showcase/AuthenticationShowcaseTests.swift",
        "Showcase/BandwidthProbeShowcaseTests.swift",
        "Showcase/ChunkStreamShowcaseTests.swift",
        "Showcase/ConfigurationShowcaseTests.swift",
        "Showcase/ConnectionQualityShowcaseTests.swift",
        "Showcase/EnhancedRTMPShowcaseTests.swift",
        "Showcase/FLVCodecProbeShowcaseTests.swift",
        "Showcase/FLVShowcaseTests.swift",
        "Showcase/HandshakeShowcaseTests.swift",
        "Showcase/MetadataShowcaseTests.swift",
        "Showcase/MetricsExportShowcaseTests.swift",
        "Showcase/MonitoringShowcaseTests.swift",
        "Showcase/MultiPublisherShowcaseTests.swift",
        "Showcase/PlatformPresetsShowcaseTests.swift",
        "Showcase/PublisherShowcaseTests.swift",
        "Showcase/RTMPServerAdvancedShowcaseTests.swift",
        "Showcase/RTMPServerSecurityShowcaseTests.swift",
        "Showcase/RTMPServerShowcaseTests.swift",
        "Showcase/StreamRecordingShowcaseTests.swift",
        "Showcase/TransportShowcaseTests.swift",
        "Transport/MockTransport.swift",
        "Transport/NIOTransportCoverageTests.swift",
        "Transport/NIOTransportTests.swift",
        "Transport/RTMPChannelHandlerTests.swift",
        "Transport/RTMPTransportProtocolTests.swift",
        "Transport/TLSConfigurationRTMPTests.swift",
        "Transport/TransportConfigurationTests.swift"
      ],
      "target_dependencies" : [
        "RTMPKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RTMPKitCommandsTests",
      "module_type" : "SwiftTarget",
      "name" : "RTMPKitCommandsTests",
      "path" : "Tests/RTMPKitCommandsTests",
      "product_dependencies" : [
        "NIOCore",
        "NIOPosix"
      ],
      "sources" : [
        "DestinationArgumentFixTests.swift",
        "Helpers/ColorOutputTests.swift",
        "Helpers/MediaFileReaderTests.swift",
        "Helpers/ProgressDisplayCoverageTests.swift",
        "Helpers/ProgressDisplayTests.swift",
        "InfoCommandHelperTests.swift",
        "InfoCommandTests.swift",
        "Integration/CLIIntegrationTests.swift",
        "MultiDestinationCLITests.swift",
        "ProbeCommandTests.swift",
        "PublishCommandAuthTests.swift",
        "PublishCommandBuildConfigTests.swift",
        "PublishCommandDetectionTests.swift",
        "PublishCommandTests.swift",
        "RTMPKitCommandsTests.swift",
        "RecordCommandTests.swift",
        "ServerCommandTests.swift",
        "TestConnectionBuildConfigTests.swift",
        "TestConnectionCommandTests.swift"
      ],
      "target_dependencies" : [
        "RTMPKitCommands",
        "RTMPKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RTMPKitCommands",
      "module_type" : "SwiftTarget",
      "name" : "RTMPKitCommands",
      "path" : "Sources/RTMPKitCommands",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "rtmp-cli"
      ],
      "sources" : [
        "Commands/InfoCommand.swift",
        "Commands/ProbeCommand.swift",
        "Commands/PublishCommand.swift",
        "Commands/RecordCommand.swift",
        "Commands/ServerCommand.swift",
        "Commands/TestConnectionCommand.swift",
        "Helpers/ColorOutput.swift",
        "Helpers/DestinationArgument.swift",
        "Helpers/MediaFileReader.swift",
        "Helpers/ProgressDisplay.swift",
        "RTMPKitCommand.swift"
      ],
      "target_dependencies" : [
        "RTMPKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RTMPKitCLI",
      "module_type" : "SwiftTarget",
      "name" : "RTMPKitCLI",
      "path" : "Sources/RTMPKitCLI",
      "product_memberships" : [
        "rtmp-cli"
      ],
      "sources" : [
        "EntryPoint.swift"
      ],
      "target_dependencies" : [
        "RTMPKitCommands"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "RTMPKit",
      "module_type" : "SwiftTarget",
      "name" : "RTMPKit",
      "path" : "Sources/RTMPKit",
      "product_dependencies" : [
        "NIO",
        "NIOCore",
        "NIOPosix",
        "NIOSSL",
        "Crypto"
      ],
      "product_memberships" : [
        "RTMPKit",
        "rtmp-cli"
      ],
      "sources" : [
        "AMF/AMF0Decoder.swift",
        "AMF/AMF0Encoder.swift",
        "AMF/AMF0Error.swift",
        "AMF/AMF0Value.swift",
        "AMF/AMF3Decoder.swift",
        "AMF/AMF3Encoder.swift",
        "AMF/AMF3ReferenceTable.swift",
        "AMF/AMF3Traits.swift",
        "AMF/AMF3Value.swift",
        "AdaptiveBitrate/AdaptiveBitrateConfiguration.swift",
        "AdaptiveBitrate/AdaptiveBitratePolicy.swift",
        "AdaptiveBitrate/BitrateChangeReason.swift",
        "AdaptiveBitrate/BitrateRecommendation.swift",
        "AdaptiveBitrate/FrameDroppingStrategy.swift",
        "AdaptiveBitrate/NetworkConditionMonitor.swift",
        "Authentication/AdobeChallengeAuth.swift",
        "Authentication/AuthCrypto.swift",
        "Authentication/RTMPAuthentication.swift",
        "Authentication/SimpleAuth.swift",
        "Authentication/TokenAuth.swift",
        "Chunk/ChunkAssembler.swift",
        "Chunk/ChunkDisassembler.swift",
        "Chunk/ChunkError.swift",
        "Chunk/ChunkHeader.swift",
        "Chunk/ChunkStream.swift",
        "Chunk/ChunkStreamID.swift",
        "Chunk/RTMPMessage.swift",
        "Configuration/ObjectEncoding.swift",
        "Configuration/PlatformPreset.swift",
        "Configuration/RTMPConfiguration.swift",
        "Configuration/ReconnectPolicy.swift",
        "Configuration/StreamingPlatformRegistry.swift",
        "Configuration/TwitchIngestServer.swift",
        "Enhanced/EnhancedRTMP.swift",
        "Enhanced/ExAudioHeader.swift",
        "Enhanced/ExVideoHeader.swift",
        "Enhanced/FourCC.swift",
        "Enhanced/MultitrackHeader.swift",
        "Extensions/ByteBuffer+RTMP.swift",
        "Extensions/UInt24.swift",
        "FLV/FLVAudioTag.swift",
        "FLV/FLVCodecProbe.swift",
        "FLV/FLVHeader.swift",
        "FLV/FLVScriptTag.swift",
        "FLV/FLVTag.swift",
        "FLV/FLVVideoTag.swift",
        "Handshake/HandshakeBytes.swift",
        "Handshake/HandshakeValidator.swift",
        "Handshake/RTMPHandshake.swift",
        "Message/RTMPCommand.swift",
        "Message/RTMPControlMessage.swift",
        "Message/RTMPDataMessage.swift",
        "Message/RTMPUserControlEvent.swift",
        "Metadata/CaptionData.swift",
        "Metadata/CuePoint.swift",
        "Metadata/MetadataUpdater.swift",
        "Metadata/StreamMetadata+Factories.swift",
        "Metadata/TimedMetadata.swift",
        "Metrics/PrometheusExporter.swift",
        "Metrics/RTMPMetricsExporter.swift",
        "Metrics/RTMPPublisherStatistics.swift",
        "Metrics/RTMPServerStatistics.swift",
        "Metrics/StatsDExporter.swift",
        "Monitoring/ConnectionMonitor.swift",
        "Monitoring/ConnectionStatistics.swift",
        "MultiPublisher/DestinationState.swift",
        "MultiPublisher/MultiPublisher+RawPayload.swift",
        "MultiPublisher/MultiPublisher.swift",
        "MultiPublisher/MultiPublisherEvent.swift",
        "MultiPublisher/MultiPublisherFailurePolicy.swift",
        "MultiPublisher/MultiPublisherStatistics.swift",
        "MultiPublisher/PublishDestination.swift",
        "Probing/BandwidthProbe.swift",
        "Probing/ProbeConfiguration.swift",
        "Probing/ProbeResult.swift",
        "Probing/QualityPresetSelector.swift",
        "Publisher/AVInterleaver.swift",
        "Publisher/RTMPConnection.swift",
        "Publisher/RTMPPublisher+ABR.swift",
        "Publisher/RTMPPublisher+Internal.swift",
        "Publisher/RTMPPublisher+Metadata.swift",
        "Publisher/RTMPPublisher+Metrics.swift",
        "Publisher/RTMPPublisher+QualityScore.swift",
        "Publisher/RTMPPublisher+RawPayload.swift",
        "Publisher/RTMPPublisher+Reconnect.swift",
        "Publisher/RTMPPublisher+Recording.swift",
        "Publisher/RTMPPublisher.swift",
        "Publisher/RTMPSession.swift",
        "Publisher/ServerInfo.swift",
        "Publisher/StatusInfo.swift",
        "Publisher/StreamKey.swift",
        "QualityScore/ConnectionQualityMonitor.swift",
        "QualityScore/ConnectionQualityScore.swift",
        "QualityScore/QualityDimension.swift",
        "QualityScore/QualityReport.swift",
        "RTMPError.swift",
        "RTMPEvent.swift",
        "RTMPKit.swift",
        "RTMPPublisherState.swift",
        "RTMPStatusCode.swift",
        "Recording/ElementaryStreamWriter.swift",
        "Recording/FLVWriter.swift",
        "Recording/RecordingConfiguration.swift",
        "Recording/RecordingSegment.swift",
        "Recording/StreamRecorder.swift",
        "Server/RTMPConnectionRateLimiter.swift",
        "Server/RTMPServer+MessageHandling.swift",
        "Server/RTMPServer+Metrics.swift",
        "Server/RTMPServer+StreamManagement.swift",
        "Server/RTMPServer.swift",
        "Server/RTMPServerAccessControl.swift",
        "Server/RTMPServerConfiguration.swift",
        "Server/RTMPServerEvent.swift",
        "Server/RTMPServerSecurityPolicy.swift",
        "Server/RTMPServerSession.swift",
        "Server/RTMPServerSessionDelegate.swift",
        "Server/RTMPStreamDVR.swift",
        "Server/RTMPStreamRelay.swift",
        "Server/ServerHandshake.swift",
        "Server/StreamKeyValidator.swift",
        "Transport/NIOTransport.swift",
        "Transport/RTMPChannelHandler.swift",
        "Transport/RTMPTransportProtocol.swift",
        "Transport/TLSConfiguration+RTMP.swift",
        "Transport/TransportConfiguration.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.2"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.