Repository navigation
feat(client)!: report why the client could not connect to the engine #107
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
| name: Fuzz | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| schedule: | |
| # Nightly at 03:17 UTC. Long runs on main grow the shared corpus. | |
| - cron: '17 3 * * *' | |
| workflow_dispatch: | |
| inputs: | |
| fuzztime: | |
| description: How long to fuzz each target (Go duration, e.g. 5m) | |
| default: 10m | |
| type: string | |
| permissions: | |
| contents: read | |
| jobs: | |
| fuzz: | |
| name: Fuzz | |
| runs-on: ubuntu-latest | |
| env: | |
| # Pull requests and pushes get a short smoke run. Nightly and manual | |
| # runs fuzz each target for longer. | |
| FUZZTIME: ${{ inputs.fuzztime || (github.event_name == 'schedule' && '10m') || '30s' }} | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 | |
| with: | |
| go-version-file: go.work | |
| # Go stores the corpus it generates under $GOCACHE/fuzz. Restoring the | |
| # most recent corpus lets every run build on the interesting inputs | |
| # that earlier runs found instead of restarting from the seeds. | |
| - name: Restore fuzz corpus | |
| id: corpus | |
| uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: ~/.cache/go-build/fuzz | |
| key: fuzz-corpus-${{ github.run_id }} | |
| restore-keys: fuzz-corpus- | |
| - name: Fuzz | |
| run: make fuzz FUZZTIME="$FUZZTIME" | |
| - name: Save fuzz corpus | |
| if: always() | |
| uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: ~/.cache/go-build/fuzz | |
| key: ${{ steps.corpus.outputs.cache-primary-key }} | |
| # A failing fuzz run writes the crashing input to | |
| # testdata/fuzz/<FuzzName>/<hash> next to the test. Keep it so the | |
| # failure can be reproduced locally and committed as a regression test. | |
| - name: Upload failing inputs | |
| if: failure() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: fuzz-failing-inputs | |
| path: | | |
| **/testdata/fuzz/** | |
| !vendor/** | |
| if-no-files-found: ignore |