The Swift test job pulls in grpc-swift-2 -> grpc-swift-nio-transport ->
swift-nio-ssl -> swift-crypto, and this package ships no Package.resolved,
so that whole graph is resolved afresh on every run. On 2026-10-15 it
resolved swift-crypto 5.0.1 (released three days earlier) and "Test Swift
Linux (6.2)" turned red before a single line of FlatBuffers' Swift code was
compiled:
Sources/Crypto/HPKE/Ciphersuite/HPKE-AEAD.swift:27:6: error: unknown
attribute 'nonexhaustive'
5.x declares swift-tools-version 6.2, which is why only the 6.2 job selects
it; the 6.0 and 6.1 jobs prune it and keep building. The 6.2.x toolchains
then reject the `@nonexhaustive` that 5.x uses, a combination swift-crypto
does not exercise because it builds on nightly.
Restrict the test-only graph to 4.0.0 ..< 4.4.0, which resolves to 4.3.0:
the last 4.x release that declares swift-tools-version 6.0 and so builds
with every toolchain in the matrix. 4.4+ asks for 6.1 and would break the 6.0
job, and the whole 4.x line is free of `@nonexhaustive`.
Co-authored-by: Derek Bailey <derekbailey@google.com>
* Migrate to swift 6.0 & swift-gRPC 2.0
The following migrates to swift 6.0, and also
migrate to swift-grpc 2.0 that uses swift-nio
under the hood to provide nicer API and async await
Adds sendable to enum & update @_implementationOnly imports to use internal imports
* Address PR comments regarding misspelling & proper method naming.
* Implements FlatbuffersVector in swift
Implements FlatbuffersVector which confirms to RandomAccessCollection,
this would give us semi-native sugary syntax to all the arrays in swift port.
This work will also be the foundation of using arrays in swift
* Fix failing tests for Swift
Adding support for windows requires the code generations
to add a compiler statement to completely ignore GRPC code
generation on windows
Cleanup the project to use the main Package.swift to run tests
instead of having it separate and includes the imports for GRPC
within it.
Adds windows swift ci
* Offical Swift port for FlexBuffers
This is the offical port for FlexBuffers within
swift, and it introcudes a Common Module where code
is shared between flatbuffers and flexbuffers.
Writing most supported values like maps, vectors,
nil and scalars into a flexbuffer buffer. And includes
tests to verify that its similar to cpp
* Reading a flexbuffer
Implementing reading from a flexbuffer, enabling
most of the buffers features, like most types, maps, vectors,
typedvectors, and fixedtypedvectors.
Currently, if an offset/object cant be read we default to a swift
nil instead of the default flexbuffers 'null' with all values.
* Fixes bazel breaking due to new project structure
Address warnings within the library
* Adds comment on why we added the code & properly enforce the amout of bytes needed
Updates copyright from 2023 to 2024 & formats code - updates formatting rules
Updates CI to run with swift 5.8
Adds wasmer & updates command to run carton as a swift plugin
Update bazelci to also accept swift 5.8
Adds swift 5.10 to the test matrix
Addresses a warning on xcode 15 regarding copying a pointer without safeguards
Address PR comments regarding initializing buffers with flag
Adds a test case for copying unaligned buffers
Formatting code