name: Rust
on:
pull_request:
branches:
- master
jobs:
clippy_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: clippy
override: true
- run: rustup component add clippy
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features
default:
name: Cargo Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v1
- name: Cache target
uses: actions/cache@v1
env:
cache-name: cache-target
with:
path: target
key: ${{ runner.os }}-${{ env.cache-name }}
restore-keys: |
${{ runner.os }}-
- name: cargo test
run: |
rustup update --no-self-update
cargo test --release --no-default-features --features=testing -- --nocapture
examples:
name: Example Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Cache target
uses: actions/cache@v1
env:
cache-name: cache-target
with:
path: target
key: ${{ runner.os }}-${{ env.cache-name }}
restore-keys: |
${{ runner.os }}-
- name: example tests
run: |
rustup update --no-self-update
cargo run --example playground
cargo run --example structured
cross-compile:
name: Cross Compile
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- name: cross compile
run: |
set -eo pipefail
echo "cross build"
echo "https://github.com/rust-lang/cargo/issues/4753"
scripts/cross_compile.sh
burn-in:
name: Burn In
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Cache target
uses: actions/cache@v1
env:
cache-name: cache-target
with:
path: target
key: ${{ runner.os }}-${{ env.cache-name }}
restore-keys: |
${{ runner.os }}-
- name: burn in
run: |
set -eo pipefail
pushd benchmarks/stress2
cargo run --release -- --duration=60
rm -rf default.sled
sanitizers:
name: Sanitizers
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Cache rustup
uses: actions/cache@v1
env:
cache-name: cache-target
with:
path: ~/.rustup
key: ${{ runner.os }}-${{ env.cache-name }}
restore-keys: |
${{ runner.os }}-
- name: sanitizers
run: |
set -eo pipefail
scripts/sanitizers.sh