name: Generic Template Fuzzer (Weekly run) on: schedule: # Runs at 00:00 UTC every Sunday - cron: '0 0 * * 0' workflow_dispatch: jobs: generic-template-fuzzer: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable - name: Add target run: rustup target add wasm32-unknown-unknown - name: Add dependencies run: cargo install ziggy cargo-afl honggfuzz grcov - name: Build AFL config run: cargo afl config --build working-directory: generic-template/template-fuzzer - name: Run Ziggy Fuzzing run: | AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1 timeout 5h cargo ziggy fuzz -t 20 || true working-directory: generic-template/template-fuzzer - name: Generate Ziggy Fuzzing Coverage Result run: | CARGO_HOME=.cargo cargo ziggy cover working-directory: generic-template/template-fuzzer - name: Zip Artifacts run: zip artifacts.zip generic-template/template-fuzzer/output/* -r - name: Save Artifacts uses: actions/upload-artifact@v4 with: name: fuzzing-artifacts path: artifacts.zip