Skip to content

feat(bolero-generator): add DynDriver trait (#257) #552

feat(bolero-generator): add DynDriver trait (#257)

feat(bolero-generator): add DynDriver trait (#257) #552

Workflow file for this run

on:
push:
branches:
- master
pull_request:
branches:
- master
name: ci
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Ubuntu Dependencies
run: |
sudo apt-get update
sudo apt-get install binutils-dev libunwind-dev
- uses: actions-rs/toolchain@v1.0.7
id: toolchain
with:
toolchain: stable
profile: minimal
override: true
components: rustfmt, clippy
- uses: actions/checkout@v4.2.2
- name: Override bin
working-directory: bin
run: rustup override set stable
- name: Override lib
working-directory: lib
run: rustup override set stable
- name: Format xtask
run: cargo fmt --all -- --check
- name: Format bin
working-directory: bin
run: cargo fmt --all -- --check
- name: Format lib
working-directory: lib
run: cargo fmt --all -- --check
- name: Clippy xtask
run: cargo clippy -- -D warnings
- name: Clippy bin
working-directory: bin
run: cargo clippy -- -D warnings
- name: Clippy lib
working-directory: lib
run: cargo clippy -- -D warnings
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
rust: ['1.66.0', stable, nightly]
os: [ubuntu-latest, macOS-latest]
steps:
- name: Ubuntu setup
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install binutils-dev libunwind-dev
echo 'core' | sudo tee /proc/sys/kernel/core_pattern
- name: macOS setup
if: matrix.os == 'macOS-latest'
run: |
export SL=/System/Library
export PL=com.apple.ReportCrash
launchctl unload -w ${SL}/LaunchAgents/${PL}.plist
sudo launchctl unload -w ${SL}/LaunchDaemons/${PL}.Root.plist
- uses: actions/checkout@v4.2.2
# install stable for kani, cargo-bolero and test runner
- uses: actions-rs/toolchain@v1.0.7
with:
toolchain: stable
profile: minimal
- name: Install kani
run: |
cargo install --locked kani-verifier
cargo kani setup
- uses: actions-rs/toolchain@v1.0.7
with:
toolchain: ${{ matrix.rust }}
profile: minimal
- uses: camshaft/rust-cache@v1
with:
# kani isn't compatible with sccache
wrapper: false
- name: Run tests
run: cargo +stable run
env:
BOLERO_RUSTUP_TOOLCHAIN: "${{ matrix.rust }}"
kani:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- uses: actions-rs/toolchain@v1.0.7
id: toolchain
with:
toolchain: stable
profile: minimal
override: true
- name: Kani run
uses: model-checking/kani-github-action@v1.1
with:
working-directory: examples/basic
args: --tests
# run integration tests with our main consumers
integration:
runs-on: ubuntu-latest
strategy:
matrix:
repo: ["aws/s2n-quic"]
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.2.2
with:
repository: ${{ matrix.repo }}
path: "target/integration/${{ matrix.repo }}"
- uses: actions-rs/toolchain@v1.0.7
id: toolchain
with:
toolchain: stable
profile: minimal
override: true
- name: Add patch
working-directory: target/integration/${{ matrix.repo }}
# TODO move this into a script: https://github.com/camshaft/bolero/issues/132
run: |
cat <<EOF >> Cargo.toml
[patch.crates-io]
bolero = { path = "../../../../lib/bolero" }
bolero-engine = { path = "../../../../lib/bolero-engine" }
bolero-generator = { path = "../../../../lib/bolero-generator" }
bolero-generator-derive = { path = "../../../../lib/bolero-generator-derive" }
EOF
- uses: camshaft/rust-cache@v1
with:
key: ${{ matrix.repo }}
- name: Build
working-directory: target/integration/${{ matrix.repo }}
run: cargo build --tests
- name: Tests
working-directory: target/integration/${{ matrix.repo }}
run: cargo test