limbo/.github/workflows/fuzz.yml

117 lines
3.2 KiB
YAML

name: Run long fuzz tests and stress test
on:
workflow_dispatch:
push:
branches:
- main
tags:
- v*
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
env:
CARGO_INCREMENTAL: "0"
CARGO_NET_RETRY: 10
jobs:
run-fuzz-tests:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust"
cache-on-failure: true
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Set up Python 3.10
uses: useblacksmith/setup-python@v6
with:
python-version: "3.10"
- name: Build
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
run: cargo build --verbose --locked --all-features
- name: Run fuzz tests
env:
RUST_BACKTRACE: 1
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
run: cargo nextest run --locked --no-fail-fast -E 'test(/^fuzz_tests::/)'
run-long-fuzz-tests:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust"
cache-on-failure: true
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Set up Python 3.10
uses: useblacksmith/setup-python@v6
with:
python-version: "3.10"
- name: Build
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
run: cargo build --verbose --locked --all-features
- name: Run ignored long fuzz tests
env:
RUST_BACKTRACE: 1
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
run: cargo nextest run --locked --no-fail-fast --run-ignored ignored-only -E 'test(/fuzz_long/)'
simple-stress-test:
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Setup mold linker
uses: rui314/setup-mold@v1
- uses: Swatinem/rust-cache@v2
with:
prefix-key: "v1-rust"
cache-on-failure: true
- name: Setup sccache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Set up Python 3.10
uses: useblacksmith/setup-python@v6
with:
python-version: "3.10"
- name: Build
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
run: cargo build --verbose --locked --all-features
- name: Run ignored long tests
env:
RUST_BACKTRACE: 1
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
run: cargo run -p turso_stress --locked -- -t 2 -i 10000 -s --tables 1