-
Notifications
You must be signed in to change notification settings - Fork 1.1k
144 lines (134 loc) · 4.15 KB
/
Copy pathfuzz.yml
File metadata and controls
144 lines (134 loc) · 4.15 KB
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: Run long fuzz tests and stress test
on:
workflow_dispatch:
push:
branches:
- main
tags:
- v*
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
env:
CARGO_INCREMENTAL: "0"
CARGO_NET_RETRY: 10
jobs:
run-fuzz-tests:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust"
cache-on-failure: true
- uses: "./.github/shared/setup-sccache"
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Set up Python 3.10
uses: useblacksmith/setup-python@v6
with:
python-version: "3.10"
- name: Build
run: cargo build --verbose --locked --all-features
- name: Run fuzz tests
env:
RUST_BACKTRACE: 1
FUZZ_MULTIPLIER: "0.5"
run: cargo nextest run --locked --no-fail-fast -E 'binary(fuzz_tests)' --failure-output=final
run-long-fuzz-tests:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust"
cache-on-failure: true
- uses: "./.github/shared/setup-sccache"
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Set up Python 3.10
uses: useblacksmith/setup-python@v6
with:
python-version: "3.10"
- name: Build
run: cargo build --verbose --locked --all-features
- name: Run ignored long fuzz tests
env:
RUST_BACKTRACE: 1
FUZZ_MULTIPLIER: "0.5"
run: cargo nextest run --locked --no-fail-fast --run-ignored ignored-only -E 'test(/fuzz_long/)' --failure-output=final
simple-stress-test:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust"
cache-on-failure: true
- uses: "./.github/shared/setup-sccache"
- name: Set up Python 3.10
uses: useblacksmith/setup-python@v6
with:
python-version: "3.10"
- name: Build
run: cargo build --verbose --locked --all-features
- name: Run ignored long tests
env:
RUST_BACKTRACE: 1
run: RUSTFLAGS="--cfg shuttle" cargo run -p turso_stress --locked -- --nr-threads 3 --nr-iterations 300
shuttle-stress-test:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust-shuttle"
cache-on-failure: true
- uses: "./.github/shared/setup-sccache"
- name: Run shuttle mvcc tests
env:
RUST_BACKTRACE: "full"
RUSTFLAGS: "--cfg=shuttle"
run: cargo test -p turso_stress --locked --test shuttle_mvcc
- name: Run shuttle stress test
env:
RUST_BACKTRACE: 1
RUSTFLAGS: "--cfg=shuttle"
run: cargo run -p turso_stress --locked -- --nr-threads 2 --nr-iterations 1000
libfuzzer-scalar-func:
# Allow this job to fail without failing the entire CI run
continue-on-error: true
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust-fuzz"
cache-on-failure: true
- name: Install cargo-fuzz
run: cargo install cargo-fuzz
- name: Run scalar_func fuzzer
run: cargo +nightly fuzz run scalar_func -- -max_total_time=300