4848jobs :
4949 precondition :
5050 name : Check changes
51- runs-on : ubuntu-22.04
51+ runs-on : ubuntu-24.04
52+ container :
53+ image : amd64/rust
5254 env :
5355 GITHUB_PREV_SHA : ${{ github.event.before }}
5456 outputs :
6769 git fetch https://github.com/$GITHUB_REPOSITORY.git ${GITHUB_REF#refs/heads/}
6870 git -c user.name='Apache DataFusion Comet Test Account' -c user.email='comettestacc@gmail.com' merge --no-commit --progress --squash FETCH_HEAD
6971 git -c user.name='Apache DataFusion Comet Test Account' -c user.email='comettestacc@gmail.com' commit -m "Merged commit" --allow-empty
70-
72+ - name : Setup Rust & Java toolchain
73+ uses : ./.github/actions/setup-builder
74+ with :
75+ rust-version : ${{ env.RUST_VERSION }}
76+ jdk-version : 17
77+ - name : Restore Cargo cache
78+ uses : actions/cache/restore@v5
79+ with :
80+ path : |
81+ ~/.cargo/registry
82+ ~/.cargo/git
83+ native/target
84+ key : ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock', 'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
85+ restore-keys : |
86+ ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock', 'native/**/Cargo.toml') }}-
87+ - name : Build native library (CI profile)
88+ run : |
89+ cd native
90+ cargo build --profile ci
91+ env :
92+ RUSTFLAGS : " -Ctarget-cpu=x86-64-v3 -Clink-arg=-fuse-ld=bfd"
93+ - name : Upload native library
94+ uses : actions/upload-artifact@v7
95+ with :
96+ name : native-lib-linux
97+ path : native/target/ci/libcomet.so
98+ retention-days : 1
99+ - name : Save Cargo cache
100+ uses : actions/cache/save@v5
101+ if : github.ref == 'refs/heads/main'
102+ with :
103+ path : |
104+ ~/.cargo/registry
105+ ~/.cargo/git
106+ native/target
107+ key : ${{ runner.os }}-cargo-ci-${{ hashFiles('native/**/Cargo.lock', 'native/**/Cargo.toml') }}-${{ hashFiles('native/**/*.rs') }}
108+
71109 sql_core-1 :
72110 needs : precondition
73111 name : " Build modules: sql_core-1"
@@ -76,11 +114,6 @@ jobs:
76114 image : amd64/rust
77115 steps :
78116 - uses : actions/checkout@v6
79- - name : Setup Rust & Java toolchain
80- uses : ./.github/actions/setup-builder
81- with :
82- rust-version : ${{env.RUST_VERSION}}
83- jdk-version : ${{ inputs.java }}
84117 - name : Download native library
85118 uses : actions/download-artifact@v8
86119 with :
0 commit comments