name: "𧬠Fuzz parsers"
run-name: "${{ github.event_name == 'schedule' && 'Ⱐ' || '' }}𧬠Fuzz parsers"
on:
schedule:
- cron: "0 4 * * 0"
workflow_dispatch:
concurrency:
group: fuzz-${{ github.repository }}
cancel-in-progress: true
permissions:
contents: read
jobs:
fuzz-yaml-bootstrap:
name: 𧬠Fuzz the bootstrap YAML reader
runs-on: ubuntu-26.04
timeout-minutes: 30
steps:
- name: β¬οΈ Checkout
uses: actions/checkout@v7.0.0
- name: π§ Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
cache: pip
cache-dependency-path: pyproject.toml
- name: π¦ Install project with the fuzz extra
env:
PYTHON: python3
run: bash scripts/install/python.sh fuzz
- name: 𧬠Compare load_block against yaml.safe_load
run: python3 tests/fuzz/_yaml_bootstrap.py -max_total_time=900
- name: π€ Upload crash inputs
if: failure()
uses: actions/upload-artifact@v7
with:
name: fuzz-crashes
path: crash-*
retention-days: 30