@@ -2,7 +2,7 @@ name: Fuzz VAmPI with WuppieFuzz, EvoMaster, RESTler
22
33on :
44 push :
5- branches : [main]
5+ branches : [main, publish-action ]
66 pull_request :
77 branches : [main]
88
5353 - name : Checkout Repository
5454 uses : actions/checkout@v4
5555
56- # Set up Rust Toolchain first so cargo is available
57- - name : rust-toolchain
58- uses : actions-rs/toolchain@v1.0.6
59- with :
60- toolchain : stable
61- override : true
62-
63- # Clone WuppieFuzz Repository before caching
64- - name : Clone WuppieFuzz Repository
65- run : git clone https://github.com/TNO-S3/WuppieFuzz.git
66-
67- # Add caching for Rust dependencies and build artifacts
68- - name : Cache Rust dependencies and build artifacts
69- id : cache-cargo
70- uses : actions/cache@v4.2.2
71- with :
72- path : |
73- ~/.cargo/bin/
74- ~/.cargo/registry/index/
75- ~/.cargo/registry/cache/
76- ~/.cargo/git/db/
77- WuppieFuzz/target/
78- key : ${{ runner.os }}-cargo-${{ hashFiles('WuppieFuzz/Cargo.lock') }}
79- restore-keys : |
80- ${{ runner.os }}-cargo-
81-
82- # Build WuppieFuzz only if cache miss
83- - name : Build WuppieFuzz
84- if : steps.cache-cargo.outputs.cache-hit != 'true'
85- run : |
86- cd WuppieFuzz
87- cargo build --release
88- # Touch a file to indicate the build is complete
89- touch target/release/.build-complete
90-
91- # Verify build artifacts exist
92- - name : Verify WuppieFuzz Build
93- run : |
94- if [ ! -f "WuppieFuzz/target/release/wuppiefuzz" ]; then
95- echo "WuppieFuzz binary not found, building..."
96- cd WuppieFuzz
97- cargo build --release
98- else
99- echo "Using cached WuppieFuzz binary"
100- fi
56+ - name : Download and install WuppieFuzz
57+ run : curl --proto '=https' --tlsv1.2 -LsSf https://github.com/TNO-S3/WuppieFuzz/releases/download/v1.2.0/wuppiefuzz-installer.sh | sh
10158
10259 - name : Start VAmPI Container (Vulnerable Mode)
10360 run : |
@@ -114,18 +71,12 @@ jobs:
11471 path : WuppieFuzz/corpus_directory
11572 key : ${{ runner.os }}-corpus-${{ hashFiles('services/vampi/openapi_specs/openapi3.yml') }}
11673
117- - name : Generate Initial Corpus for Fuzzing
118- run : |
119- cd WuppieFuzz
120- ./target/release/wuppiefuzz output-corpus --openapi-spec ../services/vampi/openapi_specs/openapi3.yml corpus_directory
121-
12274 - name : Run WuppieFuzz Fuzzing Campaign
12375 run : |
12476 cd WuppieFuzz
125- ./target/release/ wuppiefuzz fuzz \
77+ wuppiefuzz fuzz \
12678 --report \
12779 --log-level info \
128- --initial-corpus corpus_directory \
12980 --timeout 60 \
13081 ../services/vampi/openapi_specs/openapi3.yml
13182
0 commit comments