Skip to content

Commit 6bf97ac

Browse files
committed
ci: Split out the fuzz testing
Tacking the fuzz testing onto the PR testing not a good idea. It causes completely unrelated tests to fail, and doesn't guarantee it will find newly introduced ones. Running daily is likely better. Changelog-None No user visible change
1 parent f39a43c commit 6bf97ac

File tree

2 files changed

+68
-27
lines changed

2 files changed

+68
-27
lines changed

.github/workflows/ci.yaml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -179,33 +179,6 @@ jobs:
179179
tar -xaf cln-${{ matrix.CFG }}.tar.bz2
180180
make -j $(nproc) check-units installcheck VALGRIND=${{ matrix.VALGRIND }}
181181
182-
check-fuzz:
183-
name: Run fuzz regression tests
184-
runs-on: ubuntu-22.04
185-
needs:
186-
- prebuild
187-
steps:
188-
- name: Checkout
189-
uses: actions/checkout@v3
190-
191-
- name: Set up Python 3.8
192-
uses: actions/setup-python@v4
193-
with:
194-
python-version: 3.8
195-
196-
- name: Install dependencies
197-
run: |
198-
bash -x .github/scripts/setup.sh
199-
pip install -U pip wheel poetry
200-
# Export and then use pip to install into the current env
201-
poetry export -o /tmp/requirements.txt --without-hashes --with dev
202-
pip install -r /tmp/requirements.txt
203-
204-
- name: Build
205-
run: |
206-
./configure --enable-debugbuild --enable-fuzzing --enable-address-sanitizer --enable-ub-sanitizer --disable-valgrind CC=clang
207-
make -j $(nproc) check-fuzz
208-
209182
integration:
210183
name: Test CLN ${{ matrix.name }}
211184
runs-on: ubuntu-22.04

.github/workflows/fuzz.yaml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
name: Fuzz Testing
3+
on:
4+
schedule:
5+
- cron: '41 3 * * *'
6+
env:
7+
# Makes the upload-artifact work more reliably at the cost
8+
# of a bit of compile time.
9+
RUST_PROFILE: release
10+
SLOW_MACHINE: 1
11+
jobs:
12+
prebuild:
13+
name: Pre-build checks
14+
runs-on: ubuntu-20.04
15+
timeout-minutes: 30
16+
env:
17+
BOLTDIR: bolts
18+
strategy:
19+
fail-fast: true
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v3
23+
24+
- name: Set up Python 3.8
25+
uses: actions/setup-python@v4
26+
with:
27+
python-version: 3.8
28+
29+
- name: Install dependencies
30+
run: |
31+
bash -x .github/scripts/setup.sh
32+
pip install -U pip wheel poetry
33+
# Export and then use pip to install into the current env
34+
poetry export -o /tmp/requirements.txt --without-hashes --with dev
35+
pip install -r /tmp/requirements.txt
36+
# We're going to check BOLT quotes, so get the latest version
37+
git clone https://github.com/lightning/bolts.git ../${BOLTDIR}
38+
- name: Build
39+
run: |
40+
./configure --enable-debugbuild --enable-rust
41+
make -j 8
42+
check-fuzz:
43+
name: Run fuzz regression tests
44+
runs-on: ubuntu-22.04
45+
needs:
46+
- prebuild
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@v3
50+
51+
- name: Set up Python 3.8
52+
uses: actions/setup-python@v4
53+
with:
54+
python-version: 3.8
55+
56+
- name: Install dependencies
57+
run: |
58+
bash -x .github/scripts/setup.sh
59+
pip install -U pip wheel poetry
60+
# Export and then use pip to install into the current env
61+
poetry export -o /tmp/requirements.txt --without-hashes --with dev
62+
pip install -r /tmp/requirements.txt
63+
64+
- name: Build
65+
run: |
66+
./configure --enable-debugbuild --enable-fuzzing --enable-address-sanitizer --enable-ub-sanitizer --disable-valgrind CC=clang
67+
make -j $(nproc) check-fuzz
68+

0 commit comments

Comments
 (0)