9 runs-on: ${{ matrix.os }}
14 os: [ubuntu-latest, macos-latest]
17 - uses: actions/checkout@v2
19 - name: Cache cargo installed crates
20 uses: actions/cache@v1.1.2
23 key: cargo-installed-crates2-${{ matrix.os }}
25 - name: Cache cargo registry
26 uses: actions/cache@v1
28 path: ~/.cargo/registry
29 key: ${{ runner.os }}-cargo-registry2-${{ hashFiles('**/Cargo.lock') }}
31 - name: Cache cargo index
32 uses: actions/cache@v1
35 key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
37 - name: Cache cargo target dir
38 uses: actions/cache@v1.1.2
41 key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain', '**/Cargo.lock') }}
43 - name: Prepare dependencies
45 git config --global user.email "user@example.com"
46 git config --global user.name "User"
49 # Compile is a separate step, as the actions-rs/cargo action supports error annotations
51 uses: actions-rs/cargo@v1.0.3
54 args: --release -- -Zrun_dsymutil=no
58 # Enable backtraces for easier debugging
59 export RUST_BACKTRACE=1
61 # Reduce amount of benchmark runs as they are slow