This is an automated email from the ASF dual-hosted git repository.

dongjoon-hyun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/spark-connect-swift.git


The following commit(s) were added to refs/heads/main by this push:
     new f1e2187  [SPARK-59940] Use Swift 6.4 as the minimum version and unify 
CI on `xcode-27`
f1e2187 is described below

commit f1e2187db0019e4331559c79b708cfa7c9088412
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Thu Oct 1 17:17:20 2026 -0700

    [SPARK-59940] Use Swift 6.4 as the minimum version and unify CI on 
`xcode-27`
    
    ### What changes were proposed in this pull request?
    
    This PR aims to use Swift 6.4 as the minimum version and unify CI on 
`xcode-27`.
    
    - Bump `swift-tools-version` from `6.3.2` to `6.4.0` and update the 
documentation (`README.md`, `AGENTS.md`, `GettingStarted.md`).
    - Remove duplicate CI jobs: `build-macos-26-swift63` and 
`integration-test-mac-spark42-swift64`.
    - Move the remaining macOS jobs from `macos-26` (Xcode 26.6) to `xcode-27`.
    
    ### Why are the changes needed?
    
    [Swift 6.4.0](https://www.swift.org/blog/swift-6.4-released/) was released 
on September 15, 2026. The Linux CI jobs and `Examples/*` already use it, so 
the minimum version should match what CI actually tests. Note that `xcode-27` 
is still in [public 
preview](https://github.blog/changelog/2026-09-10-xcode-27-runner-image-now-runs-on-macos-27)
 (as of September 10, 2026).
    
    ### Does this PR introduce _any_ user-facing change?
    
    Yes. Building the package now requires Swift 6.4 or later. There is no API 
or behavior change.
    
    ### How was this patch tested?
    
    Verified locally with Swift 6.4.0 (`swift build -c release`). The 
`xcode-27` jobs are verified by this PR's CI.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    Generated-by: Claude Sonnet 5.5
    
    Closes #581 from dongjoon-hyun/SPARK-59940.
    
    Authored-by: Dongjoon Hyun <[email protected]>
    Signed-off-by: Dongjoon Hyun <[email protected]>
---
 .github/workflows/build_and_test.yml               | 60 +++-------------------
 AGENTS.md                                          |  4 +-
 Package.swift                                      |  2 +-
 README.md                                          |  2 +-
 .../Documentation.docc/GettingStarted.md           |  2 +-
 5 files changed, 13 insertions(+), 57 deletions(-)

diff --git a/.github/workflows/build_and_test.yml 
b/.github/workflows/build_and_test.yml
index 777af35..b548ffc 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -37,17 +37,7 @@ jobs:
         with:
           config: .github/.licenserc.yaml
 
-  build-macos-26-swift63:
-    runs-on: macos-26
-    timeout-minutes: 20
-    steps:
-    - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
-    - name: Build
-      run: swift build -c release
-
-  build-macos-26-swift64:
+  build-macos:
     runs-on: xcode-27
     timeout-minutes: 20
     steps:
@@ -130,14 +120,12 @@ jobs:
         docker run --add-host=host.docker.internal:host-gateway -v $PWD:/spark 
-w /spark -e SPARK_REMOTE='sc://host.docker.internal:15003' swift:6.4.0 swift 
test --no-parallel -c release
 
   integration-test-mac-spark41:
-    runs-on: macos-26
+    runs-on: xcode-27
     timeout-minutes: 20
     env:
       SPARK_LOCAL_IP: localhost
     steps:
     - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
     - name: Build
       run: swift test --filter NOTHING -c release
     - uses: ./.github/actions/setup-spark
@@ -153,14 +141,12 @@ jobs:
         swift test --no-parallel -c release
 
   integration-test-mac-spark42:
-    runs-on: macos-26
+    runs-on: xcode-27
     timeout-minutes: 20
     env:
       SPARK_LOCAL_IP: localhost
     steps:
     - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
     - name: Build
       run: swift test --filter NOTHING -c release
     - uses: ./.github/actions/setup-spark
@@ -175,35 +161,13 @@ jobs:
         cd -
         swift test --no-parallel -c release
 
-  integration-test-mac-spark42-swift64:
-    runs-on: xcode-27
-    timeout-minutes: 20
-    env:
-      SPARK_LOCAL_IP: localhost
-    steps:
-    - uses: actions/checkout@v7
-    - name: Build
-      run: swift test --filter NOTHING -c release
-    - uses: ./.github/actions/setup-spark
-      with:
-        version: 4.2.0
-        sha512: 
3a6559e8546ff387db8fe7a04b8fe4008853b467b972c2e343df8e14a81450534777719fc5d4998dd96519a86fdf9de140cee753c61e2e94db044d5f9555ddc4
-    - name: Test
-      run: |
-        cd /tmp/spark/sbin
-        ./start-connect-server.sh -c spark.sql.timeType.enabled=true
-        cd -
-        swift test --no-parallel -c release
-
   integration-test-mac-spark43:
-    runs-on: macos-26
+    runs-on: xcode-27
     timeout-minutes: 20
     env:
       SPARK_LOCAL_IP: localhost
     steps:
     - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
     - name: Build
       run: swift test --filter NOTHING -c release
     - uses: ./.github/actions/setup-spark
@@ -219,14 +183,12 @@ jobs:
         swift test --no-parallel -c release
 
   integration-test-mac:
-    runs-on: macos-26
+    runs-on: xcode-27
     timeout-minutes: 20
     env:
       SPARK_LOCAL_IP: localhost
     steps:
     - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
     - name: Build
       run: swift test --filter NOTHING -c release
     - uses: ./.github/actions/setup-spark
@@ -241,15 +203,13 @@ jobs:
         swift test --no-parallel -c release
 
   integration-test-token:
-    runs-on: macos-26
+    runs-on: xcode-27
     timeout-minutes: 20
     env:
       SPARK_LOCAL_IP: localhost
       SPARK_CONNECT_AUTHENTICATE_TOKEN: ${{ github.run_id }}-${{ 
github.run_attempt }}
     steps:
     - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
     - name: Build
       run: swift test --filter NOTHING -c release
     - uses: ./.github/actions/setup-spark
@@ -264,15 +224,13 @@ jobs:
         swift test --no-parallel -c release
 
   integration-test-mac-spark4-iceberg:
-    runs-on: macos-26
+    runs-on: xcode-27
     timeout-minutes: 20
     env:
       SPARK_LOCAL_IP: localhost
       SPARK_ICEBERG_TEST_ENABLED: "true"
     steps:
     - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
     - name: Install Java
       uses: actions/setup-java@v6
       with:
@@ -298,15 +256,13 @@ jobs:
         swift test --filter IcebergTest -c release
 
   integration-test-mac-spark41-iceberg:
-    runs-on: macos-26
+    runs-on: xcode-27
     timeout-minutes: 20
     env:
       SPARK_LOCAL_IP: localhost
       SPARK_ICEBERG_TEST_ENABLED: "true"
     steps:
     - uses: actions/checkout@v7
-    - name: Select Xcode 26.6
-      run: sudo xcode-select -s /Applications/Xcode_26.6.app/Contents/Developer
     - name: Install Java
       uses: actions/setup-java@v6
       with:
diff --git a/AGENTS.md b/AGENTS.md
index f7a77cd..f807153 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -18,9 +18,9 @@ catalog, ML) over gRPC, exchanging results in Apache Arrow 
format.
 
 ## Tech stack & requirements
 
-- **Swift 6.3.2+** with Swift Package Manager (`swift-tools-version: 6.3.2`).
+- **Swift 6.4.0+** with Swift Package Manager (`swift-tools-version: 6.4.0`).
 - **Platforms**: macOS 15+, iOS 18+, watchOS 11+, tvOS 18+, and Linux
-  (built and tested on Ubuntu x86_64 & arm64 with the Swift 6.3.2 toolchain).
+  (built and tested on Ubuntu x86_64 & arm64 with the Swift 6.4.0 toolchain).
 - **Server**: Apache Spark 4.x Connect server (tested against 4.0.4 / 4.1.3 / 
4.2.0).
 - **Dependencies** (all pinned with `exact` in [Package.swift](Package.swift)):
   `grpc-swift-2`, `grpc-swift-protobuf`, `grpc-swift-nio-transport`,
diff --git a/Package.swift b/Package.swift
index d0d0191..8bbeb2f 100644
--- a/Package.swift
+++ b/Package.swift
@@ -1,4 +1,4 @@
-// swift-tools-version: 6.3.2
+// swift-tools-version: 6.4.0
 // The swift-tools-version declares the minimum version of Swift required to 
build this package.
 //
 // Licensed to the Apache Software Foundation (ASF) under one
diff --git a/README.md b/README.md
index 9993a8f..34057ac 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ For example, a user can develop and ship a lightweight 
Swift-based SparkPi app.
 ## Requirements
 
 - [Apache Spark 4.2.0 (July 
2026)](https://github.com/apache/spark/releases/tag/v4.2.0)
-- [Swift 6.3.2 (May 2026)](https://swift.org)
+- [Swift 6.4.0 (Sep 2026)](https://swift.org)
 - [gRPC Swift 2.4.3 (September 
2026)](https://github.com/grpc/grpc-swift-2/releases/tag/2.4.3)
 - [gRPC Swift Protobuf 2.4.1 (June 
2026)](https://github.com/grpc/grpc-swift-protobuf/releases/tag/2.4.1)
 - [gRPC Swift NIO Transport 2.10.0 (September 
2026)](https://github.com/grpc/grpc-swift-nio-transport/releases/tag/2.10.0)
diff --git a/Sources/SparkConnect/Documentation.docc/GettingStarted.md 
b/Sources/SparkConnect/Documentation.docc/GettingStarted.md
index 78e3300..255d0bb 100644
--- a/Sources/SparkConnect/Documentation.docc/GettingStarted.md
+++ b/Sources/SparkConnect/Documentation.docc/GettingStarted.md
@@ -25,7 +25,7 @@ targets: [
 
 ## Prerequisites
 
-- Swift 6.3.2 or later
+- Swift 6.4.0 or later
 - macOS 15+, iOS 18+, watchOS 11+, or tvOS 18+
 - A running Apache Spark cluster with Spark Connect enabled
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to