Skip to content

ci: fix msrv runs

ci: fix msrv runs #380

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@v3.5.3
- name: Format
uses: actions-rs/cargo@v1.0.3
with:
command: fmt
args: --all -- --check
- name: Clippy
uses: actions-rs/cargo@v1.0.3
with:
command: clippy
args: -- -D warnings
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
rust: [1.57.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@v3.5.3
# 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: Setup target rustc
if: matrix.rust != 'stable' && matrix.rust != 'nightly'
run: echo "TARGET_RUSTC=${{ matrix.rust }}" >> $GITHUB_ENV
- name: Run tests
run: cargo +stable run
kani:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.3
- 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@v0.36
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@v3.5.3
- uses: actions/checkout@v3.5.3
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