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 Neon, reference main (477c3a), with Swift 6.2 (beta) for Android on 26 Aug 2025 18:31:47 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ChimeHQ/Neon.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/ChimeHQ/Neon
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 477c3a4 Is OS case-sensitive?
Submodule path 'tree-sitter-swift': checked out '50b8c5e61c29fa30e760c7a1cbf24b59970e6233'
Submodule 'tree-sitter-swift' (https://github.com/alex-pinkus/tree-sitter-swift) registered for path 'tree-sitter-swift'
Cloning into '/host/spi-builder-workspace/tree-sitter-swift'...
Cloned https://github.com/ChimeHQ/Neon.git
Revision (git rev-parse @):
477c3a421fbc0ff8af14e959e3232e1866a9be3b
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ChimeHQ/Neon.git at main
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/ChimeHQ/Neon.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Fetching https://github.com/ChimeHQ/SwiftTreeSitter
[1/1642] Fetching swifttreesitter
Fetched https://github.com/ChimeHQ/SwiftTreeSitter from cache (0.28s)
Fetching https://github.com/ChimeHQ/Rearrange
Fetching https://github.com/tree-sitter/tree-sitter
[1/569] Fetching rearrange
[570/60359] Fetching rearrange, tree-sitter
Fetched https://github.com/ChimeHQ/Rearrange from cache (2.45s)
Fetched https://github.com/tree-sitter/tree-sitter from cache (2.50s)
Computing version for https://github.com/ChimeHQ/Rearrange
Computed https://github.com/ChimeHQ/Rearrange at 2.0.0 (2.90s)
Computing version for https://github.com/tree-sitter/tree-sitter
Computed https://github.com/tree-sitter/tree-sitter at 0.25.8 (0.35s)
Creating working copy for https://github.com/tree-sitter/tree-sitter
Working copy of https://github.com/tree-sitter/tree-sitter resolved at 0.25.8
Creating working copy for https://github.com/ChimeHQ/SwiftTreeSitter
Working copy of https://github.com/ChimeHQ/SwiftTreeSitter resolved at main (08ef81e)
Creating working copy for https://github.com/ChimeHQ/Rearrange
Working copy of https://github.com/ChimeHQ/Rearrange resolved at 2.0.0
Building for debugging...
[0/22] Write sources
[1/22] Compiling stdlib.c
[2/22] Compiling wasm_store.c
[3/22] Write swift-version-8C5A4AE7A8CE2BA.txt
[4/22] Compiling tree.c
[5/22] Compiling tree_cursor.c
[6/22] Compiling lexer.c
[7/22] Compiling language.c
[8/22] Write sources
[11/22] Compiling subtree.c
[12/22] Write sources
[13/22] Compiling stack.c
[14/22] Compiling node.c
[15/22] Write sources
[16/22] Compiling alloc.c
[17/29] Compiling scanner.c
[18/31] Compiling get_changed_ranges.c
[19/31] Compiling parser.c
[20/31] Compiling query.c
[22/50] Emitting module Rearrange
[22/51] Compiling parser.c
[24/51] Compiling Rearrange UITextRange+Convenience.swift
[25/51] Compiling Rearrange String+NSRange.swift
[26/51] Compiling Rearrange NSRange+Shift.swift
[27/51] Compiling Rearrange NSTextRange+NSRange.swift
[28/51] Compiling Rearrange RangeMutation.swift
[29/51] Emitting module SwiftTreeSitter
[30/51] Compiling SwiftTreeSitter Bundle+Extensions.swift
[31/51] Compiling SwiftTreeSitter Encoding+Helpers.swift
[32/51] Compiling SwiftTreeSitter Input.swift
[33/53] Compiling SwiftTreeSitter InputEdit.swift
[34/53] Compiling SwiftTreeSitter Language.swift
[35/53] Compiling SwiftTreeSitter LanguageConfiguration.swift
[38/53] Compiling Rearrange NSRange+ApplyMutation.swift
[39/53] Compiling Rearrange NSRange+Convenience.swift
[40/54] Compiling SwiftTreeSitter String+TextProvider.swift
[41/54] Compiling SwiftTreeSitter TSRange.swift
[42/54] Compiling SwiftTreeSitter SendableTypes.swift
[43/54] Compiling SwiftTreeSitter String+Data.swift
[44/54] Compiling SwiftTreeSitter ResolvingQueryCursor.swift
[45/54] Compiling SwiftTreeSitter ResolvingQueryMatchSequence.swift
[47/54] Compiling SwiftTreeSitter Node.swift
[48/54] Compiling SwiftTreeSitter Parser.swift
[49/54] Compiling SwiftTreeSitter Point.swift
[50/54] Compiling SwiftTreeSitter Predicate.swift
[51/54] Compiling SwiftTreeSitter Query.swift
[52/54] Compiling SwiftTreeSitter QueryDefinitions.swift
[53/64] Compiling SwiftTreeSitter Tree.swift
[54/64] Compiling SwiftTreeSitter TreeCursor.swift
[56/73] Compiling SwiftTreeSitterLayer Queryable.swift
[57/73] Compiling SwiftTreeSitterLayer ParseState.swift
[58/73] Compiling SwiftTreeSitterLayer LanguageLayerQueryCursor.swift
[59/73] Compiling SwiftTreeSitterLayer Snapshots.swift
[60/73] Compiling SwiftTreeSitterLayer TreeSitter+Extensions.swift
[61/73] Emitting module SwiftTreeSitterLayer
[62/73] Compiling SwiftTreeSitterLayer LanguageLayer.swift
[63/73] Compiling SwiftTreeSitterLayer IndexSet+Range.swift
[65/74] Compiling RangeState RangeTarget.swift
[66/75] Compiling RangeState Versioned.swift
[67/75] Compiling RangeState RangeValidator.swift
[68/75] Compiling RangeState HybridValueProvider+RangeProcessor.swift
[69/75] Compiling RangeState RangeInvalidationBuffer.swift
[70/75] Compiling RangeState AwaitableQueue.swift
[71/75] Compiling RangeState HybridSyncAsyncValueProvider.swift
[72/75] Emitting module RangeState
[73/75] Compiling RangeState RangeProcessor.swift
[74/75] Compiling RangeState ThreePhaseRangeValidator.swift
/host/spi-builder-workspace/Sources/RangeState/ThreePhaseRangeValidator.swift:165:10: warning: capture of non-sendable type 'Content.Type' in an isolated closure
163 | 			try await Task.sleep(nanoseconds: delay)
164 |
165 | 			await secondaryValidate(target: target, requestingVersion: requestingVersion, isolation: isolation)
    |          `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
166 | 		}
167 | 	}
/host/spi-builder-workspace/Sources/RangeState/ThreePhaseRangeValidator.swift:152:15: warning: capture of non-sendable type 'Content.Type' in an isolated closure
150 | 	}
151 |
152 | 	private func scheduleSecondaryValidation(of target: RangeTarget, isolation: isolated (any Actor)) {
    |               `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
153 | 		if configuration.secondaryProvider == nil || secondaryValidator == nil {
154 | 			return
[75/75] Compiling RangeState SinglePhaseRangeValidator.swift
/host/spi-builder-workspace/Sources/RangeState/SinglePhaseRangeValidator.swift:98:8: warning: capture of non-sendable type 'Content.Type' in an isolated closure
 96 | 		case .stale:
 97 | 			Task<Void, Never> {
 98 | 				if operation.contentRange.version == self.version {
    |        `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
 99 | 					print("version unchanged after stale results, stopping validation")
100 | 					return
/host/spi-builder-workspace/Sources/RangeState/SinglePhaseRangeValidator.swift:92:44: warning: capture of non-sendable type 'Content.Type' in an isolated closure
 90 | 	}
 91 |
 92 | 	private func completePrimaryValidation(of operation: ValidationOperation, with validation: Validation, isolation: isolated (any Actor)) {
    |                                            `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
 93 | 		primaryValidator.completeValidation(of: operation.contentRange, with: validation)
 94 |
/host/spi-builder-workspace/Sources/RangeState/SinglePhaseRangeValidator.swift:117:5: warning: capture of non-sendable type 'Content.Type' in an isolated closure
115 |
116 | 			Task<Void, Never> {
117 | 				validate(operation.target, isolation: isolation)
    |     `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
118 | 			}
119 | 		}
/host/spi-builder-workspace/Sources/RangeState/SinglePhaseRangeValidator.swift:92:15: warning: capture of non-sendable type 'Content.Type' in an isolated closure
 90 | 	}
 91 |
 92 | 	private func completePrimaryValidation(of operation: ValidationOperation, with validation: Validation, isolation: isolated (any Actor)) {
    |               `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
 93 | 		primaryValidator.completeValidation(of: operation.contentRange, with: validation)
 94 |
/host/spi-builder-workspace/Sources/RangeState/SinglePhaseRangeValidator.swift:143:10: warning: capture of non-sendable type 'Content.Type' in an isolated closure
141 |
142 | 		Task<Void, Never> {
143 | 			await self.validateRangeAsync(isolation: isolation)
    |          `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
144 | 		}
145 | 	}
/host/spi-builder-workspace/Sources/RangeState/SinglePhaseRangeValidator.swift:139:15: warning: capture of non-sendable type 'Content.Type' in an isolated closure
137 | 	}
138 |
139 | 	private func enqueueValidation(_ operation: ValidationOperation, isolation: isolated any Actor) {
    |               `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
140 | 		eventQueue.enqueue(operation)
141 |
[77/82] Compiling TreeSitterClient BackgroundProcessor.swift
[78/82] Emitting module TreeSitterClient
[79/82] Compiling TreeSitterClient BackgroundingLanguageLayerTree.swift
[80/82] Compiling TreeSitterClient TreeSitter+Extensions.swift
[81/82] Compiling TreeSitterClient HybridSyncAsyncVersionedResource.swift
[82/82] Compiling TreeSitterClient TreeSitterClient.swift
[84/94] Compiling Neon TokenSystemValidator.swift
[85/95] Emitting module Neon
[86/95] Compiling Neon TextSystemStyler.swift
[87/95] Compiling Neon TextViewHighlighter.swift
[88/95] Compiling Neon PlatformTextSystem.swift
[89/95] Compiling Neon TextStorageDelegateBuffer.swift
[90/95] Compiling Neon TextSystemInterface+Validation.swift
[91/95] Compiling Neon TextSystemInterface.swift
[92/95] Compiling Neon ThreePhaseTextSystemStyler.swift
[93/95] Compiling Neon Token.swift
[94/95] Compiling Neon TextViewSystemInterface.swift
[95/95] Compiling Neon TreeSitterClient+Neon.swift
Build complete! (33.14s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swifttreesitter",
      "requirement" : {
        "branch" : [
          "main"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ChimeHQ/SwiftTreeSitter"
    },
    {
      "identity" : "rearrange",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ChimeHQ/Rearrange"
    }
  ],
  "manifest_display_name" : "Neon",
  "name" : "Neon",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "Neon",
      "targets" : [
        "Neon"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TreeSitterClientTests",
      "module_type" : "SwiftTarget",
      "name" : "TreeSitterClientTests",
      "path" : "Tests/TreeSitterClientTests",
      "sources" : [
        "TreeSitterClientStressTests.swift",
        "TreeSitterClientTests.swift"
      ],
      "target_dependencies" : [
        "TreeSitterClient",
        "NeonTestsTreeSitterSwift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TreeSitterClient",
      "module_type" : "SwiftTarget",
      "name" : "TreeSitterClient",
      "path" : "Sources/TreeSitterClient",
      "product_dependencies" : [
        "Rearrange",
        "SwiftTreeSitter",
        "SwiftTreeSitterLayer"
      ],
      "product_memberships" : [
        "Neon"
      ],
      "sources" : [
        "BackgroundProcessor.swift",
        "BackgroundingLanguageLayerTree.swift",
        "HybridSyncAsyncVersionedResource.swift",
        "TreeSitter+Extensions.swift",
        "TreeSitterClient.swift"
      ],
      "target_dependencies" : [
        "RangeState"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RangeStateTests",
      "module_type" : "SwiftTarget",
      "name" : "RangeStateTests",
      "path" : "Tests/RangeStateTests",
      "sources" : [
        "RangeProcessorTests.swift",
        "RangeTargetTests.swift",
        "RangeValidatorTests.swift",
        "SinglePhaseRangeValidatorTests.swift",
        "StringContent.swift"
      ],
      "target_dependencies" : [
        "RangeState"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RangeState",
      "module_type" : "SwiftTarget",
      "name" : "RangeState",
      "path" : "Sources/RangeState",
      "product_dependencies" : [
        "Rearrange"
      ],
      "product_memberships" : [
        "Neon"
      ],
      "sources" : [
        "AwaitableQueue.swift",
        "HybridSyncAsyncValueProvider.swift",
        "HybridValueProvider+RangeProcessor.swift",
        "RangeInvalidationBuffer.swift",
        "RangeProcessor.swift",
        "RangeTarget.swift",
        "RangeValidator.swift",
        "SinglePhaseRangeValidator.swift",
        "ThreePhaseRangeValidator.swift",
        "Versioned.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "NeonTestsTreeSitterSwift",
      "module_type" : "ClangTarget",
      "name" : "NeonTestsTreeSitterSwift",
      "path" : "tree-sitter-swift",
      "sources" : [
        "src/parser.c",
        "src/scanner.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "NeonTests",
      "module_type" : "SwiftTarget",
      "name" : "NeonTests",
      "path" : "Tests/NeonTests",
      "sources" : [
        "HighlighterTests.swift",
        "TextViewSystemInterfaceTests.swift"
      ],
      "target_dependencies" : [
        "Neon"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Neon",
      "module_type" : "SwiftTarget",
      "name" : "Neon",
      "path" : "Sources/Neon",
      "product_dependencies" : [
        "Rearrange",
        "SwiftTreeSitterLayer"
      ],
      "product_memberships" : [
        "Neon"
      ],
      "sources" : [
        "PlatformTextSystem.swift",
        "TextStorageDelegateBuffer.swift",
        "TextSystemInterface+Validation.swift",
        "TextSystemInterface.swift",
        "TextSystemStyler.swift",
        "TextViewHighlighter.swift",
        "TextViewSystemInterface.swift",
        "ThreePhaseTextSystemStyler.swift",
        "Token.swift",
        "TokenSystemValidator.swift",
        "TreeSitterClient+Neon.swift"
      ],
      "target_dependencies" : [
        "RangeState",
        "TreeSitterClient"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Done.