name: Run tests
on:
pull_request:
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-18.04
steps:
- name: Checkout Git repository
uses: actions/checkout@master
- name: Cache cargo registry
uses: actions/cache@v1
with:
path: ~/.cargo/registry
key: ${{runner.os}}-cargo-registry-${{hashFiles('**/Cargo.lock')}}
- name: Cache cargo index
uses: actions/cache@v1
with:
path: ~/.cargo/git
key: ${{runner.os}}-cargo-index-${{hashFiles('**/Cargo.lock')}}
- name: Cache cargo build
uses: actions/cache@v1
with:
path: target
key: ${{runner.os}}-cargo-build-target-${{hashFiles('**/Cargo.lock')}}
- name: Check Rust formatting
run: cargo fmt -- --check
- name: Run Rust tests
run: cargo test --release