From 481a89aacc363f8c86eb3eda34f25f2c9f5657ba Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Fri, 11 Sep 2026 17:01:48 -0700 Subject: [PATCH 1/5] ci: warm shared Rust caches on main Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/cache-warm.yml | 198 +++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 .github/workflows/cache-warm.yml diff --git a/.github/workflows/cache-warm.yml b/.github/workflows/cache-warm.yml new file mode 100644 index 0000000000..118d9b8967 --- /dev/null +++ b/.github/workflows/cache-warm.yml @@ -0,0 +1,198 @@ +# 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: Warm Rust caches + +on: + push: + branches: + - main + paths: + - "**/Cargo.toml" + - "**/Cargo.lock" + - "**/rust-toolchain" + - "**/rust-toolchain.toml" + - ".cargo/config.toml" + - ".github/actions/setup-builder/**" + - ".github/workflows/cache-warm.yml" + - ".github/workflows/ci.yml" + - ".github/workflows/public-api.yml" + - ".github/workflows/bindings_python_ci.yml" + - "bindings/python/pyproject.toml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.os }} + env: + CARGO_INCREMENTAL: "0" + CARGO_PROFILE_DEV_DEBUG: "0" + strategy: + max-parallel: 15 + matrix: + os: + - ubuntu-latest + - macos-latest + - windows-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Setup Rust toolchain + uses: $/.github/actions/setup-builder + + - name: Cache Rust artifacts + uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + + - name: Build + run: make build + + check_standalone: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Setup Rust toolchain + uses: $/.github/actions/setup-builder + + - name: Cache Rust artifacts + uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + + - name: Check each crate standalone + run: | + for pkg in $(cargo metadata --no-deps --format-version=1 | jq -r '.packages[].name'); do + echo "Checking $pkg..." + cargo check -p "$pkg" --all-targets || exit 1 + done + + build_with_no_default_features: + runs-on: ${{ matrix.os }} + env: + CARGO_INCREMENTAL: "0" + CARGO_PROFILE_DEV_DEBUG: "0" + strategy: + max-parallel: 15 + matrix: + os: + - ubuntu-latest + - macos-latest + - windows-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Setup Rust toolchain + uses: $/.github/actions/setup-builder + + - name: Cache Rust artifacts + uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + + - name: Build + run: cargo build -p iceberg --no-default-features + + tests: + name: Tests (${{ matrix.test-suite.name }}) + runs-on: ubuntu-latest + env: + CARGO_INCREMENTAL: "0" + CARGO_PROFILE_DEV_DEBUG: "0" + strategy: + max-parallel: 15 + matrix: + test-suite: + - { name: "default", args: "--all-targets --all-features --workspace" } + - { name: "doc", args: "--doc --all-features --workspace" } + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Setup Rust toolchain + uses: $/.github/actions/setup-builder + + - name: Cache Rust artifacts + uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + with: + key: ${{ matrix.test-suite.name }} + + - name: Compile tests + if: matrix.test-suite.name == 'default' + run: cargo test --no-run ${{ matrix.test-suite.args }} + + - name: Compile documentation dependencies + if: matrix.test-suite.name == 'doc' + run: cargo build --all-features --workspace + + check-public-api: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Setup Rust toolchain + uses: $/.github/actions/setup-builder + + - name: Cache Rust artifacts + uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + + - name: Install cargo-public-api + run: cargo install --locked cargo-public-api@0.51.0 + + - name: Compile public API dependencies + run: cargo check --all-features --workspace + + test: + runs-on: ${{ matrix.os }} + strategy: + max-parallel: 15 + matrix: + os: + - macos-latest + - windows-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + with: + python-version: 3.12 + + - name: Setup Rust toolchain + uses: $/.github/actions/setup-builder + + - name: Cache Rust artifacts + uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + with: + key: bindings-python + + - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + with: + working-directory: "bindings/python" + command: build + args: --out dist -i python3.12 From ad59b4a159a1638eee3a6a03d1d52f1f8908f95a Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Fri, 11 Sep 2026 17:44:04 -0700 Subject: [PATCH 2/5] ci: restrict cache writes to main Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/bindings_python_ci.yml | 6 +++--- .github/workflows/cache-warm.yml | 12 +++++++++++- .github/workflows/release_python.yml | 2 +- .github/workflows/release_python_nightly.yml | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/bindings_python_ci.yml b/.github/workflows/bindings_python_ci.yml index f804510f05..6c073c59b9 100644 --- a/.github/workflows/bindings_python_ci.yml +++ b/.github/workflows/bindings_python_ci.yml @@ -38,7 +38,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: true + enable-cache: false - name: Install tools run: | uv tool install ruff@0.15.22 @@ -75,7 +75,7 @@ jobs: if: runner.os != 'Linux' uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 with: - key: bindings-python + key: bindings-python-${{ hashFiles('bindings/python/pyproject.toml') }} save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 with: @@ -85,7 +85,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: true + enable-cache: false - name: Sync dependencies working-directory: "bindings/python" shell: bash diff --git a/.github/workflows/cache-warm.yml b/.github/workflows/cache-warm.yml index 118d9b8967..a51581b26f 100644 --- a/.github/workflows/cache-warm.yml +++ b/.github/workflows/cache-warm.yml @@ -64,6 +64,8 @@ jobs: - name: Cache Rust artifacts uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + with: + save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - name: Build run: make build @@ -80,6 +82,8 @@ jobs: - name: Cache Rust artifacts uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + with: + save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - name: Check each crate standalone run: | @@ -110,6 +114,8 @@ jobs: - name: Cache Rust artifacts uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + with: + save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - name: Build run: cargo build -p iceberg --no-default-features @@ -138,6 +144,7 @@ jobs: uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 with: key: ${{ matrix.test-suite.name }} + save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - name: Compile tests if: matrix.test-suite.name == 'default' @@ -159,6 +166,8 @@ jobs: - name: Cache Rust artifacts uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + with: + save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - name: Install cargo-public-api run: cargo install --locked cargo-public-api@0.51.0 @@ -189,7 +198,8 @@ jobs: - name: Cache Rust artifacts uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 with: - key: bindings-python + key: bindings-python-${{ hashFiles('bindings/python/pyproject.toml') }} + save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 with: diff --git a/.github/workflows/release_python.yml b/.github/workflows/release_python.yml index 758bdff21b..80288ce3f4 100644 --- a/.github/workflows/release_python.yml +++ b/.github/workflows/release_python.yml @@ -193,7 +193,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: true + enable-cache: false # Verify the wheel is abi3-compatible and installable without building from source. # Skipped for cross-compiled targets since they share the same maturin config; # if abi3 is broken, the native target build will catch it. diff --git a/.github/workflows/release_python_nightly.yml b/.github/workflows/release_python_nightly.yml index ab2b2ff9c1..0d265ba245 100644 --- a/.github/workflows/release_python_nightly.yml +++ b/.github/workflows/release_python_nightly.yml @@ -127,7 +127,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: true + enable-cache: false # Verify the wheel is abi3-compatible and installable without building from source. # Skipped for cross-compiled targets since they share the same maturin config; # if abi3 is broken, the native target build will catch it. From 7f6e52ea5f0d4299998ed29599065cb62faab29f Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Fri, 11 Sep 2026 17:47:41 -0700 Subject: [PATCH 3/5] ci: refresh Rust caches in main workflows Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/bindings_python_ci.yml | 12 ++ .github/workflows/cache-warm.yml | 208 ----------------------- .github/workflows/ci.yml | 11 ++ .github/workflows/public-api.yml | 11 ++ 4 files changed, 34 insertions(+), 208 deletions(-) delete mode 100644 .github/workflows/cache-warm.yml diff --git a/.github/workflows/bindings_python_ci.yml b/.github/workflows/bindings_python_ci.yml index 6c073c59b9..c4545cb12e 100644 --- a/.github/workflows/bindings_python_ci.yml +++ b/.github/workflows/bindings_python_ci.yml @@ -18,6 +18,18 @@ name: Bindings Python CI on: + push: + branches: + - main + paths: + - "**/Cargo.toml" + - "**/Cargo.lock" + - "**/rust-toolchain" + - "**/rust-toolchain.toml" + - ".cargo/config.toml" + - ".github/actions/setup-builder/**" + - ".github/workflows/bindings_python_ci.yml" + - "bindings/python/pyproject.toml" pull_request: merge_group: diff --git a/.github/workflows/cache-warm.yml b/.github/workflows/cache-warm.yml deleted file mode 100644 index a51581b26f..0000000000 --- a/.github/workflows/cache-warm.yml +++ /dev/null @@ -1,208 +0,0 @@ -# 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: Warm Rust caches - -on: - push: - branches: - - main - paths: - - "**/Cargo.toml" - - "**/Cargo.lock" - - "**/rust-toolchain" - - "**/rust-toolchain.toml" - - ".cargo/config.toml" - - ".github/actions/setup-builder/**" - - ".github/workflows/cache-warm.yml" - - ".github/workflows/ci.yml" - - ".github/workflows/public-api.yml" - - ".github/workflows/bindings_python_ci.yml" - - "bindings/python/pyproject.toml" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -permissions: - contents: read - -jobs: - build: - runs-on: ${{ matrix.os }} - env: - CARGO_INCREMENTAL: "0" - CARGO_PROFILE_DEV_DEBUG: "0" - strategy: - max-parallel: 15 - matrix: - os: - - ubuntu-latest - - macos-latest - - windows-latest - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Setup Rust toolchain - uses: $/.github/actions/setup-builder - - - name: Cache Rust artifacts - uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - with: - save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - - - name: Build - run: make build - - check_standalone: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Setup Rust toolchain - uses: $/.github/actions/setup-builder - - - name: Cache Rust artifacts - uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - with: - save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - - - name: Check each crate standalone - run: | - for pkg in $(cargo metadata --no-deps --format-version=1 | jq -r '.packages[].name'); do - echo "Checking $pkg..." - cargo check -p "$pkg" --all-targets || exit 1 - done - - build_with_no_default_features: - runs-on: ${{ matrix.os }} - env: - CARGO_INCREMENTAL: "0" - CARGO_PROFILE_DEV_DEBUG: "0" - strategy: - max-parallel: 15 - matrix: - os: - - ubuntu-latest - - macos-latest - - windows-latest - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Setup Rust toolchain - uses: $/.github/actions/setup-builder - - - name: Cache Rust artifacts - uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - with: - save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - - - name: Build - run: cargo build -p iceberg --no-default-features - - tests: - name: Tests (${{ matrix.test-suite.name }}) - runs-on: ubuntu-latest - env: - CARGO_INCREMENTAL: "0" - CARGO_PROFILE_DEV_DEBUG: "0" - strategy: - max-parallel: 15 - matrix: - test-suite: - - { name: "default", args: "--all-targets --all-features --workspace" } - - { name: "doc", args: "--doc --all-features --workspace" } - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Setup Rust toolchain - uses: $/.github/actions/setup-builder - - - name: Cache Rust artifacts - uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - with: - key: ${{ matrix.test-suite.name }} - save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - - - name: Compile tests - if: matrix.test-suite.name == 'default' - run: cargo test --no-run ${{ matrix.test-suite.args }} - - - name: Compile documentation dependencies - if: matrix.test-suite.name == 'doc' - run: cargo build --all-features --workspace - - check-public-api: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - name: Setup Rust toolchain - uses: $/.github/actions/setup-builder - - - name: Cache Rust artifacts - uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - with: - save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - - - name: Install cargo-public-api - run: cargo install --locked cargo-public-api@0.51.0 - - - name: Compile public API dependencies - run: cargo check --all-features --workspace - - test: - runs-on: ${{ matrix.os }} - strategy: - max-parallel: 15 - matrix: - os: - - macos-latest - - windows-latest - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 - with: - python-version: 3.12 - - - name: Setup Rust toolchain - uses: $/.github/actions/setup-builder - - - name: Cache Rust artifacts - uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 - with: - key: bindings-python-${{ hashFiles('bindings/python/pyproject.toml') }} - save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - - - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 - with: - working-directory: "bindings/python" - command: build - args: --out dist -i python3.12 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef36027fdc..9f54140cfd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,17 @@ name: CI on: + push: + branches: + - main + paths: + - "**/Cargo.toml" + - "**/Cargo.lock" + - "**/rust-toolchain" + - "**/rust-toolchain.toml" + - ".cargo/config.toml" + - ".github/actions/setup-builder/**" + - ".github/workflows/ci.yml" pull_request: merge_group: diff --git a/.github/workflows/public-api.yml b/.github/workflows/public-api.yml index c99b365b91..5c67559d3b 100644 --- a/.github/workflows/public-api.yml +++ b/.github/workflows/public-api.yml @@ -18,6 +18,17 @@ name: Public API on: + push: + branches: + - main + paths: + - "**/Cargo.toml" + - "**/Cargo.lock" + - "**/rust-toolchain" + - "**/rust-toolchain.toml" + - ".cargo/config.toml" + - ".github/actions/setup-builder/**" + - ".github/workflows/public-api.yml" pull_request: merge_group: From 26bfe96f55d687b73b035e134c11ec8b13de2da6 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Fri, 11 Sep 2026 17:53:45 -0700 Subject: [PATCH 4/5] ci: keep cache hydration change focused Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/bindings_python_ci.yml | 7 +++---- .github/workflows/release_python.yml | 2 +- .github/workflows/release_python_nightly.yml | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/bindings_python_ci.yml b/.github/workflows/bindings_python_ci.yml index c4545cb12e..4b9a4a4ab0 100644 --- a/.github/workflows/bindings_python_ci.yml +++ b/.github/workflows/bindings_python_ci.yml @@ -29,7 +29,6 @@ on: - ".cargo/config.toml" - ".github/actions/setup-builder/**" - ".github/workflows/bindings_python_ci.yml" - - "bindings/python/pyproject.toml" pull_request: merge_group: @@ -50,7 +49,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: false + enable-cache: true - name: Install tools run: | uv tool install ruff@0.15.22 @@ -87,7 +86,7 @@ jobs: if: runner.os != 'Linux' uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 with: - key: bindings-python-${{ hashFiles('bindings/python/pyproject.toml') }} + key: bindings-python save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 with: @@ -97,7 +96,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: false + enable-cache: true - name: Sync dependencies working-directory: "bindings/python" shell: bash diff --git a/.github/workflows/release_python.yml b/.github/workflows/release_python.yml index 80288ce3f4..758bdff21b 100644 --- a/.github/workflows/release_python.yml +++ b/.github/workflows/release_python.yml @@ -193,7 +193,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: false + enable-cache: true # Verify the wheel is abi3-compatible and installable without building from source. # Skipped for cross-compiled targets since they share the same maturin config; # if abi3 is broken, the native target build will catch it. diff --git a/.github/workflows/release_python_nightly.yml b/.github/workflows/release_python_nightly.yml index 0d265ba245..ab2b2ff9c1 100644 --- a/.github/workflows/release_python_nightly.yml +++ b/.github/workflows/release_python_nightly.yml @@ -127,7 +127,7 @@ jobs: - uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1 with: version: "0.9.3" - enable-cache: false + enable-cache: true # Verify the wheel is abi3-compatible and installable without building from source. # Skipped for cross-compiled targets since they share the same maturin config; # if abi3 is broken, the native target build will catch it. From ea9fbd41930abeab4f79674fb98490ecef85d07f Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Fri, 11 Sep 2026 17:57:48 -0700 Subject: [PATCH 5/5] ci: reuse prior workflow path filters Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/bindings_python_ci.yml | 19 ++++++++++++------- .github/workflows/ci.yml | 19 ++++++++++++------- .github/workflows/public-api.yml | 8 +------- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/.github/workflows/bindings_python_ci.yml b/.github/workflows/bindings_python_ci.yml index 4b9a4a4ab0..84ce59fca8 100644 --- a/.github/workflows/bindings_python_ci.yml +++ b/.github/workflows/bindings_python_ci.yml @@ -22,13 +22,18 @@ on: branches: - main paths: - - "**/Cargo.toml" - - "**/Cargo.lock" - - "**/rust-toolchain" - - "**/rust-toolchain.toml" - - ".cargo/config.toml" - - ".github/actions/setup-builder/**" - - ".github/workflows/bindings_python_ci.yml" + - '**' # Include all files and directories in the repository by default. + - '!.github/ISSUE_TEMPLATE/**' # Exclude files and directories that don't impact tests or code like templates, metadata, and documentation. + - '!dev/release/**' + - '!website/**' + - '!.asf.yml' + - '!.gitattributes' + - '!.gitignore' + - '!CONTRIBUTING.md' + - '!CHANGELOG.md' + - '!LICENSE' + - '!NOTICE' + - '!README.md' pull_request: merge_group: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f54140cfd..e1c6b94d59 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,13 +22,18 @@ on: branches: - main paths: - - "**/Cargo.toml" - - "**/Cargo.lock" - - "**/rust-toolchain" - - "**/rust-toolchain.toml" - - ".cargo/config.toml" - - ".github/actions/setup-builder/**" - - ".github/workflows/ci.yml" + # Artifacts that must be included in releases, such as LICENSE and NOTICE, are deliberately not excluded so we can verify they will be bundled. + # Include all files and directories, then filter out files and directories that don't impact code, tests, or release artifacts. + - '**' + - '!.github/ISSUE_TEMPLATE/**' + - '!dev/release/**' + - '!website/**' + - '!.asf.yml' + - '!.gitattributes' + - '!.gitignore' + - '!CONTRIBUTING.md' + - '!CHANGELOG.md' + - '!README.md' pull_request: merge_group: diff --git a/.github/workflows/public-api.yml b/.github/workflows/public-api.yml index 5c67559d3b..9b19358fd0 100644 --- a/.github/workflows/public-api.yml +++ b/.github/workflows/public-api.yml @@ -22,13 +22,7 @@ on: branches: - main paths: - - "**/Cargo.toml" - - "**/Cargo.lock" - - "**/rust-toolchain" - - "**/rust-toolchain.toml" - - ".cargo/config.toml" - - ".github/actions/setup-builder/**" - - ".github/workflows/public-api.yml" + - 'crates/**' pull_request: merge_group: