Fuzz #271
This file contains 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: | |
schedule: | |
- cron: '0 0 * * *' # daily | |
workflow_dispatch: | |
jobs: | |
io_fuzz: | |
name: 'IO Fuzz' | |
runs-on: | |
- runs-on=${{ github.run_id }} | |
- family=c7i.4xlarge | |
- image=ubuntu24-full-x64 | |
- disk=large | |
- tag=io-fuzz | |
- spot=false | |
steps: | |
- uses: runs-on/action@v1 | |
- uses: actions/checkout@v4 | |
- name: Install cargo fuzz | |
run: cargo install cargo-fuzz | |
- name: Restore corpus | |
shell: bash | |
run: | | |
aws s3 cp s3://vortex-fuzz-corpus/io_corpus.tar.zst . | |
tar -xf io_corpus.tar.zst | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.R2_FUZZ_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_FUZZ_SECRET_ACCESS_KEY }} | |
AWS_REGION: 'us-east-1' | |
AWS_ENDPOINT_URL: 'https://01e9655179bbec953276890b183039bc.r2.cloudflarestorage.com' | |
- name: Run fuzzing target | |
run: RUST_BACKTRACE=1 cargo fuzz run file_io -- -max_total_time=7200 | |
continue-on-error: true | |
- name: Archive crash artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: io-fuzzing-crash-artifacts | |
path: fuzz/artifacts | |
- name: Persist corpus | |
shell: bash | |
run: | | |
tar -acf io_corpus.tar.zst fuzz/corpus/file_io | |
aws s3api put-object --bucket vortex-fuzz-corpus --key "io_corpus.tar.zst" --body io_corpus.tar.zst --checksum-algorithm CRC32 | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.R2_FUZZ_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_FUZZ_SECRET_ACCESS_KEY }} | |
AWS_REGION: 'us-east-1' | |
AWS_ENDPOINT_URL: 'https://01e9655179bbec953276890b183039bc.r2.cloudflarestorage.com' | |
ops_fuzz: | |
name: 'Array Operations Fuzz' | |
runs-on: | |
- runs-on=${{ github.run_id }} | |
- family=c7i.4xlarge | |
- image=ubuntu24-full-x64 | |
- disk=large | |
- tag=ops-fuzz | |
- spot=false | |
steps: | |
- uses: runs-on/action@v1 | |
- uses: actions/checkout@v4 | |
- name: Install cargo fuzz | |
run: cargo install cargo-fuzz | |
- name: Restore corpus | |
shell: bash | |
run: | | |
aws s3 cp s3://vortex-fuzz-corpus/array_ops_corpus.tar.zst . | |
tar -xf array_ops_corpus.tar.zst | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.R2_FUZZ_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_FUZZ_SECRET_ACCESS_KEY }} | |
AWS_REGION: 'us-east-1' | |
AWS_ENDPOINT_URL: 'https://01e9655179bbec953276890b183039bc.r2.cloudflarestorage.com' | |
- name: Run fuzzing target | |
run: RUST_BACKTRACE=1 cargo fuzz run array_ops -- -max_total_time=7200 | |
continue-on-error: true | |
- name: Archive crash artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: operations-fuzzing-crash-artifacts | |
path: fuzz/artifacts | |
- name: Persist corpus | |
shell: bash | |
run: | | |
tar -acf array_ops_corpus.tar.zst fuzz/corpus/array_ops | |
aws s3api put-object --bucket vortex-fuzz-corpus --key "array_ops_corpus.tar.zst" --body array_ops_corpus.tar.zst --checksum-algorithm CRC32 | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.R2_FUZZ_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_FUZZ_SECRET_ACCESS_KEY }} | |
AWS_REGION: 'us-east-1' | |
AWS_ENDPOINT_URL: 'https://01e9655179bbec953276890b183039bc.r2.cloudflarestorage.com' |