From 854d144f7887d0846ead28039253a267818b81d4 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Sat, 17 Jan 2026 12:15:11 -0800 Subject: [PATCH 1/3] get msrv from cargo.toml --- .github/workflows/ci.yml | 11 +++++++---- .github/workflows/publish.yml | 12 ++++++++---- .github/workflows/release_python.yml | 12 ++++++++---- .github/workflows/release_python_nightly.yml | 12 ++++++++---- 4 files changed, 31 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f393309bcb..88ac66d02f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,9 +40,6 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} cancel-in-progress: true -env: - rust_msrv: "1.87" - jobs: check: runs-on: ${{ matrix.os }} @@ -184,10 +181,16 @@ jobs: uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} + - name: Get MSRV + id: get-msrv + run: | + msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') + echo "msrv=$msrv" >> $GITHUB_OUTPUT + echo "MSRV is $msrv" - name: Setup MSRV Rust toolchain uses: ./.github/actions/setup-builder with: - rust-version: ${{ env.rust_msrv }} + rust-version: ${{ steps.get-msrv.outputs.msrv }} - name: Setup Nightly Rust toolchain uses: ./.github/actions/setup-builder - name: Check MSRV diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 66c17a668d..581d7e3e7b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,9 +26,6 @@ on: - "v[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" workflow_dispatch: -env: - rust_msrv: "1.87" - jobs: publish: runs-on: ubuntu-latest @@ -48,10 +45,17 @@ jobs: steps: - uses: actions/checkout@v6 + - name: Get MSRV + id: get-msrv + run: | + msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') + echo "msrv=$msrv" >> $GITHUB_OUTPUT + echo "MSRV is $msrv" + - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: - rust-version: ${{ env.rust_msrv }} + rust-version: ${{ steps.get-msrv.outputs.msrv }} - name: Publish ${{ matrix.package }} working-directory: ${{ matrix.package }} diff --git a/.github/workflows/release_python.yml b/.github/workflows/release_python.yml index 85663fc75f..bbf7e19cf9 100644 --- a/.github/workflows/release_python.yml +++ b/.github/workflows/release_python.yml @@ -24,9 +24,6 @@ on: - completed workflow_dispatch: -env: - rust_msrv: "1.87" - concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }}-${{ github.event_name }} cancel-in-progress: true @@ -147,10 +144,17 @@ jobs: - uses: actions/setup-python@v6 with: python-version: 3.12 + - name: Get MSRV + id: get-msrv + run: | + msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') + echo "msrv=$msrv" >> $GITHUB_OUTPUT + echo "MSRV is $msrv" + - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: - rust-version: ${{ env.rust_msrv }} + rust-version: ${{ steps.get-msrv.outputs.msrv }} - uses: PyO3/maturin-action@v1 with: target: ${{ matrix.target }} diff --git a/.github/workflows/release_python_nightly.yml b/.github/workflows/release_python_nightly.yml index 833b8ee6a6..2989abb9e9 100644 --- a/.github/workflows/release_python_nightly.yml +++ b/.github/workflows/release_python_nightly.yml @@ -22,9 +22,6 @@ on: - cron: "0 0 * * *" # Runs at midnight UTC every day workflow_dispatch: # Allows manual triggering -env: - rust_msrv: "1.87" - permissions: contents: read @@ -88,10 +85,17 @@ jobs: with: python-version: 3.12 + - name: Get MSRV + id: get-msrv + run: | + msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') + echo "msrv=$msrv" >> $GITHUB_OUTPUT + echo "MSRV is $msrv" + - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: - rust-version: ${{ env.rust_msrv }} + rust-version: ${{ steps.get-msrv.outputs.msrv }} - uses: PyO3/maturin-action@v1 with: From 4323df7388a0c6adba1df74a2b84c060b75289cf Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Sat, 17 Jan 2026 12:16:11 -0800 Subject: [PATCH 2/3] refactor --- .github/actions/get-msrv/action.yml | 35 ++++++++++++++++++++ .github/workflows/ci.yml | 5 +-- .github/workflows/publish.yml | 5 +-- .github/workflows/release_python.yml | 5 +-- .github/workflows/release_python_nightly.yml | 5 +-- 5 files changed, 39 insertions(+), 16 deletions(-) create mode 100644 .github/actions/get-msrv/action.yml diff --git a/.github/actions/get-msrv/action.yml b/.github/actions/get-msrv/action.yml new file mode 100644 index 0000000000..f0b03e2777 --- /dev/null +++ b/.github/actions/get-msrv/action.yml @@ -0,0 +1,35 @@ +# 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 +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: Get MSRV +description: Get the Minimum Supported Rust Version from Cargo.toml + +outputs: + msrv: + description: The MSRV extracted from Cargo.toml + value: ${{ steps.get-msrv.outputs.msrv }} + +runs: + using: composite + steps: + - name: Get MSRV + id: get-msrv + shell: bash + run: | + msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') + echo "msrv=$msrv" >> $GITHUB_OUTPUT + echo "MSRV is $msrv" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88ac66d02f..af9b812c77 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -183,10 +183,7 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Get MSRV id: get-msrv - run: | - msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') - echo "msrv=$msrv" >> $GITHUB_OUTPUT - echo "MSRV is $msrv" + uses: ./.github/actions/get-msrv - name: Setup MSRV Rust toolchain uses: ./.github/actions/setup-builder with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 581d7e3e7b..6b4b3da841 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -47,10 +47,7 @@ jobs: - name: Get MSRV id: get-msrv - run: | - msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') - echo "msrv=$msrv" >> $GITHUB_OUTPUT - echo "MSRV is $msrv" + uses: ./.github/actions/get-msrv - name: Setup Rust toolchain uses: ./.github/actions/setup-builder diff --git a/.github/workflows/release_python.yml b/.github/workflows/release_python.yml index bbf7e19cf9..dba532a31c 100644 --- a/.github/workflows/release_python.yml +++ b/.github/workflows/release_python.yml @@ -146,10 +146,7 @@ jobs: python-version: 3.12 - name: Get MSRV id: get-msrv - run: | - msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') - echo "msrv=$msrv" >> $GITHUB_OUTPUT - echo "MSRV is $msrv" + uses: ./.github/actions/get-msrv - name: Setup Rust toolchain uses: ./.github/actions/setup-builder diff --git a/.github/workflows/release_python_nightly.yml b/.github/workflows/release_python_nightly.yml index 2989abb9e9..8bdd9d1003 100644 --- a/.github/workflows/release_python_nightly.yml +++ b/.github/workflows/release_python_nightly.yml @@ -87,10 +87,7 @@ jobs: - name: Get MSRV id: get-msrv - run: | - msrv=$(grep '^rust-version' Cargo.toml | sed 's/.*"\(.*\)".*/\1/') - echo "msrv=$msrv" >> $GITHUB_OUTPUT - echo "MSRV is $msrv" + uses: ./.github/actions/get-msrv - name: Setup Rust toolchain uses: ./.github/actions/setup-builder From 0a02ba9f75428aee4d7d27c976a0c25969a7aa79 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Sat, 17 Jan 2026 17:04:40 -0800 Subject: [PATCH 3/3] fix ci --- crates/integration_tests/testdata/spark/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/integration_tests/testdata/spark/Dockerfile b/crates/integration_tests/testdata/spark/Dockerfile index e31e2273d9..7de700bde2 100644 --- a/crates/integration_tests/testdata/spark/Dockerfile +++ b/crates/integration_tests/testdata/spark/Dockerfile @@ -27,7 +27,7 @@ ENV PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.7-src.zip:$ RUN mkdir -p ${HADOOP_HOME} && mkdir -p ${SPARK_HOME} && mkdir -p /home/iceberg/spark-events WORKDIR ${SPARK_HOME} -ENV SPARK_VERSION=3.5.7 +ENV SPARK_VERSION=3.5.8 ENV ICEBERG_SPARK_RUNTIME_VERSION=3.5_2.12 ENV ICEBERG_VERSION=1.10.0