From db776385c481510cdd4a5d70876922ec12599369 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Wed, 29 Oct 2025 11:04:28 -0700 Subject: [PATCH] [SPARK-54080] Use Swift 6.2 as the minimum supported version --- .github/workflows/build_and_test.yml | 52 +++---------------- Examples/app/Dockerfile | 4 +- Examples/app/Package.swift | 2 +- Examples/pi/Dockerfile | 4 +- Examples/pi/Package.swift | 2 +- Examples/spark-sql/Dockerfile | 4 +- Examples/spark-sql/Package.swift | 2 +- Examples/stream/Dockerfile | 4 +- Examples/stream/Package.swift | 2 +- Examples/web/Dockerfile | 4 +- Examples/web/Package.swift | 2 +- Package.swift | 2 +- README.md | 2 +- .../Documentation.docc/GettingStarted.md | 2 +- 14 files changed, 24 insertions(+), 64 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index c0f256a..98e2644 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -40,28 +40,6 @@ jobs: with: config: .github/.licenserc.yaml - build-macos-15-swift60: - runs-on: macos-15 - timeout-minutes: 20 - steps: - - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.0" - - name: Build - run: swift build -c release - - build-macos-15-swift61: - runs-on: macos-15 - timeout-minutes: 20 - steps: - - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.1" - - name: Build - run: swift build -c release - build-macos-26-swift62: runs-on: macos-26 timeout-minutes: 20 @@ -129,15 +107,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.2 swift test --no-parallel -c release integration-test-mac-spark41: - runs-on: macos-15 + runs-on: macos-26 timeout-minutes: 20 env: SPARK_LOCAL_IP: localhost steps: - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.1" - name: Build run: swift test --filter NOTHING -c release - name: Test @@ -151,15 +126,12 @@ jobs: swift test --no-parallel -c release integration-test-mac: - runs-on: macos-15 + runs-on: macos-26 timeout-minutes: 20 env: SPARK_LOCAL_IP: localhost steps: - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.1" - name: Build run: swift test --filter NOTHING -c release - name: Test @@ -173,16 +145,13 @@ jobs: swift test --no-parallel -c release integration-test-token: - runs-on: macos-15 + runs-on: macos-26 timeout-minutes: 20 env: SPARK_LOCAL_IP: localhost SPARK_CONNECT_AUTHENTICATE_TOKEN: ${{ github.run_id }}-${{ github.run_attempt }} steps: - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.1" - name: Build run: swift test --filter NOTHING -c release - name: Test @@ -196,15 +165,12 @@ jobs: swift test --no-parallel -c release integration-test-mac-spark3: - runs-on: macos-15 + runs-on: macos-26 timeout-minutes: 20 env: SPARK_LOCAL_IP: localhost steps: - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.1" - name: Install Java uses: actions/setup-java@v4 with: @@ -223,16 +189,13 @@ jobs: swift test --no-parallel -c release integration-test-mac-spark3-iceberg: - runs-on: macos-15 + runs-on: macos-26 timeout-minutes: 20 env: SPARK_LOCAL_IP: localhost SPARK_ICEBERG_TEST_ENABLED: "true" steps: - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.1" - name: Install Java uses: actions/setup-java@v4 with: @@ -252,16 +215,13 @@ jobs: swift test --filter IcebergTest -c release integration-test-mac-spark4-iceberg: - runs-on: macos-15 + runs-on: macos-26 timeout-minutes: 20 env: SPARK_LOCAL_IP: localhost SPARK_ICEBERG_TEST_ENABLED: "true" steps: - uses: actions/checkout@v5 - - uses: swift-actions/setup-swift@d10500c1ac8822132eebbd74c48c3372c71d7ff5 - with: - swift-version: "6.1" - name: Install Java uses: actions/setup-java@v4 with: diff --git a/Examples/app/Dockerfile b/Examples/app/Dockerfile index 1bbacd2..83e620f 100644 --- a/Examples/app/Dockerfile +++ b/Examples/app/Dockerfile @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -FROM swift:6.1 AS builder +FROM swift:6.2 AS builder WORKDIR /app @@ -22,7 +22,7 @@ COPY . . RUN swift build -c release -FROM swift:6.1-slim +FROM swift:6.2-slim ARG SPARK_UID=185 diff --git a/Examples/app/Package.swift b/Examples/app/Package.swift index 2465bec..089d78a 100644 --- a/Examples/app/Package.swift +++ b/Examples/app/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 6.2 // // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file diff --git a/Examples/pi/Dockerfile b/Examples/pi/Dockerfile index 49ee0de..e8ceb41 100644 --- a/Examples/pi/Dockerfile +++ b/Examples/pi/Dockerfile @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -FROM swift:6.1 AS builder +FROM swift:6.2 AS builder WORKDIR /app @@ -22,7 +22,7 @@ COPY . . RUN swift build -c release -FROM swift:6.1-slim +FROM swift:6.2-slim ARG SPARK_UID=185 diff --git a/Examples/pi/Package.swift b/Examples/pi/Package.swift index 7b2400e..bd00e32 100644 --- a/Examples/pi/Package.swift +++ b/Examples/pi/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 6.2 // // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file diff --git a/Examples/spark-sql/Dockerfile b/Examples/spark-sql/Dockerfile index 99c0db2..bc23714 100644 --- a/Examples/spark-sql/Dockerfile +++ b/Examples/spark-sql/Dockerfile @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -FROM swift:6.1 AS builder +FROM swift:6.2 AS builder WORKDIR /app @@ -22,7 +22,7 @@ COPY . . RUN swift build -c release -FROM swift:6.1-slim +FROM swift:6.2-slim ARG SPARK_UID=185 diff --git a/Examples/spark-sql/Package.swift b/Examples/spark-sql/Package.swift index b5ed5ff..849528d 100644 --- a/Examples/spark-sql/Package.swift +++ b/Examples/spark-sql/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 6.2 // // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file diff --git a/Examples/stream/Dockerfile b/Examples/stream/Dockerfile index 16583cd..354bdd8 100644 --- a/Examples/stream/Dockerfile +++ b/Examples/stream/Dockerfile @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -FROM swift:6.1 AS builder +FROM swift:6.2 AS builder WORKDIR /app @@ -22,7 +22,7 @@ COPY . . RUN swift build -c release -FROM swift:6.1-slim +FROM swift:6.2-slim ARG SPARK_UID=185 diff --git a/Examples/stream/Package.swift b/Examples/stream/Package.swift index 8c8ef7a..cd62829 100644 --- a/Examples/stream/Package.swift +++ b/Examples/stream/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 6.2 // // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file diff --git a/Examples/web/Dockerfile b/Examples/web/Dockerfile index 681f81f..939049a 100644 --- a/Examples/web/Dockerfile +++ b/Examples/web/Dockerfile @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -FROM swift:6.1 AS builder +FROM swift:6.2 AS builder WORKDIR /app @@ -22,7 +22,7 @@ COPY . . RUN swift build -c release -FROM swift:6.1-slim +FROM swift:6.2-slim ARG SPARK_UID=185 diff --git a/Examples/web/Package.swift b/Examples/web/Package.swift index bbe010f..17934d3 100644 --- a/Examples/web/Package.swift +++ b/Examples/web/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:6.0 +// swift-tools-version: 6.2 // // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file diff --git a/Package.swift b/Package.swift index 9a3edb0..0a8968e 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 6.2 // 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 f8bb819..6172fbc 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ So far, this library project is tracking the upstream changes of [Apache Arrow]( ## Requirement - [Apache Spark 4.0.1 (September 2025)](https://github.com/apache/spark/releases/tag/v4.0.1) -- [Swift 6.0/6.1/6.2 (September 2025)](https://swift.org) +- [Swift 6.2 (September 2025)](https://swift.org) - [gRPC Swift 2.1 (July 2025)](https://github.com/grpc/grpc-swift-2/releases/tag/2.1.0) - [gRPC Swift Protobuf 2.1 (August 2025)](https://github.com/grpc/grpc-swift-protobuf/releases/tag/2.1.1) - [gRPC Swift NIO Transport 2.2 (September 2025)](https://github.com/grpc/grpc-swift-nio-transport/releases/tag/2.2.0) diff --git a/Sources/SparkConnect/Documentation.docc/GettingStarted.md b/Sources/SparkConnect/Documentation.docc/GettingStarted.md index 1486b51..976f586 100644 --- a/Sources/SparkConnect/Documentation.docc/GettingStarted.md +++ b/Sources/SparkConnect/Documentation.docc/GettingStarted.md @@ -25,7 +25,7 @@ targets: [ ## Prerequisites -- Swift 6.0 or later +- Swift 6.2 or later - macOS 15+, iOS 18+, watchOS 11+, or tvOS 18+ - A running Apache Spark cluster with Spark Connect enabled