Skip to content

Nightly Fuzz

Nightly Fuzz #97

Workflow file for this run

# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
# See also: https://github.com/marketplace/actions/bazel-action
name: Nightly Fuzz
on:
schedule:
# Nightly at midnight -- uses UTC, so 7am.
- cron: '0 7 * * *'
# This lets us trigger manually from the UI.
workflow_dispatch:
jobs:
build:
name: Nightly Fuzz
runs-on:
labels: ubuntu-20.04-64core
steps:
- uses: actions/checkout@v2
- name: Mount Bazel Cache
uses: actions/cache@v3
with:
path: "~/.cache/bazel"
# Create/use a cache called bazel-cache-20_04-<commit hash>
# and read the latest cache with prefix bazel-cache-20_04-
# if it doesn't already exist.
key: bazel-cache-20_04-${{ github.sha }}
restore-keys: bazel-cache-20_04-
- name: Install bazelisk
run: |
curl -LO "https://github.com/bazelbuild/bazelisk/releases/download/v1.1.0/bazelisk-linux-amd64"
mkdir -p "${GITHUB_WORKSPACE}/bin/"
mv bazelisk-linux-amd64 "${GITHUB_WORKSPACE}/bin/bazel"
chmod +x "${GITHUB_WORKSPACE}/bin/bazel"
- name: Install dependencies via apt
run: sudo apt-get install python3-dev python3-distutils python3-dev python-is-python3 libtinfo5
- name: Bazel Build Fuzz Driver (opt)
run: |
"${GITHUB_WORKSPACE}/bin/bazel" build -c opt xls/fuzzer:run_fuzz_multiprocess
- name: Bazel Run Fuzz (opt)
run: |
"${GITHUB_WORKSPACE}/bin/bazel" run -c opt xls/fuzzer:run_fuzz_multiprocess -- --crash_path "${GITHUB_WORKSPACE}/crashers" --sample_count=2048 --summary_path "${GITHUB_WORKSPACE}/crashers"
- name: Upload Fuzz Crashers
uses: actions/upload-artifact@v2
with:
name: crashers
path: "${GITHUB_WORKSPACE}/crashers"