test(viewer): bundle_diff proptest surface (WBS-6.2 #434) #377
Workflow file for this run
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
| # Soft / nightly sustained fuzz cadence for C07 L67 beyond PR fuzz-smoke. | |
| # PR path: hermetic SelfCheck only (keeps default PR CI fast). | |
| # Schedule / dispatch: 120s per target + crash artifact upload on failure. | |
| # continue-on-error: soft gate; does not block merges. | |
| name: fuzz cadence | |
| on: | |
| schedule: | |
| - cron: "57 4 * * *" # nightly 04:57 UTC (offset from miri/loom soft jobs) | |
| workflow_dispatch: | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| fuzz-selfcheck: | |
| name: soft fuzz · SelfCheck | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: fuzz cadence SelfCheck | |
| shell: pwsh | |
| run: ./scripts/fuzz-cadence-check.ps1 -SelfCheck | |
| fuzz-sustained: | |
| name: soft fuzz · sustained 120s | |
| if: github.event_name != 'pull_request' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| continue-on-error: true | |
| # cargo-fuzz requires nightly. rust-toolchain.toml pins an exact rustc, so force | |
| # nightly via RUSTUP_TOOLCHAIN. Clear inherited RUSTFLAGS. Pin gnu host | |
| # target — cargo-fuzz otherwise may pick musl, which cannot use ASAN. | |
| env: | |
| RUSTFLAGS: "" | |
| RUSTUP_TOOLCHAIN: nightly | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # nightly for fuzz | |
| with: | |
| toolchain: nightly | |
| components: rust-src | |
| targets: x86_64-unknown-linux-gnu | |
| - name: install cargo-fuzz | |
| uses: taiki-e/install-action@e28ac56891501ddb0600608470dbe94544964ed4 # cargo-fuzz | |
| with: | |
| tool: cargo-fuzz | |
| - name: sustained fuzz OKF parse and roundtrip (120s) | |
| run: cargo +nightly fuzz run okf_roundtrip --sanitizer address --target x86_64-unknown-linux-gnu -- -max_total_time=120 | |
| - name: sustained fuzz JSONL ingest parse (120s) | |
| run: cargo +nightly fuzz run jsonl_ingest --sanitizer address --target x86_64-unknown-linux-gnu -- -max_total_time=120 | |
| - name: upload fuzz crash artifacts | |
| if: failure() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: fuzz-crash-artifacts | |
| path: fuzz/artifacts/ | |
| if-no-files-found: ignore | |
| retention-days: 14 |