Skip to content

Commit f0c658a

Browse files
authored
Merge branch 'main' into table_maintenance_pypaimon
2 parents 0dca5ce + ffa4d0c commit f0c658a

126 files changed

Lines changed: 26422 additions & 3192 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 45 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
check:
3939
runs-on: ubuntu-latest
4040
steps:
41-
- uses: actions/checkout@v6
41+
- uses: actions/checkout@v7
4242

4343
- name: Validate .asf.yaml
4444
run: python3 scripts/validate_asf_yaml.py
@@ -69,7 +69,7 @@ jobs:
6969
- macos-latest
7070
- windows-latest
7171
steps:
72-
- uses: actions/checkout@v6
72+
- uses: actions/checkout@v7
7373
- name: Build
7474
run: cargo build --features fulltext,vortex,mosaic
7575

@@ -82,7 +82,7 @@ jobs:
8282
- macos-latest
8383
- windows-latest
8484
steps:
85-
- uses: actions/checkout@v6
85+
- uses: actions/checkout@v7
8686

8787
- name: Test
8888
run: cargo test -p paimon --all-targets --features fulltext,vortex,mosaic
@@ -101,12 +101,40 @@ jobs:
101101
RUST_BACKTRACE: full
102102

103103
integration:
104+
name: integration (${{ matrix.suite }})
104105
runs-on: ubuntu-latest
106+
strategy:
107+
fail-fast: false
108+
matrix:
109+
include:
110+
- suite: rust
111+
needs_docker: true
112+
needs_lumina: false
113+
needs_uv: false
114+
- suite: datafusion
115+
needs_docker: true
116+
needs_lumina: true
117+
needs_uv: false
118+
- suite: lumina
119+
needs_docker: false
120+
needs_lumina: true
121+
needs_uv: false
122+
- suite: python
123+
needs_docker: true
124+
needs_lumina: false
125+
needs_uv: true
126+
- suite: go
127+
needs_docker: true
128+
needs_lumina: false
129+
needs_uv: false
130+
env:
131+
RUST_LOG: DEBUG
132+
RUST_BACKTRACE: full
105133
steps:
106-
- uses: actions/checkout@v6
134+
- uses: actions/checkout@v7
107135

108136
- name: Rust Cache
109-
uses: actions/cache@v5
137+
uses: actions/cache@v6
110138
with:
111139
path: |
112140
~/.cargo/registry
@@ -117,65 +145,60 @@ jobs:
117145
integration-${{ runner.os }}-
118146
119147
- name: Start Docker containers
148+
if: matrix.needs_docker == true
120149
run: make docker-up
121150

122151
- name: Rust Integration Test
152+
if: matrix.suite == 'rust'
123153
run: cargo test -p paimon-integration-tests --all-targets
124-
env:
125-
RUST_LOG: DEBUG
126-
RUST_BACKTRACE: full
127154

128155
- name: Install lumina native library
156+
if: matrix.needs_lumina == true
129157
run: |
130158
pip install lumina-data
131159
echo "LUMINA_LIB_PATH=$(python3 -c 'import lumina_data; print(lumina_data.__path__[0])')/lib/liblumina_py.so" >> $GITHUB_ENV
132160
133161
- name: Core Lumina Native Build Test
162+
if: matrix.suite == 'lumina'
134163
run: >
135164
cargo test -p paimon
136165
table::lumina_index_build_builder::tests::test_execute_writes_lumina_index_manifest
137166
--features fulltext,vortex
138167
-- --ignored --exact
139-
env:
140-
RUST_LOG: DEBUG
141-
RUST_BACKTRACE: full
142168
143169
- name: DataFusion Lumina Build Query E2E Test
170+
if: matrix.suite == 'lumina'
144171
run: >
145172
cargo test -p paimon-datafusion
146173
--features vortex
147174
vector_search_tests::test_lumina_build_then_vector_search_query
148175
-- --ignored --exact
149-
env:
150-
RUST_LOG: DEBUG
151-
RUST_BACKTRACE: full
152176
153177
- name: DataFusion Integration Test
178+
if: matrix.suite == 'datafusion'
154179
run: cargo test -p paimon-datafusion --all-targets
155-
env:
156-
RUST_LOG: DEBUG
157-
RUST_BACKTRACE: full
158180

