chore(renovate): automerge lock-file maintenance #15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Fuzz | |
| # The diffuser transforms attacker-controllable sector bytes. The libfuzzer | |
| # target's invariant is "must not panic" over arbitrary length and content. | |
| # Push/PR runs a short smoke pass; the scheduled job fuzzes for 10 minutes. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| schedule: | |
| - cron: "0 4 * * 1" # Mondays 04:00 UTC | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| fuzz: | |
| name: Fuzz ${{ matrix.target }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: [fuzz_decrypt] | |
| defaults: | |
| run: | |
| working-directory: fuzz | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # nightly | |
| with: | |
| toolchain: nightly | |
| components: rust-src | |
| - run: cargo install cargo-fuzz | |
| # Short smoke on push/PR; deep run on schedule/dispatch. | |
| - name: Set duration | |
| id: dur | |
| run: | | |
| if [ "${{ github.event_name }}" = "schedule" ] || [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| echo "secs=600" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "secs=45" >> "$GITHUB_OUTPUT" | |
| fi | |
| - name: Fuzz ${{ matrix.target }} | |
| run: cargo +nightly fuzz run "${{ matrix.target }}" -- -max_total_time=${{ steps.dur.outputs.secs }} -rss_limit_mb=4096 | |
| - name: Upload crash artifacts | |
| if: failure() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: fuzz-crash-${{ matrix.target }} | |
| path: fuzz/artifacts/ | |
| if-no-files-found: ignore |