The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of SwiftSubtitles, reference 2.2.0 (485c6f), with Swift 5.10 for Linux on 11 Aug 2025 10:21:10 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.65.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dagronf/SwiftSubtitles.git
Reference: 2.2.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/dagronf/SwiftSubtitles
 * tag               2.2.0      -> FETCH_HEAD
HEAD is now at 485c6f1 Added basic SubStation Alpha ass/ssa import
Cloned https://github.com/dagronf/SwiftSubtitles.git
Revision (git rev-parse @):
485c6f1fc71235041198a8bb893fa22f807451a6
SUCCESS checkout https://github.com/dagronf/SwiftSubtitles.git at 2.2.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             5.10
Building package at path:  $PWD
https://github.com/dagronf/SwiftSubtitles.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-5.10-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-5.10-latest: Pulling from finestructure/spi-images
Digest: sha256:c30bb8beee7254e839cc0142f4ae78578b8fc8e8159324cc3637097cc1b395b6
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-5.10-latest
Fetching https://github.com/dagronf/TinyCSV
Fetching https://github.com/dagronf/DSFRegex
Fetching https://github.com/dagronf/BytesParser
[1/240] Fetching dsfregex
[241/517] Fetching dsfregex, tinycsv
Fetched https://github.com/dagronf/DSFRegex from cache (0.24s)
[1/456] Fetching bytesparser
Fetched https://github.com/dagronf/BytesParser from cache (0.28s)
Fetched https://github.com/dagronf/TinyCSV from cache (0.28s)
Computing version for https://github.com/dagronf/BytesParser
Computed https://github.com/dagronf/BytesParser at 3.2.1 (0.45s)
Computing version for https://github.com/dagronf/DSFRegex
Computed https://github.com/dagronf/DSFRegex at 4.0.0 (0.43s)
Computing version for https://github.com/dagronf/TinyCSV
Computed https://github.com/dagronf/TinyCSV at 1.0.1 (0.49s)
Creating working copy for https://github.com/dagronf/DSFRegex
Working copy of https://github.com/dagronf/DSFRegex resolved at 4.0.0
Creating working copy for https://github.com/dagronf/TinyCSV
Working copy of https://github.com/dagronf/TinyCSV resolved at 1.0.1
Creating working copy for https://github.com/dagronf/BytesParser
Working copy of https://github.com/dagronf/BytesParser resolved at 3.2.1
Building for debugging...
[0/8] Write sources
[0/8] Copying PrivacyInfo.xcprivacy
[0/8] Write sources
[1/8] Copying PrivacyInfo.xcprivacy
[7/8] Write swift-version-24593BA9C3E375BF.txt
[9/38] Compiling BytesParser BytesReader+float.swift
[10/38] Compiling BytesParser BytesReader+int.swift
[11/40] Compiling DSFRegex resource_bundle_accessor.swift
[12/40] Compiling DSFRegex String+regex.swift
[13/40] Compiling BytesParser ByteBuffer.swift
[14/40] Compiling BytesParser BytesReader+Source.swift
[15/40] Emitting module BytesParser
[16/40] Compiling BytesParser BytesWriter+string.swift
[17/40] Compiling BytesParser BytesWriter.swift
[18/40] Compiling TinyCSV TinyCSVData.swift
[19/40] Compiling TinyCSV TinyCSV+Decoder.swift
[20/40] Compiling TinyCSV TinyCSV.swift
[21/40] Compiling TinyCSV TinyCSV+EventDrivenDecoder.swift
[22/40] Compiling TinyCSV TinyCSV+Parsing.swift
[25/41] Emitting module TinyCSV
[26/41] Compiling TinyCSV TinyCSV+Encode.swift
[27/41] Compiling DSFRegex String+CursorExtensions.swift
[28/41] Compiling BytesParser BytesWriter+bool.swift
[29/41] Compiling BytesParser BytesWriter+data.swift
[30/41] Compiling BytesParser BytesReader+string.swift
[31/41] Compiling BytesParser BytesReader.swift
[32/41] Compiling BytesParser BytesWriter+float.swift
[33/41] Compiling BytesParser BytesWriter+int.swift
[34/41] Compiling BytesParser BytesParser.swift
[35/41] Compiling BytesParser BytesReader+bool.swift
[36/41] Compiling BytesParser BytesReader+data.swift
[37/41] Compiling BytesParser InMemorySource.swift
[38/41] Compiling BytesParser InputStreamSource.swift
[39/42] Compiling DSFRegex DSFRegex.swift
[40/42] Emitting module DSFRegex
[41/42] Compiling TinyCSV resource_bundle_accessor.swift
[45/65] Compiling SwiftSubtitles Subtitles+codable.swift
[46/65] Compiling SwiftSubtitles Subtitles+cue.swift
[47/65] Compiling SwiftSubtitles Subtitles+error.swift
[48/67] Compiling SwiftSubtitles Clamping.swift
[49/67] Compiling SwiftSubtitles Identifier.swift
[50/67] Compiling SwiftSubtitles String+BOM.swift
[51/67] Compiling SwiftSubtitles String+extensions.swift
[52/67] Compiling SwiftSubtitles TimeExpression.swift
[53/67] Compiling SwiftSubtitles CSV.swift
[54/67] Compiling SwiftSubtitles JSON.swift
[55/67] Compiling SwiftSubtitles LRC.swift
[56/67] Emitting module SwiftSubtitles
[57/67] Compiling SwiftSubtitles SUB.swift
[58/67] Compiling SwiftSubtitles TTML.swift
[59/67] Compiling SwiftSubtitles VTT.swift
[60/67] Compiling SwiftSubtitles TimeParsing.swift
[61/67] Compiling SwiftSubtitles resource_bundle_accessor.swift
[62/67] Compiling SwiftSubtitles Subtitles+time.swift
[63/67] Compiling SwiftSubtitles Subtitles.swift
[64/67] Compiling SwiftSubtitles ASSA.swift
[65/67] Compiling SwiftSubtitles PodcastsIndex.swift
[66/67] Compiling SwiftSubtitles SBV.swift
[67/67] Compiling SwiftSubtitles SRT.swift
Build complete! (17.21s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "dsfregex",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/DSFRegex"
    },
    {
      "identity" : "tinycsv",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "1.1.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/TinyCSV"
    },
    {
      "identity" : "bytesparser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.1",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dagronf/BytesParser"
    }
  ],
  "manifest_display_name" : "SwiftSubtitles",
  "name" : "SwiftSubtitles",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftSubtitles",
      "targets" : [
        "SwiftSubtitles"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftSubtitlesTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSubtitlesTests",
      "path" : "Tests/SwiftSubtitlesTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/speakers1.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/assa/time.ass",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/captions_edited.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/utf16-test.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/Teenage+Mutant+Ninja+Turtles.1990.Blu-ray.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/26-transcript.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sbv/captions-LE.sbv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample3.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/sample.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/assa/desc.ass",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/simple-sample-rn.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/assa/sample1.ass",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/assa/sample1.ssa",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/srt/zorro.srt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/upc-video-subtitles-en.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/podcasts-index/starwars-demo.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/empty.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/csv/stby.csv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/sample-big5.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/sub/97620.sub",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample1.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/espresso.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/vtt/crash_13.vtt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/lrc/ZUTOMAYO - Can't Be Right.lrc",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/sample2.ttml",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Tests/SwiftSubtitlesTests/resources/ttml/pirates.ttml",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "ASSATests.swift",
        "BugTests.swift",
        "CSVTests.swift",
        "CommonTests.swift",
        "JSONTests.swift",
        "LRCTests.swift",
        "PodcastIndexTests.swift",
        "SBVTests.swift",
        "SRTTests.swift",
        "SUBTests.swift",
        "TTMLTests.swift",
        "TestUtils.swift",
        "TimeExpressionTests.swift",
        "TimeShiftingTests.swift",
        "VTTTests.swift"
      ],
      "target_dependencies" : [
        "SwiftSubtitles"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftSubtitles",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSubtitles",
      "path" : "Sources/SwiftSubtitles",
      "product_dependencies" : [
        "DSFRegex",
        "TinyCSV",
        "BytesParser"
      ],
      "product_memberships" : [
        "SwiftSubtitles"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Sources/SwiftSubtitles/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Subtitles+codable.swift",
        "Subtitles+cue.swift",
        "Subtitles+error.swift",
        "Subtitles+time.swift",
        "Subtitles.swift",
        "coding/ASSA.swift",
        "coding/CSV.swift",
        "coding/JSON.swift",
        "coding/LRC.swift",
        "coding/PodcastsIndex.swift",
        "coding/SBV.swift",
        "coding/SRT.swift",
        "coding/SUB.swift",
        "coding/TTML.swift",
        "coding/VTT.swift",
        "private/Clamping.swift",
        "private/Identifier.swift",
        "private/String+BOM.swift",
        "private/String+extensions.swift",
        "private/TimeExpression.swift",
        "private/TimeParsing.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
basic-5.10-latest: Pulling from finestructure/spi-images
Digest: sha256:c30bb8beee7254e839cc0142f4ae78578b8fc8e8159324cc3637097cc1b395b6
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-5.10-latest
Done.