@@ -187,7 +187,7 @@ jobs:
187
187
with :
188
188
sha : ${{ github.sha }}
189
189
target : ${{ steps.target.outputs.target }}
190
- artifacts : sqllogictests,metactl,meta,query
190
+ artifacts : sqllogictests,sqlsmith, metactl,meta,query
191
191
upload : false
192
192
- name : Basic Sqllogic Test
193
193
if : matrix.arch == 'x86_64'
@@ -198,29 +198,35 @@ jobs:
198
198
mkdir -p target/release
199
199
cp ./target/${{ steps.target.outputs.target }}/release/databend-{meta,query,sqllogictests} ./target/release/
200
200
bash ./scripts/ci/ci-run-sqllogic-tests.sh base
201
- - name : Pack binaries
201
+ - name : Pack Binaries
202
202
run : |
203
203
target=${{ steps.target.outputs.target }}
204
204
version=${{ needs.create_release.outputs.version }}
205
205
mkdir -p release/${target}/{bin,configs,systemd,scripts}
206
- cp ./target/${target}/release/databend-* release/${target}/bin/
206
+ cp ./target/${target}/release/databend-{query,meta,metactl} release/${target}/bin/
207
207
rm -f release/${target}/bin/*.d
208
208
cp ./scripts/distribution/systemd/databend-* release/${target}/systemd/
209
209
cp ./scripts/distribution/configs/databend-* release/${target}/configs/
210
210
cp ./scripts/distribution/release-readme.txt release/${target}/readme.txt
211
211
cp -r ./scripts/distribution/local-scripts/* release/${target}/scripts/
212
212
cp -r ./scripts/distribution/package-scripts/* release/${target}/scripts/
213
213
tar -C ./release/${target} -czvf databend-${version}-${target}.tar.gz bin configs systemd scripts readme.txt
214
- - name : generate sha256sums
214
+ sha256sum databend-${version}-${target}.tar.gz >> sha256-${version}-${target}.txt
215
+ - name : Pack Testsuite
216
+ if : steps.target.outputs.target == 'x86_64-unknown-linux-gnu'
215
217
run : |
216
218
target=${{ steps.target.outputs.target }}
217
219
version=${{ needs.create_release.outputs.version }}
218
- sha256sum databend-${version}-${target}.tar.gz >> sha256-${version}-${target}.txt
220
+ mkdir -p release/testsuite/bin
221
+ cp -r ./tests/sqllogictests/suites ./release/testsuite/
222
+ cp ./target/${target}/release/databend-{sqllogictests,sqlsmith} release/testsuite/bin/
223
+ tar -C ./release/testsuite -czvf databend-testsuite-${version}-${target}.tar.gz bin suites
224
+ sha256sum databend-testsuite-${version}-${target}.tar.gz >> sha256-testsuite-${version}-${target}.txt
219
225
- name : post sha256
220
226
uses : actions/upload-artifact@v3
221
227
with :
222
228
name : sha256sums
223
- path : sha256-${{ needs.create_release.outputs.version }}-${{ steps.target.outputs.target }} .txt
229
+ path : sha256-* .txt
224
230
retention-days : 1
225
231
- name : Publish Binaries
226
232
uses : ./.github/actions/publish_binary
@@ -233,6 +239,15 @@ jobs:
233
239
with :
234
240
version : ${{ needs.create_release.outputs.version }}
235
241
target : ${{ steps.target.outputs.target }}
242
+ - name : Publish Testsuite
243
+ if : steps.target.outputs.target == 'x86_64-unknown-linux-gnu'
244
+ uses : ./.github/actions/publish_binary
245
+ env :
246
+ GH_TOKEN : ${{ github.token }}
247
+ with :
248
+ version : ${{ needs.create_release.outputs.version }}
249
+ target : ${{ steps.target.outputs.target }}
250
+ category : testsuite
236
251
237
252
hdfs :
238
253
runs-on : [self-hosted, X64, Linux, 16c32g, gcp]
@@ -283,16 +298,12 @@ jobs:
283
298
cp -r ./scripts/distribution/local-scripts/* release/${target}/scripts/
284
299
cp -r ./scripts/distribution/package-scripts/* release/${target}/scripts/
285
300
tar -C ./release/${target} -czvf databend-hdfs-${version}-${target}.tar.gz bin configs systemd scripts readme.txt
286
- - name : generate sha256sums
287
- run : |
288
- target=${{ steps.target.outputs.target }}
289
- version=${{ needs.create_release.outputs.version }}
290
301
sha256sum databend-hdfs-${version}-${target}.tar.gz >> sha256-hdfs-${version}-${target}.txt
291
302
- name : post sha256
292
303
uses : actions/upload-artifact@v3
293
304
with :
294
305
name : sha256sums
295
- path : sha256-hdfs-${{ needs.create_release.outputs.version }}-${{ steps.target.outputs.target }} .txt
306
+ path : sha256-* .txt
296
307
retention-days : 1
297
308
- name : Publish Binaries
298
309
uses : ./.github/actions/publish_binary
@@ -307,23 +318,6 @@ jobs:
307
318
target : ${{ steps.target.outputs.target }}
308
319
category : hdfs
309
320
310
- testsuites :
311
- runs-on : ubuntu-latest
312
- needs : create_release
313
- steps :
314
- - name : Checkout
315
- uses : actions/checkout@v4
316
- - name : Get the version
317
- id : get_version
318
- run : echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT
319
- - name : Upload to github release
320
- env :
321
- GH_TOKEN : ${{ github.token }}
322
- run : |
323
- version=${{ needs.create_release.outputs.version }}
324
- tar -C ./tests/sqllogictests -czvf testsuites-${version}.tar.gz suites
325
- gh release upload ${version} testsuites-${version}.tar.gz --clobber
326
-
327
321
docker_combined :
328
322
name : docker combined
329
323
runs-on : ubuntu-latest
@@ -559,6 +553,35 @@ jobs:
559
553
version : ${{ needs.create_release.outputs.version }}
560
554
runner_provider : aws
561
555
556
+ sqlsmith :
557
+ needs : [create_release, linux]
558
+ runs-on : ubuntu-latest
559
+ steps :
560
+ - uses : actions/checkout@v4
561
+ - name : Download artifact for release
562
+ env :
563
+ GH_TOKEN : ${{ github.token }}
564
+ run : |
565
+ version=${{ needs.create_release.outputs.version }}
566
+ target=x86_64-unknown-linux-gnu
567
+ mkdir -p ./distro/
568
+ mkdir -p ./target/release/
569
+ gh release download ${version} --pattern "databend-${version}-${target}.tar.gz" --dir distro/
570
+ gh release download ${version} --pattern "databend-testsuite-${version}-${target}.tar.gz" --dir distro/
571
+ tar x -C ./target/release -f ./distro/databend-${version}-${target}.tar.gz --strip-components 1 bin/
572
+ tar x -C ./target/release -f ./distro/databend-testsuite-${version}-${target}.tar.gz --strip-components 1 bin/
573
+ chmod +x ./target/release/databend-*
574
+ - name : Run sqlsmith
575
+ timeout-minutes : 30
576
+ shell : bash
577
+ run : |
578
+ bash ./scripts/ci/ci-run-sqlsmith-tests.sh
579
+ - name : Upload failure
580
+ if : failure()
581
+ uses : ./.github/actions/artifact_failure
582
+ with :
583
+ name : test-sqlsmith
584
+
562
585
bindings_python :
563
586
needs : create_release
564
587
uses : ./.github/workflows/bindings.python.yml
0 commit comments