159181
- name: DataFusion Vortex Integration Test
182+
if: matrix.suite == 'datafusion'
160183
run: cargo test -p paimon-datafusion --features vortex --test vortex_tables
161-
env:
162-
RUST_LOG: DEBUG
163-
RUST_BACKTRACE: full
164184

165185
- name: Install uv
166-
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b
186+
if: matrix.needs_uv == true
187+
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39
167188
with:
168189
version: "0.9.3"
169190
enable-cache: true
170191

171192
- name: Python Binding Integration Test
193+
if: matrix.suite == 'python'
172194
working-directory: bindings/python
173195
run: make install && make test
174196

175197
- name: Go Integration Test
198+
if: matrix.suite == 'go'
176199
working-directory: bindings/go
177200
run: make test
178201

179202
- name: Stop Docker containers
180-
if: always()
203+
if: ${{ always() && matrix.needs_docker }}
181204
run: make docker-down

.github/workflows/release-go-binding.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
tag: ${{ steps.meta.outputs.tag }}
4848
source_sha: ${{ steps.meta.outputs.source_sha }}
4949
steps:
50-
- uses: actions/checkout@v6
50+
- uses: actions/checkout@v7
5151
with:
5252
fetch-depth: 0
5353
ref: ${{ inputs.source_ref || github.sha }}
@@ -111,7 +111,7 @@ jobs:
111111
expected_file: libpaimon_c.darwin.arm64.dylib.zst
112112

113113
steps:
114-
- uses: actions/checkout@v6
114+
- uses: actions/checkout@v7
115115
with:
116116
ref: ${{ needs.validate.outputs.source_sha }}
117117

@@ -121,7 +121,7 @@ jobs:
121121
rustup default stable
122122
123123
- name: Cache Rust build outputs
124-
uses: actions/cache@v5
124+
uses: actions/cache@v6
125125
with:
126126
path: |
127127
~/.cargo/bin/
@@ -162,7 +162,7 @@ jobs:
162162
- build
163163
runs-on: ubuntu-latest
164164
steps:
165-
- uses: actions/checkout@v6
165+
- uses: actions/checkout@v7
166166
with:
167167
fetch-depth: 0
168168
ref: ${{ needs.validate.outputs.source_sha }}

.github/workflows/release-rust.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
- paimon
4646
- paimon-datafusion
4747
steps:
48-
- uses: actions/checkout@v6
48+
- uses: actions/checkout@v7
4949

5050
- name: Setup Rust toolchain
5151
run: |

.github/workflows/release_python_binding.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
sdist:
4242
runs-on: ubuntu-latest
4343
steps:
44-
- uses: actions/checkout@v6
44+
- uses: actions/checkout@v7
4545

4646
- uses: PyO3/maturin-action@v1
4747
with:
@@ -68,7 +68,7 @@ jobs:
6868
- { os: ubuntu-latest, target: "x86_64" }
6969
- { os: ubuntu-latest, target: "aarch64", manylinux: "manylinux_2_28" }
7070
steps:
71-
- uses: actions/checkout@v6
71+
- uses: actions/checkout@v7
7272

7373
- uses: PyO3/maturin-action@v1
7474
with:

Cargo.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,16 @@ rust-version = "1.91.0"
3030
[workspace.dependencies]
3131
arrow = "58.0"
3232
arrow-array = { version = "58.0", features = ["ffi"] }
33+
arrow-arith = "58.0"
3334
arrow-buffer = "58.0"
3435
arrow-schema = "58.0"
3536
arrow-cast = "58.0"
3637
arrow-ord = "58.0"
3738
arrow-row = "58.0"
3839
arrow-select = "58.0"
39-
datafusion = "53.0.0"
40-
datafusion-ffi = "53.0.0"
40+
arrow-string = "58.0"
41+
datafusion = "54.0.0"
42+
datafusion-ffi = "54.0.0"
4143
paimon = { version = "0.3.0", path = "crates/paimon" }
4244
parquet = "58.0"
4345
constant_time_eq = ">=0.4.0, <0.5.0"

0 commit comments

Comments
 (0)