This is an automated email from the ASF dual-hosted git repository.
mbutrovich pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git
The following commit(s) were added to refs/heads/main by this push:
new 1e1b88d1a chore: Adjust native artifact caching key in CI (#3476)
1e1b88d1a is described below
commit 1e1b88d1a2d3e1c0d651e410076dfbafcc9108a1
Author: Matt Butrovich <[email protected]>
AuthorDate: Tue Feb 10 15:17:46 2026 -0500
chore: Adjust native artifact caching key in CI (#3476)
The Cargo cache key only hashed Cargo.lock and Cargo.toml, not the actual
.rs source files. This meant changes to Rust code without dependency changes
would restore a stale cache, potentially using an old libcomet.so built from
different source.
Add hashFiles('native/**/*.rs') to the cache key and update restore-keys to
use the dependency hash as a prefix, allowing proper incremental builds when
only source changes.
---
.github/workflows/iceberg_spark_test.yml | 6 +++---
.github/workflows/pr_build_linux.yml | 12 ++++++------
.github/workflows/pr_build_macos.yml | 6 +++---
.github/workflows/spark_sql_test.yml | 6 +++---
4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/.github/workflows/iceberg_spark_test.yml
b/.github/workflows/iceberg_spark_test.yml
index faa59a0da..d17195616 100644
--- a/.github/workflows/iceberg_spark_test.yml
+++ b/.github/workflows/iceberg_spark_test.yml
@@ -69,9 +69,9 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
restore-keys: |
- ${{ runner.os }}-cargo-ci-
+ ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-
- name: Build native library
# Use CI profile for faster builds (no LTO) and to share cache with
pr_build_linux.yml.
@@ -88,7 +88,7 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
- name: Upload native library
uses: actions/upload-artifact@v6
diff --git a/.github/workflows/pr_build_linux.yml
b/.github/workflows/pr_build_linux.yml
index 59ded4620..ae433b7db 100644
--- a/.github/workflows/pr_build_linux.yml
+++ b/.github/workflows/pr_build_linux.yml
@@ -84,9 +84,9 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
restore-keys: |
- ${{ runner.os }}-cargo-ci-
+ ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-
- name: Build native library (CI profile)
run: |
@@ -112,7 +112,7 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
# Run Rust tests (runs in parallel with build-native, uses debug builds)
linux-test-rust:
@@ -138,9 +138,9 @@ jobs:
~/.cargo/git
native/target
# Note: Java version intentionally excluded - Rust target is
JDK-independent
- key: ${{ runner.os }}-cargo-debug-${{
hashFiles('native/**/Cargo.lock', 'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-debug-${{
hashFiles('native/**/Cargo.lock', 'native/**/Cargo.toml') }}-${{
hashFiles('native/**/*.rs') }}
restore-keys: |
- ${{ runner.os }}-cargo-debug-
+ ${{ runner.os }}-cargo-debug-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-
- name: Rust test steps
uses: ./.github/actions/rust-test
@@ -153,7 +153,7 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-debug-${{
hashFiles('native/**/Cargo.lock', 'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-debug-${{
hashFiles('native/**/Cargo.lock', 'native/**/Cargo.toml') }}-${{
hashFiles('native/**/*.rs') }}
linux-test:
needs: build-native
diff --git a/.github/workflows/pr_build_macos.yml
b/.github/workflows/pr_build_macos.yml
index b37c7ccb4..9c4064f5d 100644
--- a/.github/workflows/pr_build_macos.yml
+++ b/.github/workflows/pr_build_macos.yml
@@ -84,9 +84,9 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
restore-keys: |
- ${{ runner.os }}-cargo-ci-
+ ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-
- name: Build native library (CI profile)
run: |
@@ -112,7 +112,7 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
macos-aarch64-test:
needs: build-native
diff --git a/.github/workflows/spark_sql_test.yml
b/.github/workflows/spark_sql_test.yml
index 610baa9f2..133270470 100644
--- a/.github/workflows/spark_sql_test.yml
+++ b/.github/workflows/spark_sql_test.yml
@@ -75,9 +75,9 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
restore-keys: |
- ${{ runner.os }}-cargo-ci-
+ ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-
- name: Build native library (CI profile)
run: |
@@ -101,7 +101,7 @@ jobs:
~/.cargo/registry
~/.cargo/git
native/target
- key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}
+ key: ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock',
'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
spark-sql-test:
needs: build-native
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]