fix: close strict gate lint drift #374
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
| # Blocking sustained fuzz checker for C07 L67 beyond PR fuzz-smoke. | |
| # Runs scripts/fuzz-cadence-check.ps1 + bounded cargo fuzz (30s / target). | |
| # Soft fuzz-cadence.yml remains continue-on-error nightly; this job gates merges. | |
| name: fuzz blocking | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| fuzz-blocking-selfcheck: | |
| name: fuzz blocking · SelfCheck | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: fuzz cadence SelfCheck | |
| shell: pwsh | |
| run: ./scripts/fuzz-cadence-check.ps1 -SelfCheck | |
| fuzz-blocking-sustained: | |
| name: fuzz blocking · sustained 30s | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| # 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 | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| with: | |
| key: fuzz-blocking-sustained | |
| - name: install cargo-fuzz | |
| uses: taiki-e/install-action@e28ac56891501ddb0600608470dbe94544964ed4 # cargo-fuzz | |
| with: | |
| tool: cargo-fuzz | |
| - name: blocking sustained fuzz OKF parse and roundtrip (30s) | |
| run: cargo +nightly fuzz run okf_roundtrip --sanitizer address --target x86_64-unknown-linux-gnu -- -max_total_time=30 | |
| - name: blocking sustained fuzz JSONL ingest parse (30s) | |
| run: cargo +nightly fuzz run jsonl_ingest --sanitizer address --target x86_64-unknown-linux-gnu -- -max_total_time=30 | |
| - name: upload fuzz crash artifacts | |
| if: failure() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: fuzz-blocking-crash-artifacts | |
| path: fuzz/artifacts/ | |
| if-no-files-found: ignore | |
| retention-days: 14 |