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