name: Fuzz on: workflow_dispatch: jobs: fuzz: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v1 - name: Set up Rust uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal default: true - name: Run prebuild steps shell: bash run: bash ./prebuild.sh - name: Build fuzz target working-directory: ./fuzz run: | cargo install afl cargo afl build - name: Run fuzz working-directory: ./fuzz run: | echo core | sudo tee /proc/sys/kernel/core_pattern # Hide verbose stdout (not stderr) logging. timeout 5h cargo afl fuzz -i in -o out target/debug/minify-html-fuzz-target > /dev/null || true find ./out/crashes -type f | wc -l - name: Set up Backblaze B2 CLI uses: wilsonzlin/setup-b2@v3 - name: Upload log and output files working-directory: ./fuzz run: | if [ -d ./out/crashes ]; then b2 authorize-account ${{ secrets.CICD_CLI_B2_KEY_ID }} ${{ secrets.CICD_CLI_B2_APPLICATION_KEY }} b2 sync --allowEmptySource ./out/crashes/ b2://${{ secrets.CICD_CLI_B2_BUCKET_NAME }}/minify-html/fuzz/$(git rev-parse --short HEAD)/crashes/ fi