fix(ci): use full URL for ClusterFuzzLite storage-repo - #101
Conversation
The storage-repo input passed `${{ github.repository }}` directly, which
resolves to the path-style string `Layr-Labs/eigenx-kms-go`. The action
internally calls `git clone <storage-repo> .`, which interprets a bare
path as a local directory and fails with `repository does not exist`.
This was causing the push-fuzzing job to fail at the "Run fuzzers" step
on every push to master (and the same code path is hit by batch-fuzzing
on schedule + the prune job).
Fix per the official ClusterFuzzLite docs: pass a full HTTPS URL with
the GITHUB_TOKEN embedded for write authentication. Applied to all three
jobs that use storage-repo (push-fuzzing, batch-fuzzing, prune).
|
Claude finished @mpjunior92's task in 59s —— View job Code Review
SummaryThis is a minimal, well-targeted fix that correctly addresses the root cause: Correctness ✅The fix matches the official ClusterFuzzLite docs exactly. All three jobs that use
The Security: Token in URL
|
Summary
ClusterFuzzLite's
push-fuzzing,batch-fuzzing, andprunejobs all passstorage-repo: \${{ github.repository }}directly to therun_fuzzersaction. That expression resolves to the path-style string `Layr-Labs/eigenx-kms-go`. Internally the action runsgit clone <storage-repo> ., which interprets a bare path as a local directory and bails with:```
fatal: repository 'Layr-Labs/eigenx-kms-go' does not exist
```
This causes the `push-fuzzing` job to fail at the "Run fuzzers" step on every push to master (example failing run). The same code path is hit by `batch-fuzzing` (scheduled daily) and the manual `prune` job.
Fix
Per the official ClusterFuzzLite docs, `storage-repo` must be a full HTTPS URL with an auth token:
```yaml
storage-repo: https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
```
Applied to all three jobs that use it.
Notes
Test plan
The fix is mechanical (copy from the official docs), but verification can only happen in CI: