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
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
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
0 commit comments