-
Notifications
You must be signed in to change notification settings - Fork 3
73 lines (67 loc) · 1.91 KB
/
cifuzz.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: CIFuzz
on:
workflow_dispatch:
schedule:
- cron: "*/107 * * * *"
jobs:
build-duckdb:
name: Build DuckDB
uses: ./.github/workflows/build_fuzzer.yml
with:
git_url: duckdb/duckdb_sqlsmith
git_tag: main
timeout-minutes: 120
fuzzer:
name: Fuzzer
needs:
- build-duckdb
strategy:
fail-fast: false
matrix:
fuzzer: [duckfuzz, sqlsmith, duckfuzz_functions]
data: [alltypes, tpch, emptyalltypes]
enable_verification: [true, false]
exclude:
- enable_verification: true
fuzzer: sqlsmith
- enable_verification: true
fuzzer: duckfuzz_functions
- enable_verification: false # this one usually fails due to a memory leak
fuzzer: sqlsmith
data: tpch
uses: ./.github/workflows/fuzz_duckdb.yml
with:
fuzzer: ${{ matrix.fuzzer }}
data: ${{ matrix.data }}
timeout-minutes: 120
max_queries: 1000
no-git-checks: false
enable_verification: ${{ matrix.enable_verification }}
secrets:
FUZZEROFDUCKSKEY: ${{ secrets.FUZZEROFDUCKSKEY }}
DUCKDB_HASH: ${{ needs.build-duckdb.outputs.duckdb-hash }}
check-issues:
name: Check existing issues
needs:
- build-duckdb
runs-on: ubuntu-latest
env:
FUZZEROFDUCKSKEY: ${{ secrets.FUZZEROFDUCKSKEY }}
DUCKDB_HASH: ${{ needs.build-duckdb.outputs.duckdb-hash }}
steps:
- uses: actions/checkout@v4
with:
repository: duckdb/duckdb_sqlsmith
path: duckdb_sqlsmith
sparse-checkout: |
scripts
- name: Download a single artifact
uses: actions/download-artifact@v4
with:
name: duckdb
- name: Fuzz
shell: bash
run: |
chmod +x duckdb
cd duckdb_sqlsmith
python3 scripts/run_fuzzer.py --duckfuzz --alltypes --shell=../duckdb