Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
6ee6c4c
feat(compiler): add Swift gRPC service generation
yash-agarwa-l Jun 19, 2026
9d15a1b
feat(compiler): preflight Swift gRPC collisions
yash-agarwa-l Jun 19, 2026
e78e79e
test(compiler): cover Swift gRPC codegen
yash-agarwa-l Jun 19, 2026
b554dae
test(compiler): build and run the Swift gRPC fixture
yash-agarwa-l Jun 19, 2026
e865db5
test(grpc): generate Swift companions in the interop harness
yash-agarwa-l Jun 19, 2026
efdcad2
docs: document Swift gRPC support
yash-agarwa-l Jun 20, 2026
034861b
style(compiler): wrap long Swift gRPC handler closures
yash-agarwa-l Jun 20, 2026
7f3d888
style(compiler): make Swift gRPC companions swiftlint-clean
yash-agarwa-l Jun 20, 2026
1ab4cf8
test(compiler): document the Swift common-root package limit
yash-agarwa-l Jun 20, 2026
f746c2c
fix(compiler): use a per-thread Fory in Swift gRPC marshaller
yash-agarwa-l Jun 20, 2026
00f2657
docs: note Swift gRPC client and interceptor limits
yash-agarwa-l Jun 21, 2026
3c93b3e
test(compiler): prove Swift marshaller thread-safety under TSan
yash-agarwa-l Jun 21, 2026
dd40171
test(compiler): gate the Swift TSan test behind FORY_SWIFT_TSAN
yash-agarwa-l Jun 21, 2026
4922f77
feat(compiler): reserve inherited member names in Swift gRPC
yash-agarwa-l Jun 21, 2026
9cf3cee
Merge remote-tracking branch 'upstream/main' into grpc-swift
yash-agarwa-l Jun 21, 2026
4b5278e
refactor(grpc): move Swift toolchain tests into integration_tests
yash-agarwa-l Jun 21, 2026
6d44772
fix(compiler): make the Swift gRPC wire wrapper Sendable
yash-agarwa-l Jun 21, 2026
5c5c15c
test(grpc): run Swift toolchain gRPC tests in their package
yash-agarwa-l Jun 22, 2026
602183a
Merge remote-tracking branch 'upstream/main' into grpc-swift
yash-agarwa-l Jul 24, 2026
e21a9a4
chore(compiler): fix ruff lint in swift gRPC codegen
yash-agarwa-l Jul 26, 2026
de06611
fix(java): balance read ref id stack for NOT_NULL values
yash-agarwa-l Jul 26, 2026
f294ef3
Merge remote-tracking branch 'upstream/main' into grpc-swift
yash-agarwa-l Jul 27, 2026
3c50b8c
Merge remote-tracking branch 'upstream/main' into grpc-swift
yash-agarwa-l Aug 4, 2026
20047dc
Revert "fix(java): balance read ref id stack for NOT_NULL values"
yash-agarwa-l Aug 6, 2026
df15e7c
fix(swift): reserve a ref slot for tracked value roots
yash-agarwa-l Aug 7, 2026
f7ea499
Merge remote-tracking branch 'upstream/main' into grpc-swift
yash-agarwa-l Aug 7, 2026
574542c
fix(compiler): constrain Swift gRPC generics to self-provided seriali…
yash-agarwa-l Aug 7, 2026
84adfc4
docs(swift): align gRPC page front
yash-agarwa-l Aug 7, 2026
d97696a
docs(compiler): document Swift gRPC service companions
yash-agarwa-l Aug 7, 2026
9efe651
test(grpc): add Java<->Swift gRPC interop harness
yash-agarwa-l Jun 22, 2026
044dddc
ci: run Java/Swift gRPC interop tests
yash-agarwa-l Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/languages/swift.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Load this file when changing `swift/` or Swift xlang behavior.
- Swift formatting uses `swift/.swift-format`; do not rely on SwiftLint for indentation or source
formatting.
- Use `ENABLE_FORY_DEBUG_OUTPUT=1` when debugging Swift tests.
- Generated Swift gRPC companions are compiler-owned files targeting grpc-swift 1.x. Keep grpc-swift out of the `swift/` runtime package; it belongs only to generated user code and the compiler build fixture.
- Prefer the user-requested or existing Foundation public value type when it is the intended Swift surface; do not invent Fory-prefixed wrappers only to avoid import ambiguity.
- Preserve distinct temporal semantics. Timestamp values and day-only local dates should have protocol-accurate helper names and no stale aliases after a refactor.
- When temporal or public-type refactors touch generated Swift code, sweep message fields, union payloads, macros, xlang harnesses, and integration fixtures together.
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
Expand Down Expand Up @@ -1016,6 +1016,49 @@
cd integration_tests/grpc_tests/java
mvn -T16 --no-transfer-progress -Dtest=DartGrpcTest test

grpc_java_swift_tests:
name: Java/Swift gRPC Tests
needs: changes
if: needs.changes.outputs.grpc_tests == 'true' || needs.changes.outputs.swift == 'true'
runs-on: macos-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "temurin"
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.11
cache: "pip"
- name: Cache Maven local repository
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Install Java artifacts for gRPC tests
run: |
cd java
mvn -T16 --no-transfer-progress clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true
- name: Generate gRPC test sources
run: python integration_tests/grpc_tests/generate_grpc.py
- name: Build Swift gRPC peer
run: |
cd integration_tests/grpc_tests/swift/interop
swift build -c release --product interop
- name: Run Swift gRPC package tests
run: |
cd integration_tests/grpc_tests/swift/interop
swift test
- name: Run Java/Swift gRPC Tests
run: |
cd integration_tests/grpc_tests/java
mvn -T16 --no-transfer-progress -Dtest=SwiftGrpcTest test

javascript:
name: JavaScript CI
needs: changes
Expand Down
Loading
Loading