1212 required : false
1313 type : number
1414 default : 7200
15+ family :
16+ description : " Runner family (e.g., m8g.large for CPU, g5+g4dn+g6 for GPU)"
17+ required : false
18+ type : string
19+ default : " m8g.large"
20+ image :
21+ description : " Runner image (e.g., ubuntu24-full-arm64, ubuntu24-gpu-x64)"
22+ required : false
23+ type : string
24+ default : " ubuntu24-full-arm64"
25+ extra_features :
26+ description : " Extra cargo features to enable (e.g., cuda)"
27+ required : false
28+ type : string
29+ default : " "
1530 outputs :
1631 crashes_found :
1732 description : " Whether crashes were found"
@@ -34,20 +49,15 @@ jobs:
3449 timeout-minutes : 230 # almost 4 hours
3550 runs-on :
3651 - runs-on=${{ github.run_id }}
37- - family=m8g.large
38- - image=ubuntu24-full-arm64
52+ - family=${{ inputs.family }}
53+ - image=${{ inputs.image }}
3954 - disk=large
4055 - extras=s3-cache
4156 - tag=${{ inputs.fuzz_target }}-fuzz
4257 outputs :
4358 crashes_found : ${{ steps.check.outputs.crashes_found }}
4459 first_crash_name : ${{ steps.check.outputs.first_crash_name }}
4560 artifact_url : ${{ steps.upload_artifacts.outputs.artifact-url }}
46- env :
47- AWS_ACCESS_KEY_ID : ${{ secrets.R2_FUZZ_ACCESS_KEY_ID }}
48- AWS_SECRET_ACCESS_KEY : ${{ secrets.R2_FUZZ_SECRET_ACCESS_KEY }}
49- AWS_REGION : " us-east-1"
50- AWS_ENDPOINT_URL : " https://01e9655179bbec953276890b183039bc.r2.cloudflarestorage.com"
5161 steps :
5262 - uses : runs-on/action@v2
5363 with :
7080
7181 - name : Restore corpus
7282 shell : bash
83+ env :
84+ AWS_ACCESS_KEY_ID : ${{ secrets.R2_FUZZ_ACCESS_KEY_ID }}
85+ AWS_SECRET_ACCESS_KEY : ${{ secrets.R2_FUZZ_SECRET_ACCESS_KEY }}
86+ AWS_REGION : " us-east-1"
87+ AWS_ENDPOINT_URL : " https://01e9655179bbec953276890b183039bc.r2.cloudflarestorage.com"
7388 run : |
7489 CORPUS_KEY="${{ inputs.fuzz_target }}_corpus.tar.zst"
7590 CORPUS_DIR="fuzz/corpus/${{ inputs.fuzz_target }}"
@@ -99,8 +114,13 @@ jobs:
99114 - name : Run fuzzing target
100115 id : fuzz
101116 run : |
117+ FEATURES_FLAG=""
118+ if [ -n "${{ inputs.extra_features }}" ]; then
119+ FEATURES_FLAG="--features ${{ inputs.extra_features }}"
120+ fi
102121 RUSTFLAGS="--cfg vortex_nightly" RUST_BACKTRACE=1 \
103122 cargo +nightly fuzz run --release --debug-assertions \
123+ $FEATURES_FLAG \
104124 ${{ inputs.fuzz_target }} -- \
105125 -max_total_time=${{ inputs.max_time }} -rss_limit_mb=0 \
106126 2>&1 | tee fuzz_output.log
@@ -149,6 +169,11 @@ jobs:
149169
150170 - name : Persist corpus
151171 shell : bash
172+ env :
173+ AWS_ACCESS_KEY_ID : ${{ secrets.R2_FUZZ_ACCESS_KEY_ID }}
174+ AWS_SECRET_ACCESS_KEY : ${{ secrets.R2_FUZZ_SECRET_ACCESS_KEY }}
175+ AWS_REGION : " us-east-1"
176+ AWS_ENDPOINT_URL : " https://01e9655179bbec953276890b183039bc.r2.cloudflarestorage.com"
152177 run : |
153178 CORPUS_KEY="${{ inputs.fuzz_target }}_corpus.tar.zst"
154179 CORPUS_DIR="fuzz/corpus/${{ inputs.fuzz_target }}"
0 commit comments