name: CI
on:
push:
branches:
- master
pull_request:
schedule:
- cron: "0 12 * * *"
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Install LLVM 12
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 12
- uses: actions/checkout@v2
- name: Format
run: cargo fmt && git diff --exit-code
- name: Lint
run: |
rustup update
rustup component add clippy
cargo clippy -- -D warnings -D clippy::pedantic -D clippy::nursery -D clippy::expect_used -D clippy::unwrap_used -D clippy::panic
test:
runs-on: ubuntu-latest
steps:
- name: Install LLVM 12
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 12
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Unit tests
run: cargo test
- name: Integration tests
run: |
cargo build --release
cd tests
./run_tests.sh